.include "macros.inc"

.section .text, "ax"

.global CalculateBaseline__13CFontImageDefFv
CalculateBaseline__13CFontImageDefFv:
/* 8035943C 0035639C  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 80359440 003563A0  7C 08 02 A6 */	mflr r0
/* 80359444 003563A4  90 01 00 44 */	stw r0, 0x44(r1)
/* 80359448 003563A8  93 E1 00 3C */	stw r31, 0x3c(r1)
/* 8035944C 003563AC  7C 7F 1B 78 */	mr r31, r3
/* 80359450 003563B0  38 61 00 08 */	addi r3, r1, 8
/* 80359454 003563B4  80 9F 00 10 */	lwz r4, 0x10(r31)
/* 80359458 003563B8  4B FE 7A 51 */	bl __ct__6CTokenFRC6CToken
/* 8035945C 003563BC  38 61 00 08 */	addi r3, r1, 8
/* 80359460 003563C0  4B FE 79 AD */	bl GetObj__6CTokenFv
/* 80359464 003563C4  80 83 00 04 */	lwz r4, 4(r3)
/* 80359468 003563C8  3C 00 43 30 */	lis r0, 0x4330
/* 8035946C 003563CC  90 01 00 10 */	stw r0, 0x10(r1)
/* 80359470 003563D0  38 61 00 08 */	addi r3, r1, 8
/* 80359474 003563D4  A8 04 00 06 */	lha r0, 6(r4)
/* 80359478 003563D8  38 80 00 00 */	li r4, 0
/* 8035947C 003563DC  C8 42 CC E8 */	lfd f2, lbl_805AEA08@sda21(r2)
/* 80359480 003563E0  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 80359484 003563E4  C0 1F 00 18 */	lfs f0, 0x18(r31)
/* 80359488 003563E8  90 01 00 14 */	stw r0, 0x14(r1)
/* 8035948C 003563EC  C8 21 00 10 */	lfd f1, 0x10(r1)
/* 80359490 003563F0  EC 21 10 28 */	fsubs f1, f1, f2
/* 80359494 003563F4  EC 01 00 32 */	fmuls f0, f1, f0
/* 80359498 003563F8  FC 00 00 1E */	fctiwz f0, f0
/* 8035949C 003563FC  D8 01 00 18 */	stfd f0, 0x18(r1)
/* 803594A0 00356400  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 803594A4 00356404  4B FE 79 9D */	bl __dt__6CTokenFv
/* 803594A8 00356408  6F E3 80 00 */	xoris r3, r31, 0x8000
/* 803594AC 0035640C  3C 00 43 30 */	lis r0, 0x4330
/* 803594B0 00356410  90 61 00 24 */	stw r3, 0x24(r1)
/* 803594B4 00356414  C8 42 CC E8 */	lfd f2, lbl_805AEA08@sda21(r2)
/* 803594B8 00356418  90 01 00 20 */	stw r0, 0x20(r1)
/* 803594BC 0035641C  C0 62 CC E0 */	lfs f3, lbl_805AEA00@sda21(r2)
/* 803594C0 00356420  C8 21 00 20 */	lfd f1, 0x20(r1)
/* 803594C4 00356424  C0 02 CC E4 */	lfs f0, lbl_805AEA04@sda21(r2)
/* 803594C8 00356428  EC 21 10 28 */	fsubs f1, f1, f2
/* 803594CC 0035642C  EC 23 00 72 */	fmuls f1, f3, f1
/* 803594D0 00356430  EC 01 00 24 */	fdivs f0, f1, f0
/* 803594D4 00356434  FC 00 00 1E */	fctiwz f0, f0
/* 803594D8 00356438  D8 01 00 28 */	stfd f0, 0x28(r1)
/* 803594DC 0035643C  80 61 00 2C */	lwz r3, 0x2c(r1)
/* 803594E0 00356440  83 E1 00 3C */	lwz r31, 0x3c(r1)
/* 803594E4 00356444  80 01 00 44 */	lwz r0, 0x44(r1)
/* 803594E8 00356448  7C 08 03 A6 */	mtlr r0
/* 803594EC 0035644C  38 21 00 40 */	addi r1, r1, 0x40
/* 803594F0 00356450  4E 80 00 20 */	blr

.global IsLoaded__13CFontImageDefCFv
IsLoaded__13CFontImageDefCFv:
/* 803594F4 00356454  80 03 00 08 */	lwz r0, 8(r3)
/* 803594F8 00356458  38 A0 00 00 */	li r5, 0
/* 803594FC 0035645C  7C 09 03 A6 */	mtctr r0
/* 80359500 00356460  2C 00 00 00 */	cmpwi r0, 0
/* 80359504 00356464  40 81 00 28 */	ble lbl_8035952C
lbl_80359508:
/* 80359508 00356468  80 83 00 10 */	lwz r4, 0x10(r3)
/* 8035950C 0035646C  7C 84 28 2E */	lwzx r4, r4, r5
/* 80359510 00356470  80 04 00 10 */	lwz r0, 0x10(r4)
/* 80359514 00356474  28 00 00 00 */	cmplwi r0, 0
/* 80359518 00356478  40 82 00 0C */	bne lbl_80359524
/* 8035951C 0035647C  38 60 00 00 */	li r3, 0
/* 80359520 00356480  4E 80 00 20 */	blr
lbl_80359524:
/* 80359524 00356484  38 A5 00 08 */	addi r5, r5, 8
/* 80359528 00356488  42 00 FF E0 */	bdnz lbl_80359508
lbl_8035952C:
/* 8035952C 0035648C  38 60 00 01 */	li r3, 1
/* 80359530 00356490  4E 80 00 20 */	blr

.global "__ct__13CFontImageDefFRCQ24rstl54vector<17TToken<8CTexture>,Q24rstl17rmemory_allocator>fRC9CVector2f"
"__ct__13CFontImageDefFRCQ24rstl54vector<17TToken<8CTexture>,Q24rstl17rmemory_allocator>fRC9CVector2f":
/* 80359534 00356494  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80359538 00356498  7C 08 02 A6 */	mflr r0
/* 8035953C 0035649C  90 01 00 24 */	stw r0, 0x24(r1)
/* 80359540 003564A0  BF 41 00 08 */	stmw r26, 8(r1)
/* 80359544 003564A4  7C 7F 1B 78 */	mr r31, r3
/* 80359548 003564A8  7C 9C 23 78 */	mr r28, r4
/* 8035954C 003564AC  7C BA 2B 78 */	mr r26, r5
/* 80359550 003564B0  D0 23 00 00 */	stfs f1, 0(r3)
/* 80359554 003564B4  80 04 00 04 */	lwz r0, 4(r4)
/* 80359558 003564B8  90 03 00 08 */	stw r0, 8(r3)
/* 8035955C 003564BC  80 04 00 08 */	lwz r0, 8(r4)
/* 80359560 003564C0  90 03 00 0C */	stw r0, 0xc(r3)
/* 80359564 003564C4  80 04 00 04 */	lwz r0, 4(r4)
/* 80359568 003564C8  2C 00 00 00 */	cmpwi r0, 0
/* 8035956C 003564CC  40 82 00 1C */	bne lbl_80359588
/* 80359570 003564D0  80 1C 00 08 */	lwz r0, 8(r28)
/* 80359574 003564D4  2C 00 00 00 */	cmpwi r0, 0
/* 80359578 003564D8  40 82 00 10 */	bne lbl_80359588
/* 8035957C 003564DC  38 00 00 00 */	li r0, 0
/* 80359580 003564E0  90 1F 00 10 */	stw r0, 0x10(r31)
/* 80359584 003564E4  48 00 00 6C */	b lbl_803595F0
lbl_80359588:
/* 80359588 003564E8  80 1F 00 0C */	lwz r0, 0xc(r31)
/* 8035958C 003564EC  54 03 18 39 */	rlwinm. r3, r0, 3, 0, 0x1c
/* 80359590 003564F0  40 82 00 10 */	bne lbl_803595A0
/* 80359594 003564F4  38 00 00 00 */	li r0, 0
/* 80359598 003564F8  90 1F 00 10 */	stw r0, 0x10(r31)
/* 8035959C 003564FC  48 00 00 18 */	b lbl_803595B4
lbl_803595A0:
/* 803595A0 00356500  3C 80 80 3E */	lis r4, lbl_803D8348@ha
/* 803595A4 00356504  38 A0 00 00 */	li r5, 0
/* 803595A8 00356508  38 84 83 48 */	addi r4, r4, lbl_803D8348@l
/* 803595AC 0035650C  4B FB C2 6D */	bl __nwa__FUlPCcPCc
/* 803595B0 00356510  90 7F 00 10 */	stw r3, 0x10(r31)
lbl_803595B4:
/* 803595B4 00356514  83 7F 00 08 */	lwz r27, 8(r31)
/* 803595B8 00356518  3B C0 00 00 */	li r30, 0
/* 803595BC 0035651C  83 9C 00 0C */	lwz r28, 0xc(r28)
/* 803595C0 00356520  83 BF 00 10 */	lwz r29, 0x10(r31)
/* 803595C4 00356524  48 00 00 24 */	b lbl_803595E8
lbl_803595C8:
/* 803595C8 00356528  28 1D 00 00 */	cmplwi r29, 0
/* 803595CC 0035652C  41 82 00 10 */	beq lbl_803595DC
/* 803595D0 00356530  7F A3 EB 78 */	mr r3, r29
/* 803595D4 00356534  7F 84 E3 78 */	mr r4, r28
/* 803595D8 00356538  4B FE 78 D1 */	bl __ct__6CTokenFRC6CToken
lbl_803595DC:
/* 803595DC 0035653C  3B BD 00 08 */	addi r29, r29, 8
/* 803595E0 00356540  3B DE 00 01 */	addi r30, r30, 1
/* 803595E4 00356544  3B 9C 00 08 */	addi r28, r28, 8
lbl_803595E8:
/* 803595E8 00356548  7C 1E D8 00 */	cmpw r30, r27
/* 803595EC 0035654C  41 80 FF DC */	blt lbl_803595C8
lbl_803595F0:
/* 803595F0 00356550  C0 1A 00 00 */	lfs f0, 0(r26)
/* 803595F4 00356554  D0 1F 00 14 */	stfs f0, 0x14(r31)
/* 803595F8 00356558  C0 1A 00 04 */	lfs f0, 4(r26)
/* 803595FC 0035655C  D0 1F 00 18 */	stfs f0, 0x18(r31)
/* 80359600 00356560  83 7F 00 10 */	lwz r27, 0x10(r31)
/* 80359604 00356564  48 00 00 10 */	b lbl_80359614
lbl_80359608:
/* 80359608 00356568  7F 63 DB 78 */	mr r3, r27
/* 8035960C 0035656C  4B FE 77 79 */	bl Lock__6CTokenFv
/* 80359610 00356570  3B 7B 00 08 */	addi r27, r27, 8
lbl_80359614:
/* 80359614 00356574  80 1F 00 08 */	lwz r0, 8(r31)
/* 80359618 00356578  80 7F 00 10 */	lwz r3, 0x10(r31)
/* 8035961C 0035657C  54 00 18 38 */	slwi r0, r0, 3
/* 80359620 00356580  7C 03 02 14 */	add r0, r3, r0
/* 80359624 00356584  7C 1B 00 40 */	cmplw r27, r0
/* 80359628 00356588  40 82 FF E0 */	bne lbl_80359608
/* 8035962C 0035658C  7F E3 FB 78 */	mr r3, r31
/* 80359630 00356590  BB 41 00 08 */	lmw r26, 8(r1)
/* 80359634 00356594  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80359638 00356598  7C 08 03 A6 */	mtlr r0
/* 8035963C 0035659C  38 21 00 20 */	addi r1, r1, 0x20
/* 80359640 003565A0  4E 80 00 20 */	blr

.global "__ct__13CFontImageDefFRC17TToken<8CTexture>RC9CVector2f"
"__ct__13CFontImageDefFRC17TToken<8CTexture>RC9CVector2f":
/* 80359644 003565A4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80359648 003565A8  7C 08 02 A6 */	mflr r0
/* 8035964C 003565AC  C0 02 CC F0 */	lfs f0, lbl_805AEA10@sda21(r2)
/* 80359650 003565B0  90 01 00 24 */	stw r0, 0x24(r1)
/* 80359654 003565B4  38 00 00 01 */	li r0, 1
/* 80359658 003565B8  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8035965C 003565BC  7C BF 2B 78 */	mr r31, r5
/* 80359660 003565C0  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80359664 003565C4  7C 9E 23 78 */	mr r30, r4
/* 80359668 003565C8  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8035966C 003565CC  7C 7D 1B 78 */	mr r29, r3
/* 80359670 003565D0  D0 03 00 00 */	stfs f0, 0(r3)
/* 80359674 003565D4  90 03 00 08 */	stw r0, 8(r3)
/* 80359678 003565D8  90 03 00 0C */	stw r0, 0xc(r3)
/* 8035967C 003565DC  80 03 00 08 */	lwz r0, 8(r3)
/* 80359680 003565E0  54 03 18 39 */	rlwinm. r3, r0, 3, 0, 0x1c
/* 80359684 003565E4  40 82 00 10 */	bne lbl_80359694
/* 80359688 003565E8  38 00 00 00 */	li r0, 0
/* 8035968C 003565EC  90 1D 00 10 */	stw r0, 0x10(r29)
/* 80359690 003565F0  48 00 00 18 */	b lbl_803596A8
lbl_80359694:
/* 80359694 003565F4  3C 80 80 3E */	lis r4, lbl_803D8348@ha
/* 80359698 003565F8  38 A0 00 00 */	li r5, 0
/* 8035969C 003565FC  38 84 83 48 */	addi r4, r4, lbl_803D8348@l
/* 803596A0 00356600  4B FB C1 79 */	bl __nwa__FUlPCcPCc
/* 803596A4 00356604  90 7D 00 10 */	stw r3, 0x10(r29)
lbl_803596A8:
/* 803596A8 00356608  80 7D 00 10 */	lwz r3, 0x10(r29)
/* 803596AC 0035660C  28 03 00 00 */	cmplwi r3, 0
/* 803596B0 00356610  41 82 00 0C */	beq lbl_803596BC
/* 803596B4 00356614  7F C4 F3 78 */	mr r4, r30
/* 803596B8 00356618  4B FE 77 F1 */	bl __ct__6CTokenFRC6CToken
lbl_803596BC:
/* 803596BC 0035661C  C0 1F 00 00 */	lfs f0, 0(r31)
/* 803596C0 00356620  D0 1D 00 14 */	stfs f0, 0x14(r29)
/* 803596C4 00356624  C0 1F 00 04 */	lfs f0, 4(r31)
/* 803596C8 00356628  D0 1D 00 18 */	stfs f0, 0x18(r29)
/* 803596CC 0035662C  83 FD 00 10 */	lwz r31, 0x10(r29)
/* 803596D0 00356630  48 00 00 10 */	b lbl_803596E0
lbl_803596D4:
/* 803596D4 00356634  7F E3 FB 78 */	mr r3, r31
/* 803596D8 00356638  4B FE 76 AD */	bl Lock__6CTokenFv
/* 803596DC 0035663C  3B FF 00 08 */	addi r31, r31, 8
lbl_803596E0:
/* 803596E0 00356640  80 1D 00 08 */	lwz r0, 8(r29)
/* 803596E4 00356644  80 7D 00 10 */	lwz r3, 0x10(r29)
/* 803596E8 00356648  54 00 18 38 */	slwi r0, r0, 3
/* 803596EC 0035664C  7C 03 02 14 */	add r0, r3, r0
/* 803596F0 00356650  7C 1F 00 40 */	cmplw r31, r0
/* 803596F4 00356654  40 82 FF E0 */	bne lbl_803596D4
/* 803596F8 00356658  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803596FC 0035665C  7F A3 EB 78 */	mr r3, r29
/* 80359700 00356660  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80359704 00356664  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80359708 00356668  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 8035970C 0035666C  7C 08 03 A6 */	mtlr r0
/* 80359710 00356670  38 21 00 20 */	addi r1, r1, 0x20
/* 80359714 00356674  4E 80 00 20 */	blr

.section .sdata2, "a"
.balign 8
.global lbl_805AEA00
lbl_805AEA00:
	# ROM: 0x3FB2A0
	.float 2.5

.global lbl_805AEA04
lbl_805AEA04:
	# ROM: 0x3FB2A4
	.4byte 0x40400000

.global lbl_805AEA08
lbl_805AEA08:
	# ROM: 0x3FB2A8
	.double 4.503601774854144E15

.global lbl_805AEA10
lbl_805AEA10:
	# ROM: 0x3FB2B0
	.4byte 0
	.4byte 0


.section .rodata
.balign 8
.global lbl_803D8348
lbl_803D8348:
	# ROM: 0x3D5348
	.asciz "??(??)"
	.balign 4