Function at 0x4a6230
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c3b7a
mov eax, dword fs:[0]
push eax
sub esp, 0x450
mov eax, dword [0x6287a8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x414], edi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x424], esi
mov byte [ebp - 0x45c], 0x13
mov byte [ebp - 0x44c], 0x2c
movsx eax, byte [esi]
add eax, 0xfffffffb
cmp eax, 0x51
ja case.0x4a6292.8
movzx eax, byte [eax + 0x4aa774]
jmp dword [eax*4 + 0x4aa6dc]
mov ecx, dword [edi + 0x18]
xor eax, eax
mov dword [ebp - 0x41c], eax
call fcn.0044e020
mov ecx, eax
xorps xmm0, xmm0
mov dword [ebp - 0x414], ecx
movss dword [ebp - 0x420], xmm0
test ecx, ecx
je 0x4a65f2
nop dword [eax]
nop dword [eax + eax]
mov edx, dword [ecx + 0x178]
cmp edx, 0xffffffff
jle 0x4a65ce
mov eax, dword [edi + 8]
cmp edx, dword [eax + 0x178]
jne 0x4a6322
cmp dword [eax + 0x338], 0
je 0x4a6306
cmp byte [eax + 0x340], 0
jne 0x4a6306
mov dword [edi + 0x290], 1
cmp dword [eax + 0x408], 0
je 0x4a6322
cmp byte [eax + 0x410], 0
jne 0x4a6322
mov dword [edi + 0x290], 1
mov eax, dword [ecx + 0x178]
cmp eax, dword [esi + 1]
jne 0x4a65ce
cmp dword [ecx + 0x16c], 0xffffffff
push ecx
je 0x4a637e
push dword [ecx + 0x170]
mov ecx, dword [edi + 4]
call fcn.004f4250
mov dword [ebp - 0x418], eax
mov dword [eax + 0x120], 0x3e851eb8
mov eax, dword [ebp - 0x414]
mov ecx, dword [edi + 0x154]
push dword [eax + 0x16c]
push dword [eax + 0x168]
push dword [eax + 0x164]
call fcn.004fb910
jmp 0x4a63ac
mov ecx, dword [edi + 4]
call fcn.004f4270
mov ecx, dword [ebp - 0x414]
push ecx
push eax
mov dword [ecx + 0x170], eax
mov ecx, dword [edi + 4]
call fcn.004f4250
mov dword [ebp - 0x418], eax
mov dword [eax + 0x120], 0x3e851eb8
mov edx, dword [ebp - 0x414]
movzx ecx, byte [esi + 5]
push 0
mov dword [edx + 0x164], ecx
movzx eax, byte [esi + 6]
push eax
mov dword [edx + 0x168], eax
push ecx
mov ecx, dword [edi + 0x154]
call fcn.004fa6f0
mov ecx, eax
mov eax, dword [ebp - 0x414]
mov dword [ebp - 0x41c], ecx
mov edx, dword [eax + 0x164]
cmp ecx, 0xffffffff
jne 0x4a645e
mov ecx, dword [edi + 0x154]
push edx
call fcn.004faef0
mov eax, dword [ebp - 0x414]
push dword [eax + 0x168]
fstp dword [eax + 0x114]
mov ecx, dword [edi + 0x154]
call fcn.004fb000
mov edx, dword [ebp - 0x414]
mov eax, dword [ebp - 0x418]
movss xmm0, dword [edx + 0x114]
fstp dword [edx + 0x11c]
movss dword [eax + 0x110], xmm0
movss dword [eax + 0x108], xmm0
movss xmm0, dword [edx + 0x11c]
movss dword [eax + 0x114], xmm0
movss dword [eax + 0x10c], xmm0
jmp 0x4a6517
push 1
push ecx
push dword [eax + 0x168]
mov ecx, dword [edi + 0x154]
push edx
call fcn.004f7c40
mov ecx, dword [edi + 0x154]
lea eax, [ebp - 0x440]
push eax
lea eax, [ebp - 0x43c]
push eax
lea eax, [ebp - 0x438]
push eax
push dword [ebp - 0x41c]
call fcn.004fa7f0
mov eax, dword [ebp - 0x414]
mov ecx, dword [ebp - 0x41c]
push dword [eax + 0x164]
mov dword [eax + 0x16c], ecx
mov ecx, dword [edi + 0x154]
call fcn.004faef0
fadd dword [ebp - 0x438]
mov eax, dword [ebp - 0x418]
mov edx, dword [ebp - 0x414]
fstp dword [eax + 0x110]
push dword [edx + 0x168]
mov ecx, dword [edi + 0x154]
call fcn.004fb000
fadd dword [ebp - 0x43c]
mov eax, dword [ebp - 0x418]
mov edx, dword [ebp - 0x414]
fstp dword [eax + 0x114]
movss xmm0, dword [ebp - 0x440]
movss dword [eax + 0x118], xmm0
mov dword [eax + 0x138], 0
mov eax, dword [edx + 0x178]
mov dword [ebp - 0x41c], 1
cmp eax, dword [edi + 0x204]
jne 0x4a65bc
cmp dword [0x62ba74], 0
jne 0x4a6545
cmp dword [edi + 0x20c], 0xffffffff
jne 0x4a65bc
mov ecx, dword [edi + 0x154]
movq xmm0, qword [edx + 0x114]
movq qword [ecx + 0x188], xmm0
mov eax, dword [edx + 0x11c]
mov dword [ecx + 0x190], eax
mov eax, dword [edi + 0x154]
mov dword [eax + 0x194], 0
push dword [edx + 0x168]
mov ecx, dword [edi + 0x154]
push dword [edx + 0x164]
call fcn.004f8500
mov eax, dword [ebp - 0x414]
mov ecx, edi
push dword [eax + 0x168]
push dword [eax + 0x164]
call fcn.004aa810
mov edx, dword [ebp - 0x414]
mov ecx, dword [edi + 0x18]
push edx
call fcn.0044dfd0
mov edx, dword [ebp - 0x414]
cmp byte [esi], 0x34
jne 0x4a65ce
movzx eax, word [esi + 7]
mov ecx, edi
push eax
push edx
call fcn.004aa9a0
mov ecx, dword [edi + 0x18]
call fcn.0044e0d0
mov ecx, eax
mov dword [ebp - 0x414], eax
test ecx, ecx
jne 0x4a62d0
cmp dword [ebp - 0x41c], eax
jne case.0x4a6292.8
push 0x4d8
call fcn.0055644a
add esp, 4
mov dword [ebp - 0x41c], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x4a6620
push str.AVATAR
push 0
mov ecx, eax
call fcn.004ae220
jmp 0x4a6622
xor eax, eax
mov ecx, dword [edi + 0x18]
push eax
mov dword [ebp - 0x414], eax
mov dword [ebp - 4], 0xffffffff
call fcn.0044de70
push 0x10c
call fcn.0055644a
add esp, 4
mov dword [ebp - 0x41c], eax
mov dword [ebp - 4], 1
test eax, eax
je 0x4a6661
mov ecx, eax
call fcn.0046ac60
mov ecx, eax
jmp 0x4a6663
xor ecx, ecx
mov eax, dword [ebp - 0x414]
push eax
mov dword [ebp - 4], 0xffffffff
mov dword [eax + 0x194], ecx
mov ecx, dword [edi + 4]
call fcn.004f4270
mov ecx, dword [ebp - 0x414]
push ecx
push eax
mov dword [ecx + 0x170], eax
mov ecx, dword [edi + 4]
call fcn.004f4250
movzx edx, byte [esi + 5]
mov dword [ebp - 0x418], eax
mov eax, dword [ebp - 0x414]
push 0
mov dword [eax + 0x164], edx
movzx ecx, byte [esi + 6]
push ecx
mov dword [eax + 0x168], ecx
mov ecx, dword [edi + 0x154]
push edx
call fcn.004fa6f0
mov ecx, eax
mov eax, dword [ebp - 0x414]
mov dword [ebp - 0x41c], ecx
mov edx, dword [eax + 0x164]
cmp ecx, 0xffffffff
jne 0x4a670b
mov ecx, dword [edi + 0x154]
push edx
call fcn.004faef0
mov eax, dword [ebp - 0x414]
push dword [eax + 0x168]
fstp dword [eax + 0x114]
mov ecx, dword [edi + 0x154]
call fcn.004fb000
jmp 0x4a6792
push 1
push ecx
push dword [eax + 0x168]
mov ecx, dword [edi + 0x154]
push edx
call fcn.004f7c40
mov ecx, dword [edi + 0x154]
lea eax, [ebp - 0x440]
push eax
lea eax, [ebp - 0x43c]
push eax
lea eax, [ebp - 0x438]
push eax
push dword [ebp - 0x41c]
call fcn.004fa7f0
mov eax, dword [ebp - 0x414]
mov ecx, dword [ebp - 0x41c]
push dword [eax + 0x164]
mov dword [eax + 0x16c], ecx
mov ecx, dword [edi + 0x154]
call fcn.004faef0
fadd dword [ebp - 0x438]
mov eax, dword [ebp - 0x414]
push dword [eax + 0x168]
fstp dword [eax + 0x114]
mov ecx, dword [edi + 0x154]
call fcn.004fb000
fadd dword [ebp - 0x43c]
mov ecx, dword [ebp - 0x414]
fstp dword [ebp - 0x41c]
movss xmm0, dword [ebp - 0x41c]
movss dword [ecx + 0x11c], xmm0
call fcn.00565b3a
sub esp, 8
mov ecx, edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov eax, dword [ebp - 0x414]
mov dword [eax + 0x10c], 0
mulss xmm0, dword [0x5d0070]
divss xmm0, dword [0x5d3e8c]
addss xmm0, dword [ebp - 0x420]
movss dword [eax + 0x108], xmm0
movss xmm0, dword [eax + 0x11c]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x114]
movss dword [esp], xmm0
call fcn.004aab50
mov eax, dword [ebp - 0x418]
mov ecx, dword [ebp - 0x414]
movss xmm0, dword [ecx + 0x108]
fstp dword [ecx + 0x118]
movss dword [eax + 0x118], xmm0
movss dword [eax + 0x11c], xmm0
mov dword [eax + 0x120], 0x3e851eb8
mov dword [eax + 0x124], 0x3e567750
movss xmm0, dword [ebp - 0x440]
movss dword [eax + 0x118], xmm0
movss xmm0, dword [ecx + 0x114]
movss dword [eax + 0x110], xmm0
movss dword [eax + 0x108], xmm0
movss xmm0, dword [ecx + 0x11c]
movss dword [eax + 0x114], xmm0
movss dword [eax + 0x10c], xmm0
mov dword [eax + 0x128], 0x3e99999a
mov eax, dword [esi + 1]
mov dword [ecx + 0x178], eax
cmp eax, dword [edi + 0x204]
jne 0x4a6a7a
cmp dword [0x62ba74], 0
jne 0x4a68c2
cmp dword [edi + 0x20c], 0xffffffff
jne 0x4a6a7a
mov dword [edi + 8], ecx
lea edx, [ebp - 0x45c]
mov ecx, dword [0x62b3f8]
push 0
push 0
mov byte [ebp - 0x457], 1
mov dword [ebp - 0x45b], 0
mov eax, dword [ecx]
push edx
push 0xa
call dword [eax + 4]
mov ecx, edi
call fcn.004a1370
mov edx, dword [ebp - 0x414]
mov ecx, dword [edi + 0x154]
movq xmm0, qword [edx + 0x114]
movq qword [ecx + 0x188], xmm0
mov eax, dword [edx + 0x11c]
mov dword [ecx + 0x190], eax
mov eax, dword [edi + 0x154]
mov dword [eax + 0x194], 0
push dword [edx + 0x168]
mov ecx, dword [edi + 0x154]
push dword [edx + 0x164]
call fcn.004f8500
mov eax, dword [ebp - 0x414]
mov ecx, edi
push dword [eax + 0x168]
push dword [eax + 0x164]
call fcn.004aa810
mov ecx, dword [ebp - 0x414]
push ecx
mov ecx, dword [edi + 0x18]
call fcn.0044dfd0
cmp dword [0x62ba68], 0
jne 0x4a6a74
cmp dword [0x60f48c], 0
mov dword [ebp - 0x42c], 0xc3fa0000
mov dword [ebp - 0x430], 0xc3fa0000
mov dword [ebp - 0x434], 0xc3fa0000
je 0x4a6a74
movq xmm0, qword [ebp - 0x434]
sub esp, 0xc
mov esi, dword [ebp - 0x42c]
mov eax, esp
mov ecx, dword [0x62ba54]
sub esp, 0xc
movq qword [eax], xmm0
mov dword [eax + 8], esi
mov eax, esp
push dword [edi + 0x154]
movq qword [eax], xmm0
mov dword [eax + 8], esi
call fcn.0052b080
movq xmm0, qword [ebp - 0x434]
sub esp, 0xc
mov ecx, dword [0x62ba58]
mov eax, esp
sub esp, 0xc
movq qword [eax], xmm0
mov dword [eax + 8], esi
mov eax, esp
push dword [edi + 0x154]
movq qword [eax], xmm0
mov dword [eax + 8], esi
call fcn.0052b080
movq xmm0, qword [ebp - 0x434]
sub esp, 0xc
mov ecx, dword [0x62ba5c]
mov eax, esp
sub esp, 0xc
movq qword [eax], xmm0
mov dword [eax + 8], esi
mov eax, esp
push dword [edi + 0x154]
movq qword [eax], xmm0
mov dword [eax + 8], esi
call fcn.0052b080
movq xmm0, qword [ebp - 0x434]
sub esp, 0xc
mov ecx, dword [0x62ba60]
mov eax, esp
sub esp, 0xc
movq qword [eax], xmm0
mov dword [eax + 8], esi
mov eax, esp
push dword [edi + 0x154]
movq qword [eax], xmm0
mov dword [eax + 8], esi
call fcn.0052b080
mov esi, dword [ebp - 0x424]
mov ecx, dword [ebp - 0x414]
cmp byte [esi], 0x34
jne case.0x4a6292.8
movzx eax, word [esi + 7]
push eax
push ecx
mov ecx, edi
call fcn.004aa9a0
jmp case.0x4a6292.8
mov ecx, dword [edi + 0x18]
call fcn.0044e020
mov ecx, eax
mov dword [ebp - 0x414], ecx
test ecx, ecx
je case.0x4a6292.8
nop dword [eax]
mov eax, dword [ecx + 0x178]
cmp eax, 0xffffffff
jle 0x4a6b55
mov edx, dword [edi + 0x18]
cmp eax, dword [esi + 1]
jne 0x4a6b44
push ecx
mov ecx, edx
call fcn.0044e210
mov eax, dword [ebp - 0x414]
mov ecx, dword [edi + 0x154]
push dword [eax + 0x16c]
push dword [eax + 0x168]
push dword [eax + 0x164]
call fcn.004fb910
mov eax, dword [ebp - 0x414]
mov ecx, dword [edi + 4]
push eax
push dword [eax + 0x170]
call fcn.004f4230
mov ecx, dword [ebp - 0x414]
push 1
mov eax, dword [ecx]
mov dword [ecx + 0x16c], 0xffffffff
call dword [eax]
mov ecx, dword [edi + 0x18]
call fcn.0044e020
mov ecx, eax
mov eax, dword [esi + 1]
mov dword [ebp - 0x414], ecx
cmp eax, dword [edi + 0x204]
jne 0x4a6b65
mov eax, dword [edi + 0xc]
mov dword [edi + 8], eax
jmp 0x4a6b65
mov ecx, edx
call fcn.0044e0d0
mov ecx, eax
mov dword [ebp - 0x414], ecx
jmp 0x4a6b65
mov ecx, dword [edi + 0x18]
call fcn.0044e0d0
mov ecx, eax
mov dword [ebp - 0x414], eax
test ecx, ecx
jne 0x4a6ab0
jmp case.0x4a6292.8
mov ecx, dword [edi + 0x18]
call fcn.0044e020
mov dword [ebp - 0x414], eax
test eax, eax
je case.0x4a6292.8
nop dword [eax + eax]
mov ecx, dword [eax + 0x178]
cmp ecx, 0xffffffff
jle 0x4a6d1f
cmp ecx, dword [esi + 1]
jne 0x4a6d1f
mov ecx, dword [edi + 4]
push eax
push dword [eax + 0x170]
call fcn.004f4250
mov dword [ebp - 0x418], eax
mov dword [eax + 0x120], 0x3e851eb8
mov eax, dword [ebp - 0x414]
mov ecx, dword [edi + 0x154]
push dword [eax + 0x16c]
push dword [eax + 0x168]
push dword [eax + 0x164]
call fcn.004fb910
mov edx, dword [ebp - 0x414]
movzx ecx, byte [esi + 7]
push 0
mov dword [edx + 0x164], ecx
movzx eax, byte [esi + 8]
push eax
mov dword [edx + 0x168], eax
push ecx
mov ecx, dword [edi + 0x154]
call fcn.004fa6f0
mov ecx, dword [edi + 0x154]
mov dword [ebp - 0x41c], eax
cmp eax, 0xffffffff
jne 0x4a6c5b
movzx eax, byte [esi + 7]
push eax
call fcn.004faef0
mov eax, dword [ebp - 0x418]
fstp dword [eax + 0x110]
movzx eax, byte [esi + 8]
mov ecx, dword [edi + 0x154]
push eax
call fcn.004fb000
mov eax, dword [ebp - 0x418]
fstp dword [eax + 0x114]
jmp 0x4a6d01
push 1
push eax
mov eax, dword [ebp - 0x414]
push dword [eax + 0x168]
push dword [eax + 0x164]
call fcn.004f7c40
mov ecx, dword [edi + 0x154]
lea eax, [ebp - 0x440]
push eax
lea eax, [ebp - 0x43c]
push eax
lea eax, [ebp - 0x438]
push eax
push dword [ebp - 0x41c]
call fcn.004fa7f0
mov eax, dword [ebp - 0x414]
mov ecx, dword [ebp - 0x41c]
mov dword [eax + 0x16c], ecx
movzx eax, byte [esi + 7]
mov ecx, dword [edi + 0x154]
push eax
call fcn.004faef0
fadd dword [ebp - 0x438]
mov eax, dword [ebp - 0x418]
fstp dword [eax + 0x110]
movzx eax, byte [esi + 8]
mov ecx, dword [edi + 0x154]
push eax
call fcn.004fb000
fadd dword [ebp - 0x43c]
mov eax, dword [ebp - 0x418]
fstp dword [eax + 0x114]
movss xmm0, dword [ebp - 0x440]
movss dword [eax + 0x118], xmm0
mov eax, dword [ebp - 0x414]
mov eax, dword [eax + 0x178]
cmp eax, dword [edi + 0x204]
jne 0x4a6d1f
mov dword [0x62cc70], 0x5a
mov ecx, dword [edi + 0x18]
call fcn.0044e0d0
mov dword [ebp - 0x414], eax
test eax, eax
jne 0x4a6b90
jmp case.0x4a6292.8
mov ecx, dword [edi + 0x18]
call fcn.0044e020
mov ecx, eax
mov dword [ebp - 0x41c], ecx
test ecx, ecx
je case.0x4a6292.8
nop dword [eax]
nop word [eax + eax]
mov eax, dword [ecx + 0x178]
cmp eax, 0xffffffff
jle 0x4a6e0f
cmp eax, dword [esi + 1]
jne 0x4a6e0f
movzx eax, word [esi + 0x1a]
push eax
mov word [ecx + 0x21c], ax
movzx eax, byte [esi + 0x19]
push eax
movzx eax, byte [esi + 0x18]
push eax
movzx eax, byte [esi + 0x17]
push eax
push dword [esi + 0xd]
movzx eax, byte [esi + 0x16]
push eax
movzx eax, byte [esi + 0x15]
push eax
movzx eax, byte [esi + 0x14]
mov ecx, dword [ecx + 0x194]
push eax
push dword [esi + 9]
movzx eax, byte [esi + 0x13]
push eax
movzx eax, byte [esi + 0x12]
push eax
movzx eax, byte [esi + 0x11]
push eax
mov eax, dword [0x62b2d8]
push dword [esi + 5]
push dword [eax + 0x2a3d8]
call fcn.0046af40
lea eax, [esi + 0x1c]
push eax
mov eax, dword [ebp - 0x41c]
add eax, 0x1b0
push eax
call fcn.0043d360
mov ecx, dword [edi + 8]
add esp, 8
mov eax, dword [ecx + 0x178]
cmp eax, dword [esi + 1]
jne 0x4a6e0f
lea eax, [ecx + 0x1b0]
mov dword [edi + 0x14], eax
mov eax, dword [esi + 0x40]
mov dword [0x62cc78], eax
mov al, byte [esi + 0x4c]
mov byte [0x61c141], al
mov ecx, dword [edi + 0x18]
call fcn.0044e0d0
mov ecx, eax
mov dword [ebp - 0x41c], eax
test ecx, ecx
jne 0x4a6d60
jmp case.0x4a6292.8
mov ecx, dword [edi + 0x18]
xor eax, eax
mov dword [ebp - 0x41c], eax
call fcn.0044e020
mov edx, eax
mov dword [ebp - 0x414], edx
test edx, edx
je 0x4a7137
nop dword [eax]
cmp dword [edx + 0x178], 0xffffffff
jne 0x4a7113
mov eax, dword [edx + 0x17c]
cmp eax, dword [esi + 1]
jne 0x4a7113
mov al, byte [esi + 5]
cmp al, 6
je 0x4a703e
cmp al, 0xd
je 0x4a703e
cmp al, 7
je 0x4a703e
cmp al, 0xe
je 0x4a703e
cmp al, 0x11
je 0x4a703e
cmp al, 0xa
je 0x4a703e
mov ecx, dword [edi + 4]
push edx
push dword [edx + 0x170]
call fcn.004f4250
mov ecx, dword [edi + 0x154]
mov dword [ebp - 0x418], eax
mov eax, dword [ebp - 0x414]
push dword [eax + 0x16c]
push dword [eax + 0x168]
push dword [eax + 0x164]
call fcn.004fb910
mov edx, dword [ebp - 0x414]
movzx ecx, byte [esi + 0xb]
push 0
mov dword [edx + 0x164], ecx
movzx eax, byte [esi + 0xc]
push eax
mov dword [edx + 0x168], eax
push ecx
mov ecx, dword [edi + 0x154]
call fcn.004fa6f0
mov ecx, eax
mov eax, dword [ebp - 0x414]
mov dword [ebp - 0x41c], ecx
mov edx, dword [eax + 0x164]
cmp ecx, 0xffffffff
jne 0x4a6f89
mov ecx, dword [edi + 0x154]
push edx
call fcn.004faef0
mov eax, dword [ebp - 0x414]
push dword [eax + 0x168]
fstp dword [eax + 0x114]
mov ecx, dword [edi + 0x154]
call fcn.004fb000
mov edx, dword [ebp - 0x414]
mov eax, dword [ebp - 0x418]
movss xmm0, dword [edx + 0x114]
fstp dword [edx + 0x11c]
movss dword [eax + 0x110], xmm0
movss dword [eax + 0x108], xmm0
movss xmm0, dword [edx + 0x11c]
movss dword [eax + 0x114], xmm0
movss dword [eax + 0x10c], xmm0
jmp 0x4a703e
push 1
push ecx
push dword [eax + 0x168]
mov ecx, dword [edi + 0x154]
push edx
call fcn.004f7c40
mov ecx, dword [edi + 0x154]
lea eax, [ebp - 0x440]
push eax
lea eax, [ebp - 0x43c]
push eax
lea eax, [ebp - 0x438]
push eax
push dword [ebp - 0x41c]
call fcn.004fa7f0
mov eax, dword [ebp - 0x414]
mov ecx, dword [ebp - 0x41c]
mov dword [eax + 0x16c], ecx
mov ecx, dword [ebp - 0x418]
movss xmm0, dword [ebp - 0x440]
movss dword [ecx + 0x118], xmm0
push dword [eax + 0x164]
mov ecx, dword [edi + 0x154]
call fcn.004faef0
fadd dword [ebp - 0x438]
mov eax, dword [ebp - 0x418]
mov edx, dword [ebp - 0x414]
fstp dword [eax + 0x110]
push dword [edx + 0x168]
mov ecx, dword [edi + 0x154]
call fcn.004fb000
fadd dword [ebp - 0x43c]
mov eax, dword [ebp - 0x418]
mov edx, dword [ebp - 0x414]
fstp dword [eax + 0x114]
mov eax, dword [edi + 0x20c]
cmp eax, dword [edx + 0x17c]
jne 0x4a70d4
cmp dword [0x62ba74], 0
jne 0x4a70d4
mov ecx, dword [edi + 0x154]
movq xmm0, qword [edx + 0x114]
movq qword [ecx + 0x188], xmm0
mov eax, dword [edx + 0x11c]
mov dword [ecx + 0x190], eax
mov eax, dword [edi + 0x154]
mov dword [eax + 0x194], 0
push dword [edx + 0x168]
mov ecx, dword [edi + 0x154]
push dword [edx + 0x164]
call fcn.004f8500
mov eax, dword [ebp - 0x414]
mov ecx, edi
push dword [eax + 0x168]
push dword [eax + 0x164]
call fcn.004aa810
mov edx, dword [ebp - 0x414]
mov ecx, dword [edi + 0x18]
push edx
call fcn.0044dfd0
mov edx, dword [ebp - 0x414]
cmp byte [esi + 5], 1
jne 0x4a7109
cmp byte [esi], 0x19
jne 0x4a7109
movss xmm0, dword [esi + 0x11]
movzx eax, byte [esi + 0xf]
push ecx
movss dword [esp], xmm0
mov ecx, edx
push eax
movzx eax, byte [esi + 0xe]
push eax
movzx eax, byte [esi + 0xd]
push eax
movzx eax, byte [esi + 0x10]
push eax
lea eax, [esi + 0x15]
push eax
call fcn.004ae5a0
mov dword [ebp - 0x41c], 1
mov ecx, dword [edi + 0x18]
call fcn.0044e0d0
mov edx, eax
mov dword [ebp - 0x414], eax
test edx, edx
jne 0x4a6e50
cmp dword [ebp - 0x41c], eax
jne case.0x4a6292.8
push 0x4d8
call fcn.0055644a
add esp, 4
mov dword [ebp - 0x420], eax
mov dword [ebp - 4], 2
test eax, eax
je 0x4a7165
push 0x5d5184
push 0
mov ecx, eax
call fcn.004ae220
jmp 0x4a7167
xor eax, eax
mov ecx, dword [edi + 0x18]
push eax
mov dword [ebp - 0x414], eax
mov dword [ebp - 4], 0xffffffff
call fcn.0044de70
mov edx, dword [ebp - 0x414]
movzx eax, byte [esi + 5]
mov dword [edx + 0x160], eax
cmp eax, 0x17
jb 0x4a719c
movzx eax, byte [esi + 5]
mov dword [edx + 0x160], eax
mov al, byte [esi + 5]
cmp al, 1
jne 0x4a7213
movzx eax, word [esi + 8]
mov ecx, edx
push eax
movzx eax, word [esi + 6]
push eax
call fcn.004ae890
mov eax, dword [0x62ba68]
cmp eax, 1
je 0x4a71c3
cmp eax, 3
jne 0x4a71d5
mov edx, dword [ebp - 0x414]
movzx eax, byte [esi + 0xa]
mov dword [edx + 0x188], eax
jmp 0x4a71db
mov edx, dword [ebp - 0x414]
cmp byte [esi], 0x19
jne 0x4a7359
movss xmm0, dword [esi + 0x11]
movzx eax, byte [esi + 0xf]
push ecx
movss dword [esp], xmm0
mov ecx, edx
push eax
movzx eax, byte [esi + 0xe]
push eax
movzx eax, byte [esi + 0xd]
push eax
movzx eax, byte [esi + 0x10]
push eax
lea eax, [esi + 0x15]
push eax
call fcn.004ae5a0
jmp 0x4a7353
cmp al, 5
jne 0x4a7245
movzx eax, word [esi + 6]
mov dword [edx + 0x180], eax
lea eax, [eax + eax*2]
lea eax, [eax*4 + str.BEAR]
push eax
lea eax, [edx + 0x1b0]
push str.GREAT_TREE_OF_THE__s
push eax
call fcn.0043d360
add esp, 0xc
jmp 0x4a7353
cmp al, 0xd
je 0x4a733f
cmp al, 6
jne 0x4a725b
push str.Items
jmp 0x4a7344
cmp al, 7
jne 0x4a72cb
lea eax, [edx + 0x1b0]
push 0x5cfad4
push eax
call fcn.0043d360
mov ecx, dword [edi + 0x1c]
add esp, 8
call fcn.0044e020
mov edx, eax
test edx, edx
je 0x4a72b1
movzx ecx, byte [esi + 0xb]
cmp dword [edx + 0x164], ecx
jne 0x4a72a3
movzx eax, byte [esi + 0xc]
cmp dword [edx + 0x168], eax
jne 0x4a72a3
mov dword [edx + 0x160], 1
mov ecx, dword [edi + 0x1c]
call fcn.0044e0d0
mov edx, eax
test edx, edx
jne 0x4a7281
movzx eax, byte [esi + 0xc]
mov ecx, dword [edi + 0x154]
push eax
movzx eax, byte [esi + 0xb]
push eax
call fcn.004f7c70
jmp 0x4a7353
cmp al, 8
je 0x4a733f
cmp al, 0xc
je 0x4a733f
cmp al, 0xe
jne 0x4a72fd
lea eax, [edx + 0x1b0]
push 0x5cfad4
push eax
call fcn.0043d360
mov edx, dword [ebp - 0x414]
add esp, 8
movzx eax, word [esi + 8]
mov dword [edx + 0x184], eax
jmp 0x4a7359
cmp al, 3
jne 0x4a7308
push str.Trainer
jmp 0x4a7344
cmp al, 4
jne 0x4a7313
push str.Town_Mage
jmp 0x4a7344
cmp al, 0x10
jne 0x4a731e
push str.Witch
jmp 0x4a7344
cmp al, 0x16
jne 0x4a7329
push str.Mall_Director
jmp 0x4a7344
cmp al, 0x15
jne 0x4a7338
cmp byte [esi], 0x19
jne 0x4a7359
lea eax, [esi + 0x15]
push eax
jmp 0x4a7344
push str.Merchant
jmp 0x4a7344
push 0x5cfad4
lea eax, [edx + 0x1b0]
push eax
call fcn.0043d360
add esp, 8
mov edx, dword [ebp - 0x414]
mov al, byte [esi + 5]
cmp al, 6
je 0x4a75c9
cmp al, 0xd
je 0x4a75c9
cmp al, 0xe
je 0x4a75c9
cmp al, 7
je 0x4a75c9
mov ecx, dword [edi + 4]
push edx
call fcn.004f4270
mov ecx, dword [ebp - 0x414]
push ecx
push eax
mov dword [ecx + 0x170], eax
mov ecx, dword [edi + 4]
call fcn.004f4250
movzx edx, byte [esi + 0xb]
mov dword [ebp - 0x420], eax
mov eax, dword [ebp - 0x414]
mov dword [eax + 0x164], edx
movzx ecx, byte [esi + 0xc]
mov dword [eax + 0x168], ecx
xor eax, eax
cmp byte [esi + 5], 5
sete al
push eax
push ecx
mov ecx, dword [edi + 0x154]
push edx
call fcn.004fa6f0
mov ecx, eax
mov eax, dword [ebp - 0x414]
mov dword [ebp - 0x41c], ecx
mov edx, dword [eax + 0x164]
cmp ecx, 0xffffffff
jne 0x4a7419
mov ecx, dword [edi + 0x154]
push edx
call fcn.004faef0
mov eax, dword [ebp - 0x414]
push dword [eax + 0x168]
fstp dword [eax + 0x114]
mov ecx, dword [edi + 0x154]
call fcn.004fb000
jmp 0x4a74a0
push 1
push ecx
push dword [eax + 0x168]
mov ecx, dword [edi + 0x154]
push edx
call fcn.004f7c40
mov ecx, dword [edi + 0x154]
lea eax, [ebp - 0x440]
push eax
lea eax, [ebp - 0x43c]
push eax
lea eax, [ebp - 0x438]
push eax
push dword [ebp - 0x41c]
call fcn.004fa7f0
mov eax, dword [ebp - 0x414]
mov ecx, dword [ebp - 0x41c]
push dword [eax + 0x164]
mov dword [eax + 0x16c], ecx
mov ecx, dword [edi + 0x154]
call fcn.004faef0
fadd dword [ebp - 0x438]
mov eax, dword [ebp - 0x414]
push dword [eax + 0x168]
fstp dword [eax + 0x114]
mov ecx, dword [edi + 0x154]
call fcn.004fb000
fadd dword [ebp - 0x43c]
mov ecx, dword [ebp - 0x414]
fstp dword [ebp - 0x41c]
movss xmm0, dword [ebp - 0x41c]
movss dword [ecx + 0x11c], xmm0
call fcn.00565b3a
sub esp, 8
mov ecx, edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov eax, dword [ebp - 0x414]
mov dword [eax + 0x10c], 0
mulss xmm0, dword [0x5d0070]
divss xmm0, dword [0x5d3e8c]
addss xmm0, dword [0x5d0044]
movss dword [eax + 0x108], xmm0
movss xmm0, dword [eax + 0x11c]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x114]
movss dword [esp], xmm0
call fcn.004aab50
mov ecx, dword [ebp - 0x420]
mov eax, dword [ebp - 0x414]
movss xmm0, dword [eax + 0x108]
fstp dword [eax + 0x118]
movss dword [ecx + 0x118], xmm0
movss dword [ecx + 0x11c], xmm0
mov dword [ecx + 0x120], 0x3e851eb8
mov dword [ecx + 0x124], 0x3e567750
movss xmm0, dword [ebp - 0x440]
movss dword [ecx + 0x118], xmm0
movss xmm0, dword [eax + 0x114]
movss dword [ecx + 0x110], xmm0
movss dword [ecx + 0x108], xmm0
movss xmm0, dword [eax + 0x11c]
movss dword [ecx + 0x114], xmm0
movss dword [ecx + 0x10c], xmm0
mov dword [ecx + 0x128], 0x3e99999a
cmp byte [esi + 5], 5
jne 0x4a75b5
mov dword [ecx + 0x128], 0x3f800000
mov ecx, dword [ebp - 0x414]
mov eax, dword [esi + 1]
mov dword [ecx + 0x17c], eax
jmp case.0x4a6292.8
movzx ecx, byte [esi + 0xb]
mov dword [edx + 0x164], ecx
movzx eax, byte [esi + 0xc]
mov dword [edx + 0x168], eax
push ecx
mov ecx, dword [edi + 0x154]
call fcn.004faef0
mov ecx, dword [edi + 0x154]
fstp dword [ebp - 0x420]
call fcn.004f7c30
fmul dword [0x5d0bb4]
mov eax, dword [ebp - 0x414]
fadd dword [ebp - 0x420]
push dword [eax + 0x168]
fstp dword [eax + 0x114]
mov ecx, dword [edi + 0x154]
call fcn.004fb000
mov ecx, dword [edi + 0x154]
fstp dword [ebp - 0x420]
call fcn.004f7c30
fmul dword [0x5d0bb4]
sub esp, 8
mov eax, dword [ebp - 0x414]
mov ecx, edi
fadd dword [ebp - 0x420]
mov dword [eax + 0x108], 0
mov dword [eax + 0x10c], 0
fstp dword [ebp - 0x420]
movss xmm0, dword [ebp - 0x420]
movss dword [esp + 4], xmm0
movss dword [eax + 0x11c], xmm0
movss xmm0, dword [eax + 0x114]
movss dword [esp], xmm0
call fcn.004aab50
mov ecx, dword [ebp - 0x414]
fstp dword [ecx + 0x118]
mov eax, dword [esi + 1]
mov dword [ecx + 0x17c], eax
jmp case.0x4a6292.8
mov ecx, dword [edi + 0x18]
call fcn.0044e020
mov dword [ebp - 0x424], eax
test eax, eax
je case.0x4a6292.8
nop dword [eax]
cmp dword [eax + 0x178], 0xffffffff
jne 0x4a7757
mov ecx, dword [eax + 0x17c]
cmp ecx, dword [esi + 1]
jne 0x4a7757
mov ecx, dword [edi + 0x18]
push eax
call fcn.0044e210
mov ecx, dword [ebp - 0x424]
mov eax, dword [ecx + 0x160]
cmp eax, 6
je 0x4a7747
cmp eax, 0xa
je 0x4a7747
cmp eax, 0x11
je 0x4a7747
cmp eax, 0xd
je 0x4a7747
cmp eax, 0xe
je 0x4a7747
cmp eax, 7
je 0x4a7747
push dword [ecx + 0x16c]
push dword [ecx + 0x168]
push dword [ecx + 0x164]
mov ecx, dword [edi + 0x154]
call fcn.004fb910
mov eax, dword [ebp - 0x424]
mov ecx, dword [edi + 4]
push eax
push dword [eax + 0x170]
call fcn.004f4230
mov ecx, dword [ebp - 0x424]
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [edi + 0x18]
call fcn.0044e020
jmp 0x4a775f
mov ecx, dword [edi + 0x18]
call fcn.0044e0d0
mov dword [ebp - 0x424], eax
test eax, eax
jne 0x4a76c0
jmp case.0x4a6292.8
mov ecx, dword [edi + 0x18]
xor eax, eax
mov dword [ebp - 0x418], eax
call fcn.0044e020
test eax, eax
je 0x4a77cf
mov edx, 1
nop dword [eax + eax]
cmp dword [eax + 0x178], 0xffffffff
jne 0x4a77b1
mov eax, dword [eax + 0x17c]
mov ecx, dword [ebp - 0x418]
cmp eax, dword [esi + 1]
cmove ecx, edx
mov dword [ebp - 0x418], ecx
mov ecx, dword [edi + 0x18]
call fcn.0044e0d0
mov edx, 1
test eax, eax
jne 0x4a7790
cmp dword [ebp - 0x418], 0
jne case.0x4a6292.8
push 0x4d8
call fcn.0055644a
add esp, 4
mov dword [ebp - 0x420], eax
mov dword [ebp - 4], 3
test eax, eax
je 0x4a77fd
push 0x5d5184
push 0
mov ecx, eax
call fcn.004ae220
jmp 0x4a77ff
xor eax, eax
mov ecx, dword [edi + 0x18]
push eax
mov dword [ebp - 0x414], eax
mov dword [ebp - 4], 0xffffffff
call fcn.0044de70
mov eax, dword [ebp - 0x414]
push 0x5cfad4
mov dword [eax + 0x160], 0x11
add eax, 0x1b0
push eax
call fcn.0043d360
mov edx, dword [ebp - 0x414]
add esp, 8
movzx ecx, byte [esi + 9]
mov dword [edx + 0x164], ecx
movzx eax, byte [esi + 0xa]
mov dword [edx + 0x168], eax
push ecx
mov ecx, dword [edi + 0x154]
call fcn.004faef0
mov ecx, dword [edi + 0x154]
fstp dword [ebp - 0x420]
call fcn.004f7c30
fmul dword [0x5d0bb4]
mov eax, dword [ebp - 0x414]
fadd dword [ebp - 0x420]
push dword [eax + 0x168]
fstp dword [eax + 0x114]
mov ecx, dword [edi + 0x154]
call fcn.004fb000
mov ecx, dword [edi + 0x154]
fstp dword [ebp - 0x420]
call fcn.004f7c30
fmul dword [0x5d0bb4]
sub esp, 8
mov eax, dword [ebp - 0x414]
mov ecx, edi
fadd dword [ebp - 0x420]
mov dword [eax + 0x108], 0
mov dword [eax + 0x10c], 0
movss xmm0, dword [eax + 0x114]
fstp dword [ebp - 0x420]
movss xmm1, dword [ebp - 0x420]
movss dword [esp + 4], xmm1
movss dword [eax + 0x11c], xmm1
movss dword [esp], xmm0
call fcn.004aab50
mov edi, dword [ebp - 0x414]
movss xmm2, dword [0x5d5728]
fstp dword [edi + 0x118]
mov eax, dword [esi + 1]
mov dword [edi + 0x17c], eax
movzx eax, byte [esi + 6]
movzx ecx, byte [esi + 7]
or eax, 0x3700
movzx edx, byte [esi + 8]
mov dword [ebp - 0x420], eax
shl eax, 8
or ecx, eax
mov eax, ecx
shl eax, 8
or edx, eax
movzx eax, cl
movd xmm4, eax
movzx eax, dl
shr edx, 0x18
cvtdq2ps xmm4, xmm4
movd xmm3, eax
mov eax, dword [ebp - 0x420]
movzx eax, al
movd xmm1, edx
cvtdq2ps xmm3, xmm3
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm2
mulss xmm4, xmm2
movss dword [edi + 0x224], xmm0
mulss xmm3, xmm2
mulss xmm1, xmm2
movss dword [edi + 0x228], xmm4
movss dword [edi + 0x22c], xmm3
movss dword [edi + 0x230], xmm1
movzx eax, byte [esi + 5]
mov dword [edi + 0x234], eax
mov eax, dword [esi + 0xb]
mov dword [edi + 0x238], eax
jmp case.0x4a6292.8
mov ecx, dword [edi + 0x18]
call fcn.0044e020
mov edx, eax
mov dword [ebp - 0x418], edx
test edx, edx
je case.0x4a6292.8
movzx ecx, byte [esi + 5]
cmp ecx, dword [edx + 0x160]
jne 0x4a7a85
mov eax, dword [edx + 0x17c]
cmp eax, dword [esi + 1]
jne 0x4a7a85
mov ecx, dword [edi + 0x18]
push edx
call fcn.0044e210
mov eax, dword [ebp - 0x418]
sub esp, 0xc
movq xmm0, qword [eax + 0x114]
mov ecx, dword [eax + 0x11c]
mov eax, esp
movq qword [ebp - 0x434], xmm0
movss xmm0, dword [ebp - 0x430]
addss xmm0, dword [0x5d3db4]
movss dword [ebp - 0x430], xmm0
movq xmm0, qword [ebp - 0x434]
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov ecx, dword [0x62ba30]
call fcn.00519760
movaps xmm0, xmmword [0x5d57f0]
sub esp, 0x10
mov ecx, dword [0x62ba30]
mov eax, esp
push 0x3c
movups xmmword [eax], xmm0
call fcn.00519380
mov ecx, dword [ebp - 0x418]
push 1
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [edi + 0x18]
call fcn.0044e020
mov edx, eax
mov dword [ebp - 0x418], edx
jmp 0x4a7a95
mov ecx, dword [edi + 0x18]
call fcn.0044e0d0
mov edx, eax
mov dword [ebp - 0x418], eax
test edx, edx
jne 0x4a79d0
jmp case.0x4a6292.8
mov ecx, dword [edi + 0x18]
call fcn.0044e020
mov ecx, eax
mov dword [ebp - 0x414], ecx
test ecx, ecx
je case.0x4a6292.8
nop word [eax + eax]
cmp dword [ecx + 0x178], 0xffffffff
jne 0x4a7c48
mov eax, dword [ecx + 0x17c]
cmp eax, dword [esi + 1]
jne 0x4a7c48
push ecx
push dword [ecx + 0x170]
mov ecx, dword [edi + 4]
call fcn.004f4250
mov ecx, dword [edi + 0x154]
mov dword [ebp - 0x418], eax
mov eax, dword [ebp - 0x414]
push dword [eax + 0x16c]
push dword [eax + 0x168]
push dword [eax + 0x164]
call fcn.004fb910
mov edx, dword [ebp - 0x414]
movzx ecx, byte [esi + 7]
push 0
mov dword [edx + 0x164], ecx
movzx eax, byte [esi + 8]
push eax
mov dword [edx + 0x168], eax
push ecx
mov ecx, dword [edi + 0x154]
call fcn.004fa6f0
mov ecx, dword [edi + 0x154]
mov dword [ebp - 0x41c], eax
cmp eax, 0xffffffff
jne 0x4a7b85
movzx eax, byte [esi + 7]
push eax
call fcn.004faef0
mov eax, dword [ebp - 0x418]
fstp dword [eax + 0x110]
movzx eax, byte [esi + 8]
mov ecx, dword [edi + 0x154]
push eax
call fcn.004fb000
mov eax, dword [ebp - 0x418]
fstp dword [eax + 0x114]
jmp 0x4a7c2b
push 1
push eax
mov eax, dword [ebp - 0x414]
push dword [eax + 0x168]
push dword [eax + 0x164]
call fcn.004f7c40
mov ecx, dword [edi + 0x154]
lea eax, [ebp - 0x440]
push eax
lea eax, [ebp - 0x43c]
push eax
lea eax, [ebp - 0x438]
push eax
push dword [ebp - 0x41c]
call fcn.004fa7f0
mov eax, dword [ebp - 0x414]
mov ecx, dword [ebp - 0x41c]
mov dword [eax + 0x16c], ecx
movzx eax, byte [esi + 7]
mov ecx, dword [edi + 0x154]
push eax
call fcn.004faef0
fadd dword [ebp - 0x438]
mov eax, dword [ebp - 0x418]
fstp dword [eax + 0x110]
movzx eax, byte [esi + 8]
mov ecx, dword [edi + 0x154]
push eax
call fcn.004fb000
fadd dword [ebp - 0x43c]
mov eax, dword [ebp - 0x418]
fstp dword [eax + 0x114]
movss xmm0, dword [ebp - 0x440]
movss dword [eax + 0x118], xmm0
cmp byte [esi], 0x1c
jne 0x4a7c48
cmp dword [esi + 9], 1
jne 0x4a7c48
mov eax, dword [ebp - 0x414]
mov eax, dword [eax + 0x17c]
mov dword [edi + 0x20c], eax
mov ecx, dword [edi + 0x18]
call fcn.0044e0d0
mov ecx, eax
mov dword [ebp - 0x414], eax
test ecx, ecx
jne 0x4a7ac0
jmp case.0x4a6292.8
mov ecx, dword [edi + 0x18]
call fcn.0044e020
test eax, eax
je case.0x4a6292.8
mov ecx, dword [edi + 0x18]
call fcn.0044e0d0
test eax, eax
jne 0x4a7c75
jmp case.0x4a6292.8
mov ecx, dword [edi + 0x18]
call fcn.0044e020
mov dword [ebp - 0x418], eax
test eax, eax
je case.0x4a6292.8
movss xmm0, dword [0x5d5728]
movss dword [ebp - 0x420], xmm0
nop dword [eax]
mov eax, dword [eax + 0x178]
cmp eax, 0xffffffff
jle 0x4a832e
mov ecx, dword [esi + 9]
cmp eax, ecx
jne 0x4a832e
mov eax, dword [edi + 8]
cmp dword [eax + 0x178], ecx
jne 0x4a7cde
mov eax, dword [esi + 5]
mov dword [edi + 0x27c], eax
mov edi, dword [ebp - 0x418]
mov ecx, dword [edi + 0x26c]
test ecx, ecx
je 0x4a7cf4
mov eax, dword [ecx]
push 1
call dword [eax]
push 0x174
call fcn.0055644a
add esp, 4
mov dword [ebp - 0x428], eax
mov dword [ebp - 4], 4
test eax, eax
je 0x4a7d1d
mov ecx, eax
call fcn.0045e250
mov ecx, eax
jmp 0x4a7d1f
xor ecx, ecx
mov dword [edi + 0x26c], ecx
mov dword [edi + 0x2f4], 0
mov dword [edi + 0x2f8], 0
mov dword [edi + 0x2fc], 0
mov dword [edi + 0x300], 0
mov dword [edi + 0x304], 0
mov dword [edi + 0x308], 0
mov dword [edi + 0x30c], 0
mov dword [edi + 0x310], 0
mov dword [edi + 0x314], 0
mov dword [edi + 0x318], 0
mov dword [edi + 0x31c], 0
mov dword [edi + 0x320], 0
movzx eax, byte [esi + 0x19]
mov dword [edi + 0x270], eax
mov al, byte [esi + 0x19]
mov dword [ebp - 4], 0xffffffff
cmp al, 0x80
jb 0x4a7e79
mov eax, dword [0x62b2d8]
push str.dat_staff.ase
push dword [eax + 0x2a3d8]
call fcn.0045fb40
mov eax, dword [0x62b2d8]
mov ecx, dword [edi + 0x26c]
push 0
push str.dat_staff.png
push dword [eax + 0x2a3d8]
call fcn.004605a0
movzx eax, byte [esi + 0x1a]
movzx ecx, byte [esi + 0x1b]
or eax, 0x3700
movzx edx, byte [esi + 0x1c]
mov dword [ebp - 0x41c], eax
shl eax, 8
or ecx, eax
movss xmm4, dword [ebp - 0x420]
mov eax, ecx
shl eax, 8
or edx, eax
movzx eax, cl
movd xmm3, eax
movzx eax, dl
shr edx, 0x18
cvtdq2ps xmm3, xmm3
movd xmm2, eax
mov eax, dword [ebp - 0x41c]
movzx eax, al
movd xmm1, edx
cvtdq2ps xmm2, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm4
mulss xmm3, xmm4
mulss xmm2, xmm4
mulss xmm1, xmm4
movss dword [edi + 0x28c], xmm0
movss dword [edi + 0x290], xmm3
movss dword [edi + 0x294], xmm2
movss dword [edi + 0x298], xmm1
jmp 0x4a7f7d
cmp al, 1
jne 0x4a7e9e
mov eax, dword [0x62b2d8]
push str.datkatana.ase
push dword [eax + 0x2a3d8]
call fcn.0045fb40
push 0
push str.datkatana.png
jmp 0x4a7f67
cmp al, 4
jne 0x4a7ec3
mov eax, dword [0x62b2d8]
push str.datclaws.ASE
push dword [eax + 0x2a3d8]
call fcn.0045fb40
push 0
push str.datclaws.png
jmp 0x4a7f67
cmp al, 3
jne 0x4a7ee8
mov eax, dword [0x62b2d8]
push str.datchaosBlade.ASE
push dword [eax + 0x2a3d8]
call fcn.0045fb40
push 0
push str.datchaosBlade.png
jmp 0x4a7f67
cmp al, 5
jne 0x4a7f0a
mov eax, dword [0x62b2d8]
push str.dat_bladeStaff.ASE
push dword [eax + 0x2a3d8]
call fcn.0045fb40
push 0
push str.dat_bladeStaff.png
jmp 0x4a7f67
cmp al, 2
jne 0x4a7f2c
mov eax, dword [0x62b2d8]
push str.datmace.ASE
push dword [eax + 0x2a3d8]
call fcn.0045fb40
push 0
push str.datmace.png
jmp 0x4a7f67
sub al, 6
cmp al, 0x79
mov eax, dword [0x62b2d8]
ja 0x4a7f50
push str.dat_scythe.ASE
push dword [eax + 0x2a3d8]
call fcn.0045fb40
push 0
push str.dat_scythe.png
jmp 0x4a7f67
push str.dat_blade.ase
push dword [eax + 0x2a3d8]
call fcn.0045fb40
push 0
push str.dat_bladeMetal.png
mov eax, dword [0x62b2d8]
mov ecx, dword [edi + 0x26c]
push dword [eax + 0x2a3d8]
call fcn.004605a0
movss xmm0, dword [esi + 1]
sub esp, 0xc
mulss xmm0, dword [0x5d5724]
mov eax, dword [0x62b2d8]
mov ecx, dword [edi + 0x26c]
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm0
movss dword [esp], xmm0
push dword [eax + 0x2a3d8]
call fcn.00461430
mov eax, dword [0x62b2d8]
mov ecx, dword [edi + 0x26c]
push dword [eax + 0x2a3d8]
call fcn.00460a80
movzx eax, byte [esi + 0x1c]
mov ecx, dword [edi + 0x26c]
push 0xff
push eax
movzx eax, byte [esi + 0x1b]
push eax
movzx eax, byte [esi + 0x1a]
push eax
call fcn.004614b0
mov eax, dword [esi + 1]
mov ecx, dword [ebp - 0x418]
mov dword [edi + 0x2f0], eax
movzx edi, word [esi + 0x11]
mov eax, dword [ebp - 0x424]
mov dword [ecx + 0x274], edi
movzx esi, word [esi + 0x15]
mov dword [ecx + 0x280], esi
movzx edx, word [eax + 0x13]
mov dword [ebp - 0x41c], edi
mov edi, dword [ebp - 0x418]
mov dword [ecx + 0x27c], edx
movzx ecx, word [eax + 0xf]
mov dword [edi + 0x278], ecx
movzx eax, word [eax + 0xd]
mov dword [edi + 0x284], eax
add eax, ecx
mov ecx, edi
add eax, edx
add eax, esi
mov esi, dword [ebp - 0x424]
add eax, dword [ebp - 0x41c]
mov dword [ecx + 0x288], eax
mov dword [ecx + 0x2ac], 0
mov dword [ecx + 0x2b0], 0
mov dword [ecx + 0x2b4], 0x3f800000
mov dword [ecx + 0x2b8], 0x3e5cdcde
mov dword [ecx + 0x2bc], 0x3f800000
mov dword [ecx + 0x2c0], 0x3f800000
mov dword [ecx + 0x2c4], 0x3f800000
mov dword [ecx + 0x2c8], 0x3e5cdcde
mov dword [ecx + 0x28c], 0x3f800000
mov dword [ecx + 0x290], 0
mov dword [ecx + 0x294], 0
mov dword [ecx + 0x298], 0x3e5cdcde
mov dword [ecx + 0x29c], 0
mov dword [ecx + 0x2a0], 0x3f800000
mov dword [ecx + 0x2a4], 0
mov dword [ecx + 0x2a8], 0x3e5cdcde
mov dword [ecx + 0x2cc], 0x3efafafc
mov dword [ecx + 0x2d0], 0x3e828283
mov dword [ecx + 0x2d4], 0x3efafafc
mov dword [ecx + 0x2d8], 0x3e5cdcde
movzx eax, word [esi + 0x17]
add eax, 0xffffffe7
cmp eax, 8
ja case.default.0x4a812e
jmp dword [eax*4 + 0x4aa7c8]
mov dword [ecx + 0x2dc], 0x3f800000
mov dword [ecx + 0x2e0], 0x3f800000
mov dword [ecx + 0x2e4], 0x3f800000
mov dword [ecx + 0x2e8], 0x3e5cdcde
mov dword [ecx + 0x2ec], 1
jmp 0x4a8328
mov dword [ecx + 0x2dc], 0x3f800000
mov dword [ecx + 0x2e0], 0
mov dword [ecx + 0x2e4], 0
mov dword [ecx + 0x2e8], 0x3e5cdcde
mov dword [ecx + 0x2ec], 1
jmp 0x4a8328
mov dword [ecx + 0x2dc], 0
mov dword [ecx + 0x2e0], 0
mov dword [ecx + 0x2e4], 0x3f800000
mov dword [ecx + 0x2e8], 0x3e5cdcde
mov dword [ecx + 0x2ec], 1
jmp 0x4a8328
mov dword [ecx + 0x2dc], 0
mov dword [ecx + 0x2e0], 0x3f800000
mov dword [ecx + 0x2e4], 0
mov dword [ecx + 0x2e8], 0x3e5cdcde
mov dword [ecx + 0x2ec], 1
jmp 0x4a8328
mov dword [ecx + 0x2dc], 0
mov dword [ecx + 0x2e0], 0x3f800000
mov dword [ecx + 0x2e4], 0x3f800000
mov dword [ecx + 0x2e8], 0x3e5cdcde
mov dword [ecx + 0x2ec], 1
jmp 0x4a8328
mov dword [ecx + 0x2dc], 0x3f800000
mov dword [ecx + 0x2e0], 0
mov dword [ecx + 0x2e4], 0x3f800000
mov dword [ecx + 0x2e8], 0x3e5cdcde
mov dword [ecx + 0x2ec], 1
jmp 0x4a8328
mov dword [ecx + 0x2dc], 0x3f800000
mov dword [ecx + 0x2e0], 0x3f800000
mov dword [ecx + 0x2e4], 0
mov dword [ecx + 0x2e8], 0x3e5cdcde
mov dword [ecx + 0x2ec], 1
jmp 0x4a8328
mov dword [ecx + 0x2dc], 0x3f800000
mov dword [ecx + 0x2e0], 0x3f008081
mov dword [ecx + 0x2e4], 0
mov dword [ecx + 0x2e8], 0x3e5cdcde
mov dword [ecx + 0x2ec], 1
jmp 0x4a8328
mov dword [ecx + 0x2dc], 0x3f800000
mov dword [ecx + 0x2e0], 0x3f1b9b9c
mov dword [ecx + 0x2e4], 0x3f1b9b9c
mov dword [ecx + 0x2e8], 0x3e5cdcde
mov dword [ecx + 0x2ec], 1
jmp 0x4a8328
mov dword [ecx + 0x2ec], 0
mov edi, dword [ebp - 0x414]
mov ecx, dword [edi + 0x18]
call fcn.0044e0d0
mov dword [ebp - 0x418], eax
test eax, eax
jne 0x4a7cb0
jmp case.0x4a6292.8
mov ecx, dword [edi + 0x18]
call fcn.0044e020
mov ecx, eax
mov dword [ebp - 0x41c], ecx
test ecx, ecx
je case.0x4a6292.8
mov eax, dword [ecx + 0x178]
cmp eax, 0xffffffff
jle 0x4a83aa
mov edx, dword [esi + 1]
cmp eax, edx
jne 0x4a83aa
mov eax, dword [edi + 8]
cmp dword [eax + 0x178], edx
jne 0x4a8388
mov dword [edi + 0x27c], 0
mov edx, dword [ecx + 0x26c]
test edx, edx
je 0x4a83a0
mov eax, dword [edx]
mov ecx, edx
push 1
call dword [eax]
mov ecx, dword [ebp - 0x41c]
mov dword [ecx + 0x26c], 0
mov ecx, dword [edi + 0x18]
call fcn.0044e0d0
mov ecx, eax
mov dword [ebp - 0x41c], eax
test ecx, ecx
jne 0x4a8361
jmp case.0x4a6292.8
mov ecx, dword [edi + 0x18]
xor eax, eax
mov dword [ebp - 0x424], eax
mov dword [ebp - 0x418], eax
call fcn.0044e020
mov ecx, eax
mov dword [ebp - 0x41c], ecx
test ecx, ecx
je case.0x4a6292.8
nop dword [eax]
mov eax, dword [ecx + 0x178]
cmp eax, 0xffffffff
jle 0x4a8449
cmp eax, dword [esi + 1]
jne 0x4a8461
call fcn.00565b3a
and eax, reloc.WS2_32.dll_accept
jns 0x4a8411
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0x41c]
inc eax
mov dword [ebp - 0x418], ecx
mov dword [ecx + 0x19c], eax
mov dword [ecx + 0x190], 0
mov eax, dword [esi + 0xd]
cmp eax, 0xfffffc18
je 0x4a8461
mov dword [ecx + 0x210], eax
mov eax, dword [esi + 0x11]
mov dword [ecx + 0x214], eax
jmp 0x4a8461
mov eax, dword [ecx + 0x17c]
mov edx, dword [ebp - 0x424]
cmp eax, dword [esi + 5]
cmove edx, ecx
mov dword [ebp - 0x424], edx
mov ecx, dword [edi + 0x18]
call fcn.0044e0d0
mov ecx, eax
mov dword [ebp - 0x41c], eax
test ecx, ecx
jne 0x4a83f0
mov ecx, dword [ebp - 0x418]
test ecx, ecx
je case.0x4a6292.8
mov eax, dword [ebp - 0x424]
test eax, eax
je case.0x4a6292.8
mov edx, dword [esi + 9]
cmp edx, 0xffffffff
jne 0x4a84d9
test byte [0x62ccc4], 2
je 0x4a8534
add eax, 0x1b0
push eax
lea eax, [ecx + 0x1b0]
push eax
push str._s_misses_the__s.
lea eax, [ebp - 0x410]
push eax
call fcn.0043d360
lea eax, [ebp - 0x410]
push eax
call fcn.005006f0
add esp, 0x14
jmp 0x4a852e
cmp dword [esi + 0x15], 0
jne 0x4a84f7
test byte [0x62ccc4], 1
je 0x4a8534
push edx
lea eax, [ecx + 0x1b0]
push eax
push str._s_uses_her_staff_for__d_damage.
jmp 0x4a84bc
test byte [0x62ccc4], 1
je 0x4a8534
push edx
add eax, 0x1b0
push eax
lea eax, [ecx + 0x1b0]
push eax
lea eax, [ebp - 0x410]
push str._s_hits_the__s_for__d_damage.
push eax
call fcn.0043d360
lea eax, [ebp - 0x410]
push eax
call fcn.005006f0
add esp, 0x18
mov ecx, dword [ebp - 0x418]
push ecx
push dword [ecx + 0x170]
mov ecx, dword [edi + 4]
call fcn.004f4250
mov esi, eax
mov eax, dword [ebp - 0x424]
mov ecx, dword [edi + 4]
push eax
push dword [eax + 0x170]
call fcn.004f4250
sub esp, 0x18
movss xmm0, dword [eax + 0x10c]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
movss dword [esp + 0xc], xmm0
movss xmm0, dword [eax + 0x108]
movss dword [esp + 8], xmm0
movss xmm0, dword [esi + 0x10c]
movss dword [esp + 4], xmm0
movss xmm0, dword [esi + 0x108]
movss dword [esp], xmm0
call fcn.0044d980
fstp dword [esi + 0x118]
add esp, 0x18
jmp case.0x4a6292.8
mov ecx, dword [edi + 0x18]
call fcn.0044e020
test eax, eax
je case.0x4a6292.8
cmp dword [eax + 0x178], 0xffffffff
jg 0x4a85ef
mov ecx, dword [eax + 0x17c]
cmp ecx, dword [esi + 1]
jne 0x4a85ef
mov dword [eax + 0x1a4], 1
mov dword [eax + 0x190], 0
mov ecx, dword [edi + 0x18]
call fcn.0044e0d0
test eax, eax
jne 0x4a85c7
jmp case.0x4a6292.8
mov ecx, dword [edi + 0x18]
xor eax, eax
mov dword [ebp - 0x414], eax
mov dword [ebp - 0x418], eax
call fcn.0044e020
test eax, eax
je case.0x4a6292.8
nop
mov ecx, dword [eax + 0x178]
cmp ecx, 0xffffffff
jle 0x4a8638
cmp ecx, dword [esi + 5]
jne 0x4a8671
mov dword [ebp - 0x414], eax
jmp 0x4a8671
mov edx, dword [eax + 0x17c]
cmp edx, dword [esi + 1]
jne 0x4a865f
mov dword [eax + 0x19c], 1
mov dword [eax + 0x190], 0
mov dword [ebp - 0x418], eax
jmp 0x4a8671
mov ecx, dword [ebp - 0x414]
cmp edx, dword [esi + 5]
cmove ecx, eax
mov dword [ebp - 0x414], ecx
mov ecx, dword [edi + 0x18]
call fcn.0044e0d0
test eax, eax
jne 0x4a8620
mov ecx, dword [ebp - 0x418]
test ecx, ecx
je case.0x4a6292.8
mov edx, dword [ebp - 0x414]
test edx, edx
je case.0x4a6292.8
mov eax, dword [esi + 9]
cmp eax, 0xffffffff
jne 0x4a86e1
test byte [0x62ccc4], 2
je 0x4a8789
lea eax, [edx + 0x1b0]
push eax
lea eax, [ecx + 0x1b0]
push eax
lea eax, [ebp - 0x410]
push str.The__s_misses__s.
push eax
call fcn.0043d360
lea eax, [ebp - 0x410]
push eax
call fcn.005006f0
add esp, 0x14
jmp 0x4a8783
test byte [0x62ccc4], 1
je 0x4a871f
push eax
lea eax, [edx + 0x1b0]
push eax
lea eax, [ecx + 0x1b0]
push eax
lea eax, [ebp - 0x410]
push str.The__s_hits__s_for__d_damage.
push eax
call fcn.0043d360
lea eax, [ebp - 0x410]
push eax
call fcn.005006f0
mov edx, dword [ebp - 0x414]
add esp, 0x18
mov ecx, dword [edi + 8]
cmp edx, ecx
jne 0x4a874b
mov eax, dword [esi + 9]
sub dword [ecx + 0x210], eax
mov eax, dword [edi + 8]
mov eax, dword [eax + 0x210]
mov dword [0x62cc7c], eax
mov eax, dword [edi + 8]
mov eax, dword [eax + 0x214]
mov dword [0x62cc80], eax
movq xmm0, qword [edx + 0x114]
sub esp, 0x10
mov eax, dword [edx + 0x11c]
mov ecx, esp
mov dword [esp + 0xc], 0x42480000
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, dword [edi + 0x574]
call fcn.00462850
mov ecx, dword [edi + 0x574]
call fcn.00462730
mov ecx, dword [ebp - 0x418]
push ecx
push dword [ecx + 0x170]
mov ecx, dword [edi + 4]
call fcn.004f4250
mov esi, eax
mov eax, dword [ebp - 0x414]
jmp 0x4a854b
mov ecx, dword [edi + 0x18]
xor eax, eax
mov dword [ebp - 0x41c], eax
call fcn.0044e020
test eax, eax
je case.0x4a6292.8
nop dword [eax]
mov ecx, dword [eax + 0x17c]
cmp ecx, dword [esi + 1]
jne 0x4a87e5
mov dword [eax + 0x1a0], 1
mov dword [eax + 0x190], 0
mov dword [ebp - 0x41c], eax
mov ecx, dword [edi + 0x18]
call fcn.0044e0d0
test eax, eax
jne 0x4a87c0
mov eax, dword [ebp - 0x41c]
test eax, eax
je case.0x4a6292.8
test byte [0x62ccc4], 2
je case.0x4a6292.8
add eax, 0x1b0
push eax
lea eax, [ebp - 0x410]
push str.The__s_attacks_everyone_
push eax
call fcn.0043d360
lea eax, [ebp - 0x410]
push eax
call fcn.005006f0
add esp, 0x10
jmp case.0x4a6292.8
mov ecx, dword [edi + 0x18]
call fcn.0044e020
mov edx, eax
test edx, edx
je case.0x4a6292.8
nop dword [eax]
mov ecx, dword [edx + 0x17c]
cmp ecx, dword [esi + 1]
jne 0x4a886e
mov eax, dword [esi + 5]
mov dword [edx + 0x1ac], eax
mov dword [edx + 0x190], 0
mov ecx, dword [edi + 0x18]
call fcn.0044e0d0
mov edx, eax
test edx, edx
jne 0x4a8850
jmp case.0x4a6292.8
mov ecx, dword [edi + 0x18]
call fcn.0044e020
mov dword [ebp - 0x418], eax
test eax, eax
je case.0x4a6292.8
nop word [eax + eax]
mov ecx, dword [eax + 0x178]
cmp ecx, dword [esi + 1]
jne 0x4a8933
mov ecx, dword [edi + 0x18]
push eax
call fcn.0044e210
mov eax, dword [ebp - 0x418]
mov ecx, dword [edi + 0x154]
push dword [eax + 0x16c]
push dword [eax + 0x168]
push dword [eax + 0x164]
call fcn.004fb910
mov eax, dword [ebp - 0x418]
mov ecx, dword [edi + 4]
push eax
push dword [eax + 0x170]
call fcn.004f4230
mov eax, dword [ebp - 0x418]
add eax, 0x1b0
push eax
lea eax, [ebp - 0x410]
push str._s_is_defeated_
push eax
call fcn.0043d360
lea eax, [ebp - 0x410]
push eax
call fcn.005006f0
mov ecx, dword [ebp - 0x418]
add esp, 0x10
cmp dword [edi + 8], ecx
jne 0x4a892d
mov eax, dword [edi + 0xc]
mov dword [edi + 8], eax
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [edi + 0x18]
call fcn.0044e0d0
mov dword [ebp - 0x418], eax
test eax, eax
jne 0x4a88a0
jmp case.0x4a6292.8
and dword [0x62b108], 0xfffffffe
call fcn.004f1de0
mov eax, dword [esi + 3]
mov ecx, dword [edi + 0x18]
mov dword [edi + 0x754], eax
mov eax, dword [esi + 7]
mov dword [edi + 0x758], eax
mov dword [edi + 0x284], 0
mov dword [edi + 0x280], 0
mov dword [edi + 0x28c], 0
call fcn.0044e020
test eax, eax
je 0x4a89fb
mov esi, eax
mov ecx, dword [edi + 0x18]
cmp esi, dword [edi + 8]
je 0x4a89ea
push esi
call fcn.0044e210
mov eax, dword [esi + 0x16c]
cmp eax, 0xffffffff
jle 0x4a89d8
mov ecx, dword [edi + 0x154]
push eax
push dword [esi + 0x168]
push dword [esi + 0x164]
call fcn.004fb910
mov ecx, dword [edi + 4]
push esi
push dword [esi + 0x170]
call fcn.004f4230
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
mov ecx, dword [edi + 0x18]
call fcn.0044e020
jmp 0x4a89ef
call fcn.0044e0d0
mov esi, eax
test esi, esi
jne 0x4a8998
mov esi, dword [ebp - 0x424]
call fcn.004f1de0
mov ecx, edi
call fcn.004a1370
call fcn.004f1de0
mov cl, byte [esi + 2]
movsx eax, cl
mov dword [0x62ba68], eax
cmp eax, 1
je 0x4a934b
cmp cl, 3
je 0x4a934b
cmp cl, 4
jne 0x4a8dbb
push 0xfffffffffffffffe
lea ecx, [edi + 0x430]
call fcn.0046c2b0
call fcn.004f1de0
mov eax, dword [edi + 0x164]
add esi, 0xf
test eax, eax
je 0x4a8a63
movsx ecx, byte [eax + 0x1c4]
movzx eax, byte [esi]
cmp eax, ecx
je 0x4a90b2
push str.delete_realm_ptr
mov ecx, 0x62b0ec
call fcn.004480d0
push dword [edi + 0x164]
mov ecx, 0x62b0ec
call fcn.00448040
push 0x5d0c78
mov ecx, 0x62b0ec
call fcn.004480d0
mov ecx, dword [edi + 0x164]
test ecx, ecx
je 0x4a8aab
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [edi + 0x164], 0
call fcn.004f1de0
movzx eax, byte [esi]
cmp eax, 6
ja case.0x4a8abc.0
jmp dword [eax*4 + 0x4aa7ec]
push str.new_realm_object_for_the_dead_n
mov ecx, 0x62b0ec
call fcn.004480d0
push 0x1d4
call fcn.0055644a
add esp, 4
mov dword [ebp - 0x428], eax
mov dword [ebp - 4], 8
test eax, eax
je 0x4a8afd
movzx ecx, byte [esi]
push ecx
mov ecx, eax
call fcn.00525e40
jmp 0x4a8aff
xor eax, eax
push str.dat_realm_dead_sky.png
push str.dat_realm_dead_color.png
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [edi + 0x164], eax
call fcn.005276e0
call fcn.004f1de0
mov eax, dword [0x62b2d8]
mov ecx, dword [edi + 0x164]
push 0x19
push dword [eax + 0x2a3d8]
push str.dat_realm_dead_height.png
call fcn.00526740
mov eax, dword [0x62b2d8]
mov ecx, dword [edi + 0x164]
push str.dat_realm_dead_color.png
push dword [eax + 0x2a3d8]
call fcn.00527de0
call fcn.004f1de0
mov ecx, dword [edi + 0x164]
push 1
call fcn.00526000
jmp 0x4a90b2
push str.new_realm_object_for_dragons_n
mov ecx, 0x62b0ec
call fcn.004480d0
push 0x1d4
call fcn.0055644a
add esp, 4
mov dword [ebp - 0x428], eax
mov dword [ebp - 4], 9
test eax, eax
je 0x4a8bab
movzx ecx, byte [esi]
push ecx
mov ecx, eax
call fcn.00525e40
jmp 0x4a8bad
xor eax, eax
push str.dat_realm_dragon_sky.png
push str.dat_realm_dragon_color.png
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [edi + 0x164], eax
call fcn.005276e0
call fcn.004f1de0
mov eax, dword [0x62b2d8]
mov ecx, dword [edi + 0x164]
push 0x19
push dword [eax + 0x2a3d8]
push str.dat_realm_dragons_height.png
call fcn.00526740
mov eax, dword [0x62b2d8]
mov ecx, dword [edi + 0x164]
push str.dat_realm_dragon_color.png
push dword [eax + 0x2a3d8]
call fcn.00527de0
call fcn.004f1de0
mov ecx, dword [edi + 0x164]
push 2
call fcn.00526000
jmp 0x4a90b2
push str.test_realm_object_n
mov ecx, 0x62b0ec
call fcn.004480d0
push 0x1d4
call fcn.0055644a
add esp, 4
mov dword [ebp - 0x428], eax
mov dword [ebp - 4], 0xa
test eax, eax
je 0x4a8c59
movzx ecx, byte [esi]
push ecx
mov ecx, eax
call fcn.00525e40
jmp 0x4a8c5b
xor eax, eax
push str.dat_realm_dead_sky.png
push str.dat_test_texture.png
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [edi + 0x164], eax
call fcn.005276e0
call fcn.004f1de0
mov eax, dword [0x62b2d8]
mov ecx, dword [edi + 0x164]
push 0x19
push dword [eax + 0x2a3d8]
push str.dat_test_height.png
call fcn.00526740
mov eax, dword [0x62b2d8]
mov ecx, dword [edi + 0x164]
push str.dat_test_texture.png
push dword [eax + 0x2a3d8]
call fcn.00527de0
call fcn.004f1de0
mov ecx, dword [edi + 0x164]
push 6
call fcn.00526000
jmp 0x4a90b2
push str.new_realm_object_for_spirits_n
mov ecx, 0x62b0ec
call fcn.004480d0
push 0x1d4
call fcn.0055644a
add esp, 4
mov dword [ebp - 0x428], eax
mov dword [ebp - 4], 7
test eax, eax
je 0x4a8d07
movzx ecx, byte [esi]
push ecx
mov ecx, eax
call fcn.00525e40
jmp 0x4a8d09
xor eax, eax
push str.init___n
mov ecx, 0x62b0ec
mov dword [ebp - 4], 0xffffffff
mov dword [edi + 0x164], eax
call fcn.004480d0
mov ecx, dword [edi + 0x164]
push 0x5d53dc
push str.dat_realm_spirits_color.png
call fcn.005276e0
push str.generate___n
mov ecx, 0x62b0ec
call fcn.004480d0
call fcn.004f1de0
mov eax, dword [0x62b2d8]
mov ecx, dword [edi + 0x164]
push 0x19
push dword [eax + 0x2a3d8]
push str.dat_realm_spirits_height.png
call fcn.00526740
push str.loadTexture___n
mov ecx, 0x62b0ec
call fcn.004480d0
mov eax, dword [0x62b2d8]
mov ecx, dword [edi + 0x164]
push 0x5d53dc
push dword [eax + 0x2a3d8]
call fcn.00527de0
push str.CreateSpiritStaticPositions___n
mov ecx, 0x62b0ec
call fcn.004480d0
call fcn.004f1de0
mov ecx, dword [edi + 0x164]
push 0
call fcn.00526000
jmp 0x4a90b2
cmp cl, 2
jne 0x4a90d9
push 0xfffffffffffffffd
lea ecx, [edi + 0x430]
call fcn.0046c2b0
call fcn.004f1de0
mov eax, dword [edi + 0x168]
add esi, 0xf
test eax, eax
je 0x4a8df5
movsx ecx, byte [eax + 0x1c4]
movzx eax, byte [esi]
cmp eax, ecx
je 0x4a90b2
push str.delete_labyrinth_ptr
mov ecx, 0x62b0ec
call fcn.004480d0
push dword [edi + 0x168]
mov ecx, 0x62b0ec
call fcn.00448040
push 0x5d0c78
mov ecx, 0x62b0ec
call fcn.004480d0
mov ecx, dword [edi + 0x168]
test ecx, ecx
je 0x4a8e3d
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [edi + 0x168], 0
call fcn.004f1de0
movzx eax, byte [esi]
sub eax, 3
je 0x4a8fce
sub eax, 1
je 0x4a8f17
sub eax, 1
jne 0x4a8fce
push str.new_labyrinth_object_n
mov ecx, 0x62b0ec
call fcn.004480d0
push 0x41d8
call fcn.0055644a
add esp, 4
mov dword [ebp - 0x428], eax
mov dword [ebp - 4], 0xd
test eax, eax
je 0x4a8e9a
movzx ecx, byte [esi]
push ecx
mov ecx, eax
call fcn.00510c20
jmp 0x4a8e9c
xor eax, eax
push str.init___n
mov ecx, 0x62b0ec
mov dword [ebp - 4], 0xffffffff
mov dword [edi + 0x168], eax
call fcn.004480d0
mov ecx, dword [edi + 0x168]
push str.datlabyrinth3_ceiling.png
push str.datlabyrinth_color.png
call fcn.005129d0
push str.generate___n
mov ecx, 0x62b0ec
call fcn.004480d0
call fcn.004f1de0
mov eax, dword [0x62b2d8]
mov ecx, dword [edi + 0x168]
push 0x19
push dword [eax + 0x2a3d8]
push str.datlabyrinth3_height.png
call fcn.00511290
push str.loadTexture___n
mov ecx, 0x62b0ec
call fcn.004480d0
push str.datlabyrinth3_floor.png
jmp 0x4a907d
push str.new_labyrinth_object_n
mov ecx, 0x62b0ec
call fcn.004480d0
push 0x41d8
call fcn.0055644a
add esp, 4
mov dword [ebp - 0x428], eax
mov dword [ebp - 4], 0xc
test eax, eax
je 0x4a8f51
movzx ecx, byte [esi]
push ecx
mov ecx, eax
call fcn.00510c20
jmp 0x4a8f53
xor eax, eax
push str.init___n
mov ecx, 0x62b0ec
mov dword [ebp - 4], 0xffffffff
mov dword [edi + 0x168], eax
call fcn.004480d0
mov ecx, dword [edi + 0x168]
push str.datlabyrinth2_texture.png
push str.datlabyrinth_color.png
call fcn.005129d0
push str.generate___n
mov ecx, 0x62b0ec
call fcn.004480d0
call fcn.004f1de0
mov eax, dword [0x62b2d8]
mov ecx, dword [edi + 0x168]
push 0x19
push dword [eax + 0x2a3d8]
push str.datlabyrinth2_height.png
call fcn.00511290
push str.loadTexture___n
mov ecx, 0x62b0ec
call fcn.004480d0
push str.datlabyrinth2_texture.png
jmp 0x4a907d
push str.new_labyrinth_object_n
mov ecx, 0x62b0ec
call fcn.004480d0
push 0x41d8
call fcn.0055644a
add esp, 4
mov dword [ebp - 0x428], eax
mov dword [ebp - 4], 0xb
test eax, eax
je 0x4a9008
movzx ecx, byte [esi]
push ecx
mov ecx, eax
call fcn.00510c20
jmp 0x4a900a
xor eax, eax
push str.init___n
mov ecx, 0x62b0ec
mov dword [ebp - 4], 0xffffffff
mov dword [edi + 0x168], eax
call fcn.004480d0
mov ecx, dword [edi + 0x168]
push 0
push str.datlabyrinth_color.png
call fcn.005129d0
push str.generate___n
mov ecx, 0x62b0ec
call fcn.004480d0
call fcn.004f1de0
mov eax, dword [0x62b2d8]
mov ecx, dword [edi + 0x168]
push 0x19
push dword [eax + 0x2a3d8]
push str.datlabyrinth_height.png
call fcn.00511290
push str.loadTexture___n
mov ecx, 0x62b0ec
call fcn.004480d0
push 0x5d55fc
mov eax, dword [0x62b2d8]
mov ecx, dword [edi + 0x168]
push dword [eax + 0x2a3d8]
call fcn.00512e30
push str.CreateStaticPositions___n
mov ecx, 0x62b0ec
call fcn.004480d0
call fcn.004f1de0
mov ecx, dword [edi + 0x168]
call fcn.00510de0
movzx eax, byte [esi]
mov ecx, dword [edi + 0x164]
mov dword [edi + 0x2a0], eax
mov eax, dword [edi + 0x15c]
mov dword [eax + 0x10], ecx
mov dword [edi + 0x28c], 0
jmp case.0x4a6292.8
test cl, cl
jne case.0x4a6292.8
mov ecx, dword [edi + 0x154]
movzx eax, byte [esi + 0xf]
cmp eax, dword [ecx + 0x110]
je 0x4a9336
push eax
call fcn.004fb380
mov eax, dword [0x62b2d8]
mov ecx, dword [edi + 0x154]
push 0
push 0x100
push 0x100
push dword [eax + 0x2a3d8]
call fcn.004f8f60
mov eax, dword [0x62b2d8]
mov ecx, dword [edi + 0x154]
push str.datgrassfull.png
push dword [eax + 0x2a3d8]
call fcn.004fb810
mov ecx, dword [edi + 0x154]
call fcn.004f7d20
mov eax, dword [0x62ba54]
mov dword [ebp - 0x420], eax
test eax, eax
je 0x4a916b
mov ecx, eax
call fcn.0052b010
push 0x24
push dword [ebp - 0x420]
call fcn.0055647a
add esp, 8
mov eax, dword [0x62ba58]
mov dword [ebp - 0x420], eax
test eax, eax
je 0x4a9191
mov ecx, eax
call fcn.0052b010
push 0x24
push dword [ebp - 0x420]
call fcn.0055647a
add esp, 8
mov eax, dword [0x62ba5c]
mov dword [ebp - 0x420], eax
test eax, eax
je 0x4a91b7
mov ecx, eax
call fcn.0052b010
push 0x24
push dword [ebp - 0x420]
call fcn.0055647a
add esp, 8
mov eax, dword [0x62ba60]
mov dword [ebp - 0x420], eax
test eax, eax
je 0x4a91dd
mov ecx, eax
call fcn.0052b010
push 0x24
push dword [ebp - 0x420]
call fcn.0055647a
add esp, 8
push 0x24
call fcn.0055644a
mov edx, eax
add esp, 4
mov dword [ebp - 0x428], edx
mov dword [ebp - 4], 0xe
test edx, edx
je 0x4a9227
push ecx
mov ecx, dword [0x60f48c]
shl ecx, 5
add ecx, dword [0x60f48c]
mov dword [esp], 0x3e4ccccd
push str.datgrass_bill_1.png
lea eax, [ecx*2 + 5]
mov ecx, edx
push eax
call fcn.0052aef0
jmp 0x4a9229
xor eax, eax
push 0x24
mov dword [ebp - 4], 0xffffffff
mov dword [0x62ba54], eax
call fcn.0055644a
mov edx, eax
add esp, 4
mov dword [ebp - 0x428], edx
mov dword [ebp - 4], 0xf
test edx, edx
je 0x4a927f
push ecx
mov ecx, dword [0x60f48c]
shl ecx, 5
add ecx, dword [0x60f48c]
mov dword [esp], 0x3e800000
push str.datgrass_bill_2.png
lea eax, [ecx*2 + 5]
mov ecx, edx
push eax
call fcn.0052aef0
jmp 0x4a9281
xor eax, eax
push 0x24
mov dword [ebp - 4], 0xffffffff
mov dword [0x62ba58], eax
call fcn.0055644a
mov edx, eax
add esp, 4
mov dword [ebp - 0x428], edx
mov dword [ebp - 4], 0x10
test edx, edx
je 0x4a92d7
push ecx
mov ecx, dword [0x60f48c]
shl ecx, 5
add ecx, dword [0x60f48c]
mov dword [esp], 0x3e99999a
push str.datgrass_bill_3.png
lea eax, [ecx*2 + 5]
mov ecx, edx
push eax
call fcn.0052aef0
jmp 0x4a92d9
xor eax, eax
push 0x24
mov dword [ebp - 4], 0xffffffff
mov dword [0x62ba5c], eax
call fcn.0055644a
mov edx, eax
add esp, 4
mov dword [ebp - 0x428], edx
mov dword [ebp - 4], 0x11
test edx, edx
je 0x4a932f
push ecx
mov ecx, dword [0x60f48c]
shl ecx, 5
add ecx, dword [0x60f48c]
mov dword [esp], 0x3e99999a
push str.datgrass_bill_4.png
lea eax, [ecx*2 + 5]
mov ecx, edx
push eax
call fcn.0052aef0
jmp 0x4a9331
xor eax, eax
mov dword [0x62ba60], eax
movzx eax, byte [esi + 0xf]
mov dword [edi + 0x2a0], eax
mov dword [edi + 0x298], eax
jmp case.0x4a6292.8
xor eax, eax
cmp cl, 3
sete al
mov dword [ebp - 0x41c], eax
xor eax, eax
cmp cl, 3
lea ecx, [edi + 0x430]
setne al
lea eax, [eax*2 - 4]
push eax
call fcn.0046c2b0
call fcn.004f1de0
mov ecx, dword [edi + 0x160]
test ecx, ecx
jne 0x4a939f
push 0x1c0
call fcn.0055644a
add esp, 4
mov dword [ebp - 0x428], eax
mov dword [ebp - 4], 5
jmp 0x4a93ca
mov eax, dword [esi + 0xb]
cmp eax, dword [0x62ba78]
je 0x4a93f1
mov eax, dword [ecx]
push 1
call dword [eax]
push 0x1c0
call fcn.0055644a
add esp, 4
mov dword [ebp - 0x428], eax
mov dword [ebp - 4], 6
test eax, eax
je 0x4a93e2
push str.dungeon
push dword [ebp - 0x41c]
mov ecx, eax
call fcn.004ee520
jmp 0x4a93e4
xor eax, eax
mov dword [edi + 0x160], eax
mov dword [ebp - 4], 0xffffffff
call fcn.004f1de0
mov eax, dword [esi + 0x10]
lea edx, [ebp - 0x44c]
and eax, 1
mov dword [edi + 0x280], eax
mov eax, dword [esi + 0x10]
and eax, 4
mov dword [edi + 0x28c], 0
mov dword [edi + 0x284], eax
xor eax, eax
mov ecx, dword [0x62b3f8]
push 0
push 0
mov dword [ebp - 0x44b], eax
mov eax, dword [ecx]
push edx
push 5
call dword [eax + 4]
jmp case.0x4a6292.8
mov ecx, dword [edi + 0x160]
test ecx, ecx
je case.0x4a6292.8
push esi
call fcn.004efc30
jmp case.0x4a6292.8
mov ecx, dword [edi + 0x160]
test ecx, ecx
je case.0x4a6292.8
push esi
call fcn.004efa50
jmp case.0x4a6292.8
mov eax, dword [esi + 1]
mov dword [edi + 0x420], eax
jmp case.0x4a6292.8
mov eax, dword [esi + 1]
mov dword [edi + 0x74c], eax
jmp case.0x4a6292.8
mov ecx, dword [edi + 0x18]
call fcn.0044e020
mov edx, eax
mov dword [ebp - 0x41c], edx
test edx, edx
je 0x4a951d
mov ecx, dword [edx + 0x178]
cmp ecx, dword [esi + 1]
jne 0x4a9509
mov eax, dword [edx + 0x210]
cmp eax, dword [esi + 5]
jle 0x4a94f7
movq xmm0, qword [edx + 0x114]
sub esp, 0x10
mov eax, dword [edx + 0x11c]
mov ecx, esp
mov dword [esp + 0xc], 0x42480000
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, dword [edi + 0x574]
call fcn.00462850
mov ecx, dword [edi + 0x574]
call fcn.00462730
mov edx, dword [ebp - 0x41c]
mov eax, dword [esi + 5]
mov dword [edx + 0x210], eax
mov eax, dword [esi + 9]
mov dword [edx + 0x214], eax
mov ecx, dword [edi + 0x18]
call fcn.0044e0d0
mov edx, eax
mov dword [ebp - 0x41c], eax
test edx, edx
jne 0x4a94a3
mov eax, dword [edi + 8]
test eax, eax
je case.0x4a6292.8
mov eax, dword [eax + 0x210]
mov dword [0x62cc7c], eax
mov eax, dword [edi + 8]
mov eax, dword [eax + 0x214]
mov dword [0x62cc80], eax
jmp case.0x4a6292.8
mov ecx, dword [edi + 0x18]
call fcn.0044e020
mov edx, eax
mov dword [ebp - 0x418], edx
test edx, edx
je case.0x4a6292.8
nop
mov ecx, dword [edx + 0x17c]
cmp ecx, dword [esi + 1]
jne 0x4a95f0
mov eax, dword [edx + 0x210]
cmp eax, dword [esi + 5]
jle 0x4a95cc
movq xmm0, qword [edx + 0x114]
sub esp, 0x10
mov eax, dword [edx + 0x11c]
mov ecx, esp
mov dword [esp + 0xc], 0x42480000
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, dword [edx + 0x180]
mov ecx, dword [edi + ecx*4 + 0x4ec]
call fcn.00462850
mov eax, dword [ebp - 0x418]
mov ecx, dword [eax + 0x180]
mov ecx, dword [edi + ecx*4 + 0x4ec]
call fcn.00462730
mov edx, dword [ebp - 0x418]
mov eax, dword [esi + 5]
mov dword [edx + 0x210], eax
mov eax, dword [esi + 9]
mov dword [edx + 0x214], eax
mov dword [edx + 0x218], 0x258
mov ecx, dword [edi + 0x18]
call fcn.0044e090
mov ecx, dword [edi + 0x18]
call fcn.0044e0d0
mov edx, eax
mov dword [ebp - 0x418], eax
test edx, edx
jne 0x4a9560
jmp case.0x4a6292.8
mov ecx, dword [edi + 0x18]
call fcn.0044e020
mov ecx, eax
mov dword [ebp - 0x41c], ecx
test ecx, ecx
je case.0x4a6292.8
movss xmm4, dword [0x5d5728]
movss dword [ebp - 0x420], xmm4
mov eax, dword [esi + 1]
cmp eax, 0xffffffff
je 0x4a9692
cmp dword [ecx + 0x178], eax
jne 0x4a9748
movsx eax, byte [esi + 9]
mov dword [ecx + 0x254], eax
mov dword [ecx + 0x258], 0
mov dword [ecx + 0x25c], 0x3f800000
mov dword [ecx + 0x260], 0x3f800000
mov dword [ecx + 0x264], 0x3f800000
mov dword [ecx + 0x268], 0
mov ecx, dword [edi + 0x18]
call fcn.0044e090
jmp 0x4a9748
mov eax, dword [ecx + 0x17c]
cmp eax, dword [esi + 5]
jne 0x4a9748
movsx eax, byte [esi + 9]
mov dword [ecx + 0x254], eax
mov dword [ecx + 0x258], 0
movsx edx, byte [esi + 9]
movzx esi, byte [edx + edx*2 + 0x623638]
movzx ecx, byte [edx + edx*2 + 0x623639]
mov eax, esi
movzx edx, byte [edx + edx*2 + 0x62363a]
shl eax, 8
or ecx, eax
movd xmm0, esi
mov eax, ecx
shl eax, 8
or edx, eax
movzx eax, cl
cvtdq2ps xmm0, xmm0
movd xmm3, eax
movzx eax, dl
shr edx, 0x18
cvtdq2ps xmm3, xmm3
movd xmm2, eax
mov eax, dword [ebp - 0x41c]
movd xmm1, edx
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm4
mulss xmm3, xmm4
mulss xmm2, xmm4
movss dword [eax + 0x25c], xmm0
mulss xmm1, xmm4
movss dword [eax + 0x260], xmm3
movss dword [eax + 0x264], xmm2
movss dword [eax + 0x268], xmm1
mov ecx, dword [edi + 0x18]
call fcn.0044e090
mov esi, dword [ebp - 0x424]
mov ecx, dword [edi + 0x18]
call fcn.0044e0d0
movss xmm4, dword [ebp - 0x420]
mov ecx, eax
mov dword [ebp - 0x41c], eax
test ecx, ecx
jne 0x4a9635
jmp case.0x4a6292.8
mov ecx, dword [edi + 0x18]
call fcn.0044e020
mov edx, eax
test edx, edx
je case.0x4a6292.8
nop
mov ecx, dword [edx + 0x17c]
cmp ecx, dword [esi + 1]
jne 0x4a97a7
movzx eax, byte [esi + 5]
mov byte [edx + 0x18c], al
movzx eax, byte [esi + 6]
mov byte [edx + 0x18d], al
mov ecx, dword [edi + 0x18]
call fcn.0044e090
mov ecx, dword [edi + 0x18]
call fcn.0044e0d0
mov edx, eax
test edx, edx
jne 0x4a9780
jmp case.0x4a6292.8
mov ecx, dword [edi + 0x18]
call fcn.0044e020
mov edx, eax
test edx, edx
je case.0x4a6292.8
nop dword [eax]
mov ecx, dword [edx + 0x17c]
cmp ecx, dword [esi + 1]
jne 0x4a97ec
mov al, byte [esi + 5]
mov byte [edx + 0x18e], al
mov ecx, dword [edi + 0x18]
call fcn.0044e090
mov ecx, dword [edi + 0x18]
call fcn.0044e0d0
mov edx, eax
test edx, edx
jne 0x4a97d0
jmp case.0x4a6292.8
mov dword [edi + 0x2a0], 0
mov dword [0x62cccc], 1
jmp case.0x4a6292.8
cmp byte [esi + 0xe], 1
mov dword [ebp - 0x418], 0
jne 0x4a98d8
movzx eax, byte [esi + 9]
mov ecx, dword [edi + 0x154]
push eax
call fcn.004faef0
movzx eax, byte [esi + 0xa]
mov ecx, dword [edi + 0x154]
fstp dword [ebp - 0x420]
push eax
call fcn.004fb000
movss xmm1, dword [ebp - 0x420]
sub esp, 8
fstp dword [ebp - 0x41c]
movss xmm0, dword [ebp - 0x41c]
mov ecx, edi
movss dword [ebp - 0x434], xmm1
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
call fcn.004aab50
movss xmm0, dword [ebp - 0x41c]
sub esp, 0x10
mov ecx, esp
movss dword [ebp - 0x42c], xmm0
mov eax, dword [ebp - 0x42c]
fstp dword [ebp - 0x430]
movq xmm0, qword [ebp - 0x434]
mov dword [esp + 0xc], 0x42480000
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, dword [edi + 0x580]
call fcn.00462850
mov ecx, dword [edi + 0x580]
call fcn.00462730
jmp case.0x4a6292.8
mov ecx, dword [edi + 0x18]
call fcn.0044e020
mov dword [ebp - 0x424], eax
test eax, eax
je 0x4a991c
xor ecx, ecx
nop dword [eax]
test ecx, ecx
jne 0x4a991c
mov ecx, dword [eax + 0x178]
cmp ecx, 0xffffffff
je 0x4a994a
cmp ecx, dword [esi + 1]
je 0x4a995b
mov ecx, dword [edi + 0x18]
call fcn.0044e0d0
mov ecx, dword [ebp - 0x418]
mov dword [ebp - 0x424], eax
test eax, eax
jne 0x4a98f0
push 0x4d8
call fcn.0055644a
add esp, 4
mov dword [ebp - 0x428], eax
mov dword [ebp - 4], 0x12
test eax, eax
je 0x4a9968
push 0x5d5184
push 0
mov ecx, eax
call fcn.004ae220
jmp 0x4a996a
mov eax, dword [eax + 0x17c]
cmp eax, dword [esi + 5]
jne 0x4a9904
mov eax, dword [ebp - 0x424]
mov ecx, 1
mov dword [ebp - 0x418], ecx
jmp 0x4a9918
xor eax, eax
mov ecx, dword [edi + 0x18]
push eax
mov dword [ebp - 0x414], eax
mov dword [ebp - 4], 0xffffffff
call fcn.0044de70
mov eax, dword [ebp - 0x414]
push 0x5cfad4
mov dword [eax + 0x160], 0xa
add eax, 0x1b0
push eax
call fcn.0043d360
add esp, 8
call dword [sym.imp.WINMM.dll_timeGetTime]
movsx ecx, word [esi + 0xf]
imul ecx, ecx, 0x3e8
add eax, ecx
mov ecx, dword [ebp - 0x414]
mov dword [ecx + 0x238], eax
xor eax, eax
cmp ax, word [esi + 0xf]
jne 0x4a99cf
mov dword [ecx + 0x238], eax
movzx eax, byte [esi + 0xe]
mov dword [ecx + 0x234], eax
movzx eax, byte [esi + 0xb]
movzx ecx, byte [esi + 0xc]
or eax, 0x3700
movzx edx, byte [esi + 0xd]
mov dword [ebp - 0x420], eax
shl eax, 8
or ecx, eax
movss xmm2, dword [0x5d5728]
mov eax, ecx
shl eax, 8
or edx, eax
movzx eax, cl
movd xmm4, eax
movzx eax, dl
shr edx, 0x18
cmp dword [ebp - 0x418], 0
cvtdq2ps xmm4, xmm4
movd xmm3, eax
mov eax, dword [ebp - 0x420]
movzx eax, al
movd xmm1, edx
cvtdq2ps xmm3, xmm3
movd xmm0, eax
mov eax, dword [ebp - 0x414]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm2
mulss xmm4, xmm2
movss dword [eax + 0x224], xmm0
mulss xmm3, xmm2
movss dword [eax + 0x228], xmm4
mulss xmm1, xmm2
movss dword [eax + 0x22c], xmm3
movss dword [eax + 0x230], xmm1
movzx ecx, byte [esi + 9]
mov dword [eax + 0x164], ecx
movzx eax, byte [esi + 0xa]
mov esi, dword [ebp - 0x414]
mov dword [esi + 0x168], eax
je 0x4a9aec
mov eax, dword [ebp - 0x424]
movups xmm0, xmmword [eax + 0x108]
movups xmmword [esi + 0x108], xmm0
movups xmm0, xmmword [eax + 0x118]
movups xmmword [esi + 0x118], xmm0
movups xmm0, xmmword [eax + 0x128]
movups xmmword [esi + 0x128], xmm0
movups xmm0, xmmword [eax + 0x138]
movups xmmword [esi + 0x138], xmm0
movups xmm0, xmmword [eax + 0x148]
movups xmmword [esi + 0x148], xmm0
movq xmm0, qword [eax + 0x158]
movq qword [esi + 0x158], xmm0
jmp case.0x4a6292.8
cmp dword [0x62ba68], 4
push ecx
jne 0x4a9b58
mov esi, dword [edi + 0x164]
mov ecx, esi
call fcn.005272d0
fstp dword [ebp - 0x420]
mov ecx, esi
call fcn.00525fb0
fmul dword [0x5d0bb4]
mov esi, dword [ebp - 0x414]
fadd dword [ebp - 0x420]
push dword [esi + 0x168]
fstp dword [esi + 0x114]
mov ecx, dword [edi + 0x164]
call fcn.00527390
mov ecx, dword [edi + 0x164]
fstp dword [ebp - 0x420]
call fcn.00525fb0
fmul dword [0x5d0bb4]
fadd dword [ebp - 0x420]
jmp 0x4a9bb4
mov ecx, dword [edi + 0x154]
call fcn.004faef0
mov ecx, dword [edi + 0x154]
fstp dword [ebp - 0x420]
call fcn.004f7c30
fmul dword [0x5d0bb4]
push dword [esi + 0x168]
fadd dword [ebp - 0x420]
fstp dword [esi + 0x114]
mov ecx, dword [edi + 0x154]
call fcn.004fb000
mov ecx, dword [edi + 0x154]
fstp dword [ebp - 0x420]
call fcn.004f7c30
fmul dword [0x5d0bb4]
fadd dword [ebp - 0x420]
fstp dword [ebp - 0x41c]
movss xmm1, dword [ebp - 0x41c]
sub esp, 8
movss dword [esi + 0x11c], xmm1
mov ecx, edi
movss xmm0, dword [esi + 0x114]
mov dword [esi + 0x108], 0
movss dword [esp + 4], xmm1
mov dword [esi + 0x10c], 0
movss dword [esp], xmm0
call fcn.004aab50
fadd dword [0x5d0048]
fstp dword [esi + 0x118]
jmp case.0x4a6292.8
mov ecx, dword [edi + 0x18]
call fcn.0044e020
mov dword [ebp - 0x418], eax
test eax, eax
je case.0x4a6292.8
mov ecx, dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [ebp - 0x41c], ecx
nop
mov eax, dword [eax + 0x178]
cmp eax, dword [esi + 1]
jne 0x4a9d0c
call ecx
mov ecx, dword [ebp - 0x418]
movss xmm4, dword [0x5d5728]
mov dword [ecx + 0x250], eax
mov dword [ecx + 0x23c], 0
movzx eax, byte [esi + 5]
or eax, 0x3700
mov dword [ebp - 0x420], eax
mov ecx, eax
movzx eax, byte [esi + 6]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 7]
mov edx, ecx
shl edx, 8
or edx, eax
movzx eax, cl
movd xmm3, eax
movzx eax, dl
shr edx, 0x18
cvtdq2ps xmm3, xmm3
movd xmm2, eax
mov eax, dword [ebp - 0x420]
movzx eax, al
movd xmm1, edx
cvtdq2ps xmm2, xmm2
movd xmm0, eax
mov eax, dword [ebp - 0x418]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm4
mulss xmm3, xmm4
mulss xmm2, xmm4
movss dword [eax + 0x240], xmm0
mulss xmm1, xmm4
movss dword [eax + 0x244], xmm3
movss dword [eax + 0x248], xmm2
movss dword [eax + 0x24c], xmm1
cmp byte [esi + 5], 0
jne 0x4a9d04
cmp byte [esi + 6], 0
jne 0x4a9d04
cmp byte [esi + 7], 0
jne 0x4a9d04
mov dword [eax + 0x23c], 0xffffffff
mov ecx, dword [edi + 0x18]
call fcn.0044e090
mov ecx, dword [edi + 0x18]
call fcn.0044e0d0
mov ecx, dword [ebp - 0x41c]
mov dword [ebp - 0x418], eax
test eax, eax
jne 0x4a9c30
jmp case.0x4a6292.8
mov ecx, dword [edi + 0x18]
call fcn.0044e020
mov ecx, eax
mov dword [ebp - 0x41c], ecx
test ecx, ecx
je case.0x4a6292.8
mov eax, dword [ecx + 0x178]
cmp eax, dword [esi + 1]
jne 0x4a9d96
movzx eax, byte [esi + 8]
imul eax, eax, 0xd0
push esi
add eax, 0x338
add ecx, eax
call fcn.004af7d0
cmp byte [esi + 0xd], 0
jne 0x4a9d8e
mov eax, dword [ebp - 0x41c]
mov ecx, dword [edi + 8]
mov eax, dword [eax + 0x178]
cmp eax, dword [ecx + 0x178]
jne 0x4a9d8e
mov dword [edi + 0x290], 1
mov ecx, dword [edi + 0x18]
call fcn.0044e090
mov ecx, dword [edi + 0x18]
call fcn.0044e0d0
mov ecx, eax
mov dword [ebp - 0x41c], eax
test ecx, ecx
jne 0x4a9d45
jmp case.0x4a6292.8
mov ecx, dword [edi + 0x18]
xor eax, eax
mov dword [ebp - 0x418], eax
mov dword [ebp - 0x414], eax
call fcn.0044e020
mov ecx, eax
test ecx, ecx
je case.0x4a6292.8
nop
mov eax, dword [ecx + 0x178]
cmp eax, 0xffffffff
jle 0x4a9e07
cmp eax, dword [esi + 1]
jne 0x4a9e1f
movzx eax, byte [esi + 9]
imul eax, eax, 0xd0
cmp dword [eax + ecx + 0x338], 0
je 0x4a9e1f
mov dword [eax + ecx + 0x378], 1
mov dword [ebp - 0x414], ecx
jmp 0x4a9e1f
mov eax, dword [ecx + 0x17c]
mov edx, dword [ebp - 0x418]
cmp eax, dword [esi + 5]
cmove edx, ecx
mov dword [ebp - 0x418], edx
mov ecx, dword [edi + 0x18]
call fcn.0044e0d0
mov ecx, eax
test ecx, ecx
jne 0x4a9dd0
mov ecx, dword [ebp - 0x414]
test ecx, ecx
je case.0x4a6292.8
mov eax, dword [ebp - 0x418]
test eax, eax
je case.0x4a6292.8
test byte [0x62ccc4], 1
je 0x4a9e91
push dword [esi + 0xb]
add eax, 0x1b0
push eax
movzx eax, byte [esi + 9]
add eax, 4
imul eax, eax, 0xd0
add eax, ecx
push eax
lea eax, [ebp - 0x410]
push str._s_breathes_on_the__s_for__d_damage.
push eax
call fcn.0043d360
lea eax, [ebp - 0x410]
push eax
call fcn.005006f0
mov ecx, dword [ebp - 0x414]
add esp, 0x18
push ecx
push dword [ecx + 0x170]
mov ecx, dword [edi + 4]
call fcn.004f4250
mov ecx, dword [edi + 4]
mov esi, eax
mov eax, dword [ebp - 0x418]
push eax
push dword [eax + 0x170]
call fcn.004f4250
sub esp, 0x18
movss xmm0, dword [eax + 0x10c]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
movss dword [esp + 0xc], xmm0
movss xmm0, dword [eax + 0x108]
movss dword [esp + 8], xmm0
movss xmm0, dword [esi + 0x10c]
movss dword [esp + 4], xmm0
movss xmm0, dword [esi + 0x108]
movss dword [esp], xmm0
call fcn.0044d980
mov edx, dword [ebp - 0x424]
add esp, 0x18
fstp dword [esi + 0x118]
mov esi, dword [ebp - 0x414]
movzx eax, byte [edx + 9]
imul ecx, eax, 0xd0
mov eax, dword [ebp - 0x418]
movq xmm0, qword [eax + 0x114]
movq qword [ecx + esi + 0x35c], xmm0
mov eax, dword [eax + 0x11c]
mov dword [ecx + esi + 0x364], eax
movzx eax, byte [edx + 9]
imul eax, eax, 0xd0
movss xmm0, dword [eax + esi + 0x360]
addss xmm0, dword [0x5d3da4]
movss dword [eax + esi + 0x360], xmm0
movzx eax, byte [edx + 9]
movzx ecx, byte [edx + 0xa]
imul eax, eax, 0xd0
mov dword [eax + esi + 0x368], ecx
jmp case.0x4a6292.8
mov eax, dword [esi + 1]
mov dword [0x62ccc4], eax
jmp case.0x4a6292.8
push 0x14
call fcn.0055644a
add esp, 4
mov dword [ebp - 0x428], eax
mov dword [ebp - 4], 0x13
test eax, eax
je 0x4a9fc0
push 0x46
mov ecx, eax
call fcn.00448260
mov dword [ebp - 0x418], eax
jmp 0x4a9fca
mov dword [ebp - 0x418], 0
push dword [ebp + 0xc]
mov dword [ebp - 4], 0xffffffff
push esi
mov esi, dword [ebp - 0x418]
mov ecx, esi
call fcn.004487a0
lea eax, [ebp - 0x441]
mov dword [esi + 8], 0
push eax
mov ecx, esi
call fcn.004482c0
lea eax, [ebp - 0x450]
mov ecx, esi
push eax
call fcn.00448320
mov ecx, dword [edi + 0x18]
call fcn.0044e020
mov dword [ebp - 0x41c], eax
test eax, eax
je 0x4aa073
nop dword [eax + eax]
mov ecx, dword [eax + 0x178]
cmp ecx, dword [ebp - 0x450]
jne 0x4aa05b
xor edi, edi
mov ecx, dword [ebp - 0x418]
lea esi, [eax + 0x1d0]
add esi, edi
push esi
call fcn.004482a0
cmp byte [esi], 0
je 0x4aa055
mov eax, dword [ebp - 0x41c]
inc edi
cmp edi, 0x41
jl 0x4aa030
mov edi, dword [ebp - 0x414]
mov ecx, dword [edi + 0x18]
call fcn.0044e0d0
mov dword [ebp - 0x41c], eax
test eax, eax
jne 0x4aa020
mov esi, dword [ebp - 0x418]
mov ecx, esi
call fcn.00448290
push 0x14
push esi
call fcn.0055647a
add esp, 8
jmp case.0x4a6292.8
mov eax, dword [edi + 8]
mov eax, dword [eax + 0x178]
cmp eax, dword [esi + 1]
jne case.0x4a6292.8
mov dword [edi + 0x280], 1
jmp case.0x4a6292.8
movzx eax, byte [esi + 5]
sub esp, 8
lea eax, [eax + eax*4]
lea eax, [eax*2 + 5]
movd xmm1, eax
movzx eax, byte [esi + 6]
cvtdq2ps xmm1, xmm1
lea eax, [eax + eax*4]
lea eax, [eax*2 + 5]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x434], xmm1
movss dword [esp + 4], xmm0
movss dword [ebp - 0x42c], xmm0
movss dword [esp], xmm1
call fcn.004aab50
cmp dword [esi + 1], 0
fadd dword [0x5d3d9c]
fstp dword [ebp - 0x430]
je 0x4aa20e
mov ecx, dword [edi + 0x18]
call fcn.0044e020
mov ecx, eax
test ecx, ecx
je 0x4aa20e
mov eax, dword [ebp - 0x42c]
mov dword [ebp - 0x414], eax
nop dword [eax]
mov eax, dword [ecx + 0x178]
cmp eax, 0xffffffff
jle 0x4aa17e
cmp eax, dword [esi + 1]
jne 0x4aa17e
movq xmm0, qword [ecx + 0x114]
mov eax, dword [ecx + 0x11c]
mov ecx, dword [edi + 0x18]
movq qword [ebp - 0x434], xmm0
movss xmm0, dword [ebp - 0x430]
addss xmm0, dword [0x5d3da0]
mov dword [ebp - 0x414], eax
movss dword [ebp - 0x430], xmm0
call fcn.0044e090
mov ecx, eax
cmp dword [ecx + 0x160], 0xc
jne 0x4aa1fa
movzx eax, byte [esi + 5]
cmp dword [ecx + 0x164], eax
jne 0x4aa1fa
movzx eax, byte [esi + 6]
cmp dword [ecx + 0x168], eax
jne 0x4aa1fa
movq xmm0, qword [ecx + 0x114]
sub esp, 8
mov eax, dword [ecx + 0x11c]
mov ecx, edi
movq qword [ebp - 0x434], xmm0
mov dword [ebp - 0x42c], eax
movss xmm0, dword [ebp - 0x42c]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x434]
mov dword [ebp - 0x414], eax
movss dword [esp], xmm0
call fcn.004aab50
fadd dword [0x5d3d9c]
fstp dword [ebp - 0x430]
mov ecx, dword [edi + 0x18]
call fcn.0044e0d0
mov ecx, eax
test ecx, ecx
jne 0x4aa130
jmp 0x4aa21a
mov eax, dword [ebp - 0x42c]
mov dword [ebp - 0x414], eax
movzx eax, byte [esi + 6]
sub esp, 0x10
mov ecx, dword [edi + 8]
movd xmm0, eax
movzx eax, byte [esi + 5]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xc], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 8], xmm0
movd xmm0, dword [ecx + 0x168]
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movd xmm0, dword [ecx + 0x164]
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.0044ce60
xor eax, eax
add esp, 0x10
fstp dword [ebp - 0x418]
mov dword [ebp - 0x424], eax
cmp byte [esi + 7], al
jne 0x4aa28c
cmp byte [esi + 8], al
jne 0x4aa28c
cmp byte [esi + 9], al
je 0x4aa314
movss xmm0, dword [ebp - 0x418]
movss xmm1, dword [0x5d57a4]
comiss xmm1, xmm0
mov dword [ebp - 0x424], 1
jbe 0x4aa419
movq xmm0, qword [ebp - 0x434]
sub esp, 0xc
mov ecx, dword [ebp - 0x414]
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov ecx, dword [0x62ba40]
call fcn.0051cbc0
movss xmm0, dword [esi + 0xf]
sub esp, 0x14
divss xmm0, dword [0x5d414c]
mov eax, esp
mov dword [eax], 0x3f800000
mov dword [eax + 4], 0x3f800000
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0x3f1b9b9c
mov ecx, dword [0x62ba40]
movss dword [esp + 0x10], xmm0
push 0x32
call fcn.0051c7c0
movss xmm1, dword [0x5d57a4]
movss xmm0, dword [ebp - 0x418]
comiss xmm1, xmm0
jbe 0x4aa419
movq xmm0, qword [ebp - 0x434]
sub esp, 0xc
mov ecx, dword [ebp - 0x414]
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov ecx, dword [0x62ba44]
call fcn.0051dc80
movss xmm0, dword [esi + 0xf]
sub esp, 0x14
divss xmm0, dword [0x5d3e58]
movzx edx, byte [esi + 7]
mov ecx, esp
movzx eax, byte [esi + 8]
or edx, 0xffff9b00
shl edx, 8
or edx, eax
movzx eax, byte [esi + 9]
shl edx, 8
or edx, eax
mov eax, edx
shr eax, 0x10
movzx eax, al
movss xmm1, dword [0x5d5728]
movss dword [esp + 0x10], xmm0
movd xmm0, eax
mov eax, edx
cvtdq2ps xmm0, xmm0
shr eax, 8
movzx eax, al
push 0x32
mulss xmm0, xmm1
movss dword [ecx], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movzx eax, dl
shr edx, 0x18
mulss xmm0, xmm1
movss dword [ecx + 4], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ecx + 8], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ecx + 0xc], xmm0
mov ecx, dword [0x62ba44]
call fcn.0051d880
movss xmm1, dword [ebp - 0x418]
addss xmm1, dword [0x5d0048]
movss xmm0, dword [esi + 0xf]
divss xmm0, xmm1
movss dword [0x62ba64], xmm0
movss xmm0, dword [ebp - 0x418]
movss xmm1, dword [esi + 0xf]
comiss xmm1, dword [0x5d14b0]
mov eax, dword [ebp - 0x424]
jbe 0x4aa4b8
test eax, eax
je 0x4aa4b8
cmp dword [edi + 8], 0
je 0x4aa480
comiss xmm0, dword [0x5d0bb8]
jbe 0x4aa480
movq xmm0, qword [ebp - 0x434]
sub esp, 0x10
mov ecx, dword [ebp - 0x414]
mov eax, esp
mov dword [esp + 0xc], 0x42480000
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov ecx, dword [edi + 0x59c]
call fcn.00462850
mov ecx, dword [edi + 0x59c]
jmp 0x4aa610
movq xmm0, qword [ebp - 0x434]
sub esp, 0x10
mov ecx, dword [ebp - 0x414]
mov eax, esp
mov dword [esp + 0xc], 0x42480000
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov ecx, dword [edi + 0x598]
call fcn.00462850
mov ecx, dword [edi + 0x598]
jmp 0x4aa610
comiss xmm1, dword [0x5d414c]
jbe 0x4aa54c
test eax, eax
je 0x4aa54c
cmp dword [edi + 8], 0
je 0x4aa514
comiss xmm0, dword [0x5d3e48]
jbe 0x4aa514
movq xmm0, qword [ebp - 0x434]
sub esp, 0x10
mov ecx, dword [ebp - 0x414]
mov eax, esp
mov dword [esp + 0xc], 0x42480000
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov ecx, dword [edi + 0x594]
call fcn.00462850
mov ecx, dword [edi + 0x594]
jmp 0x4aa610
movq xmm0, qword [ebp - 0x434]
sub esp, 0x10
mov ecx, dword [ebp - 0x414]
mov eax, esp
mov dword [esp + 0xc], 0x42480000
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov ecx, dword [edi + 0x590]
call fcn.00462850
mov ecx, dword [edi + 0x590]
jmp 0x4aa610
comiss xmm1, dword [0x5d0bb8]
jbe 0x4aa5dd
test eax, eax
je 0x4aa5dd
cmp dword [edi + 8], 0
je 0x4aa5a8
comiss xmm0, dword [0x5d0074]
jbe 0x4aa5a8
movq xmm0, qword [ebp - 0x434]
sub esp, 0x10
mov ecx, dword [ebp - 0x414]
mov eax, esp
mov dword [esp + 0xc], 0x42480000
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov ecx, dword [edi + 0x58c]
call fcn.00462850
mov ecx, dword [edi + 0x58c]
jmp 0x4aa610
movq xmm0, qword [ebp - 0x434]
sub esp, 0x10
mov ecx, dword [ebp - 0x414]
mov eax, esp
mov dword [esp + 0xc], 0x42480000
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov ecx, dword [edi + 0x588]
call fcn.00462850
mov ecx, dword [edi + 0x588]
jmp 0x4aa610
movq xmm0, qword [ebp - 0x434]
sub esp, 0x10
mov ecx, dword [ebp - 0x414]
mov eax, esp
mov dword [esp + 0xc], 0x42480000
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov ecx, dword [edi + 0x584]
call fcn.00462850
mov ecx, dword [edi + 0x584]
call fcn.00462730
mov ecx, dword [edi + 0x18]
call fcn.0044e020
mov ecx, eax
mov dword [ebp - 0x418], ecx
test ecx, ecx
je case.0x4a6292.8
nop dword [eax]
cmp dword [ecx + 0x160], 0xc
jne 0x4aa6a6
movzx eax, byte [esi + 5]
cmp dword [ecx + 0x164], eax
jne 0x4aa6a6
movzx eax, byte [esi + 6]
cmp dword [ecx + 0x168], eax
jne 0x4aa6a6
push ecx
mov ecx, dword [edi + 0x18]
call fcn.0044e210
mov eax, dword [ebp - 0x418]
mov ecx, dword [edi + 0x154]
push dword [eax + 0x16c]
push dword [eax + 0x168]
push dword [eax + 0x164]
call fcn.004fb910
mov eax, dword [ebp - 0x418]
mov ecx, dword [edi + 4]
push eax
push dword [eax + 0x170]
call fcn.004f4230
mov ecx, dword [ebp - 0x418]
push 1
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [edi + 0x18]
call fcn.0044e0d0
mov ecx, eax
mov dword [ebp - 0x418], eax
test ecx, ecx
jne 0x4aa630
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00556488
mov esp, ebp
pop ebp
ret 8