Function at 0x4c5150
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x5e90f0]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x198]
cmp eax, dword [ecx + 8]
jbe 0x4c6ccc
sub esp, 0x218
lea eax, [0x4e4a80]
mov dword [esp], eax
call fcn.0040cf70
mov edi, dword [esp + 4]
mov dword [esp + 0x214], edi
lea esi, [0x514efc]
call fcn.004697fa
xor eax, eax
jmp 0x4c51ca
mov dword [esp + 0x19c], eax
mov ecx, dword [esp + 0x228]
lea edx, [ecx + eax*8]
mov ebx, dword [edx]
mov edx, dword [edx + 4]
mov ebx, dword [ebx + 0x10]
mov dword [esp], edx
mov edx, dword [esp + 0x214]
mov dword [esp + 4], edx
call ebx
mov eax, dword [esp + 0x19c]
inc eax
mov ecx, dword [esp + 0x22c]
cmp ecx, eax
jg 0x4c5199
mov eax, dword [esp + 0x21c]
mov ecx, dword [esp + 0x220]
xor edx, edx
xor ebx, ebx
jmp 0x4c51ec
inc edx
mov ebx, ebp
cmp ecx, edx
jle 0x4c51ff
lea ebp, [edx + edx*2]
mov ebp, dword [eax + ebp*4 + 4]
cmp ebx, ebp
jl 0x4c51e9
mov ebp, ebx
jmp 0x4c51e9
mov edx, dword [esp + 0x214]
mov ebp, dword [edx]
test ebp, ebp
jle 0x4c521a
mov dword [esp + 0xc0], ebx
xor ebp, ebp
jmp 0x4c6b5c
mov dword [esp + 0xc0], ebx
nop
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 0x7ff00000
nop
movsd xmm0, qword [esp + 0x168]
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0xfff00000
movsd xmm1, qword [esp + 0x160]
xor ebp, ebp
jmp 0x4c528b
mov esi, dword [esp + 0xdc]
lea ebp, [esi + 1]
mov eax, dword [esp + 0x21c]
mov ecx, dword [esp + 0x220]
mov edx, dword [esp + 0x214]
mov ebx, dword [esp + 0xc0]
cmp ecx, ebp
jle 0x4c5302
mov dword [esp + 0xdc], ebp
movsd qword [esp + 0x94], xmm0
movsd qword [esp + 0xa4], xmm1
lea ecx, [ebp + ebp*2]
mov edx, dword [eax + ecx*4]
mov ebx, dword [eax + ecx*4 + 4]
mov ecx, dword [eax + ecx*4 + 8]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.004c7230
movsd xmm0, qword [esp + 0xc]
movsd xmm1, qword [esp + 0x94]
ucomisd xmm1, xmm0
ja 0x4c52e0
movsd xmm0, xmm1
movsd xmm1, qword [esp + 0x14]
movsd xmm2, qword [esp + 0xa4]
ucomisd xmm1, xmm2
ja 0x4c5265
movsd xmm1, xmm2
jmp 0x4c5265
mov ebp, dword [edx + 8]
test ebp, ebp
je 0x4c5314
movsd xmm2, qword [ebp]
ucomisd xmm0, xmm2
ja 0x4c5318
movsd xmm2, xmm0
mov ebp, dword [edx + 0xc]
test ebp, ebp
je 0x4c532a
movsd xmm0, qword [ebp]
ucomisd xmm0, xmm1
ja 0x4c532e
movsd xmm0, xmm1
movsd qword [esp + 0xa4], xmm0
movsd qword [esp + 0x94], xmm2
movsd xmm1, xmm0
subsd xmm0, xmm2
movsd qword [esp + 0x118], xmm0
mov ebp, dword [esp + 0x118]
mov esi, dword [esp + 0x11c]
and esi, 0x7fffffff
mov dword [esp + 0x158], ebp
mov dword [esp + 0x15c], esi
mov ebp, dword [edx + 4]
movsd xmm0, qword [esp + 0x158]
movsd qword [esp + 0x24], xmm0
test ebp, ebp
jg 0x4c54ba
cvttsd2si ebp, xmm0
test ebp, ebp
jle 0x4c539d
mov dword [edx + 4], ebp
jmp 0x4c54ba
nop
movsd qword [esp], xmm0
call fcn.00479d40
movsd xmm0, qword [esp + 8]
movsd xmm1, qword [0x514628]
mulsd xmm0, xmm1
movsd xmm2, qword [0x514680]
pxor xmm0, xmm2
movsd qword [esp], xmm0
call fcn.0047a1e0
movsd xmm0, qword [esp + 8]
cvttsd2si eax, xmm0
cmp eax, 0x134
ja 0x4c540c
mov edx, eax
shr edx, 5
cmp edx, 0xa
jae 0x4c6b2b
lea ecx, [0x59f860]
movsd xmm0, qword [ecx + edx*8]
and eax, 0x1f
lea ecx, [0x59ff00]
lea eax, [ecx + eax*8]
mulsd xmm0, qword [eax]
jmp 0x4c5470
lea edx, [eax + 0x143]
cmp edx, 0x143
ja 0x4c5447
neg eax
mov edx, eax
shr edx, 5
cmp edx, 0xb
jae 0x4c6b1f
lea ecx, [0x59f920]
movsd xmm0, qword [ecx + edx*8]
and eax, 0x1f
lea ecx, [0x59ff00]
lea eax, [ecx + eax*8]
divsd xmm0, qword [eax]
jmp 0x4c5470
test eax, eax
jle 0x4c546d
nop
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0x7ff00000
movsd xmm0, qword [esp + 0x128]
jmp 0x4c5470
xorps xmm0, xmm0
movsd xmm1, qword [esp + 0x24]
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov ecx, dword [esp + 0x214]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x21c]
mov ecx, dword [esp + 0x220]
mov edx, dword [esp + 0x214]
mov ebx, dword [esp + 0xc0]
movsd xmm0, xmm1
movsd xmm1, qword [esp + 0xa4]
movsd xmm2, qword [esp + 0x94]
mov ebp, dword [edx + 0x10]
test ebp, ebp
jg 0x4c54c8
mov dword [edx + 0x10], 3
xorps xmm3, xmm3
ucomisd xmm3, xmm0
jne 0x4c54d3
jnp 0x4c54e0
mov ebp, dword [edx + 4]
cvtsi2sd xmm4, ebp
divsd xmm4, xmm0
jmp 0x4c54e8
movsd xmm4, qword [0x514650]
movsd qword [esp + 0x84], xmm4
mulsd xmm2, xmm4
movsd qword [esp], xmm2
call fcn.004c72f0
movsd xmm0, qword [esp + 8]
movsd qword [esp + 0x9c], xmm0
movsd xmm1, qword [esp + 0x84]
movsd xmm2, qword [esp + 0xa4]
mulsd xmm1, xmm2
movsd qword [esp], xmm1
call fcn.004c72f0
movsd xmm0, qword [esp + 8]
movsd xmm1, qword [esp + 0x9c]
cvttsd2si eax, xmm1
mov dword [esp + 0xcc], eax
cvttsd2si ecx, xmm0
mov dword [esp + 0xd0], ecx
sub ecx, eax
cvtsi2sd xmm0, ecx
movsd qword [esp + 0x110], xmm0
mov ecx, dword [esp + 0x110]
mov ebx, dword [esp + 0x114]
and ebx, 0x7fffffff
mov dword [esp + 0x150], ecx
mov dword [esp + 0x154], ebx
mov ecx, dword [esp + 0x214]
mov ebx, dword [ecx + 0x10]
mov dword [esp + 0x19c], ebx
movsd xmm0, qword [esp + 0x150]
cvttsd2si ebp, xmm0
mov dword [esp + 0x80], ebp
lea esi, [ebp + 1]
mov dword [esp + 0x90], esi
mov edi, dword [esp + 0xc0]
add ebx, edi
mov dword [esp + 0x6c], ebx
lea edi, [0x4d30c0]
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], esi
call fcn.0044ece0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x1e8], eax
xor ecx, ecx
jmp 0x4c55ee
mov dword [ebp + ebx*4], eax
inc edx
mov eax, ebp
mov ecx, edx
mov edx, dword [esp + 0x90]
cmp ecx, edx
jge 0x4c565c
mov dword [esp + 0xd8], ecx
lea eax, [0x4dbcc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x6c]
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.0044ece0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x6c]
xor edx, edx
jmp 0x4c6af2
mov edx, dword [esp + 0xd8]
lea ebx, [edx + edx*2]
mov ebp, dword [esp + 0x1e8]
mov dword [ebp + ebx*4 + 4], ecx
mov dword [ebp + ebx*4 + 8], ecx
mov esi, dword [0x5e91b8]
test esi, esi
je 0x4c55e5
call fcn.004691c0
mov dword [edi], eax
mov esi, dword [ebp + ebx*4]
mov dword [edi + 4], esi
jmp 0x4c55e5
mov eax, dword [esp + 0x214]
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0x8c], ecx
nop
movsd xmm0, qword [esp + 0xa4]
movsd qword [esp + 0x108], xmm0
mov edx, dword [esp + 0x108]
mov ebx, dword [esp + 0x10c]
and ebx, 0x7fffffff
mov dword [esp + 0x148], edx
mov dword [esp + 0x14c], ebx
movsd xmm1, qword [esp + 0x148]
nop
movsd xmm2, qword [esp + 0x94]
movsd qword [esp + 0x100], xmm2
mov edx, dword [esp + 0x100]
mov ebx, dword [esp + 0x104]
and ebx, 0x7fffffff
mov dword [esp + 0x140], edx
mov dword [esp + 0x144], ebx
movsd xmm3, qword [esp + 0x140]
nop
movsd qword [esp], xmm1
movsd qword [esp + 8], xmm3
call fcn.00479890
movsd xmm0, qword [esp + 0x10]
nop
nop
movsd qword [esp], xmm0
call fcn.00479d40
movsd xmm0, qword [esp + 8]
movsd xmm1, qword [0x514628]
mulsd xmm0, xmm1
movsd xmm1, qword [esp + 0x94]
xorps xmm2, xmm2
ucomisd xmm1, xmm2
jne 0x4c574d
jp 0x4c574d
movsd xmm3, qword [esp + 0xa4]
ucomisd xmm3, xmm2
jne 0x4c5756
jp 0x4c5756
movsd xmm0, qword [0x514688]
jmp 0x4c5756
movsd xmm3, qword [esp + 0xa4]
ucomisd xmm2, xmm0
ja 0x4c577d
movsd xmm4, qword [0x514658]
ucomisd xmm0, xmm4
jbe 0x4c5771
xor eax, eax
jmp 0x4c5865
mov eax, dword [esp + 0x8c]
jmp 0x4c5865
movsd qword [esp + 0xb8], xmm0
movsd qword [esp], xmm0
movsd xmm1, qword [0x514650]
movsd qword [esp + 8], xmm1
call fcn.00479f00
movsd xmm0, qword [esp + 0x10]
xorps xmm1, xmm1
ucomisd xmm0, xmm1
jne 0x4c57af
jnp 0x4c5805
movsd xmm0, qword [esp + 0xb8]
movsd qword [esp + 0xf8], xmm0
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xfc]
and ecx, 0x7fffffff
mov dword [esp + 0x138], eax
mov dword [esp + 0x13c], ecx
movsd xmm0, qword [esp + 0x138]
movsd qword [esp], xmm0
call fcn.00469180
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x8c]
add eax, ecx
jmp 0x4c5865
movsd xmm0, qword [esp + 0xb8]
movsd qword [esp + 0xf0], xmm0
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf4]
and ecx, 0x7fffffff
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], ecx
movsd xmm0, qword [esp + 0x130]
movsd xmm1, qword [0x514650]
subsd xmm0, xmm1
movsd qword [esp], xmm0
call fcn.00469180
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x8c]
add eax, ecx
mov dword [esp + 0x8c], eax
mov dword [esp + 0x204], 0
mov dword [esp + 0x208], 0
mov dword [esp + 0x20c], 0
mov dword [esp + 0x210], 0
mov dword [esp], eax
call fcn.0040a700
mov eax, dword [esp + 4]
lea ecx, [0x4d6a60]
mov dword [esp + 0x204], ecx
mov dword [esp + 0x208], eax
movsd xmm0, qword [esp + 0xa4]
movsd qword [esp + 0x1b0], xmm0
mov eax, dword [esp + 0x1b0]
mov edx, dword [esp + 0x1b4]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0040a760
mov eax, dword [esp + 8]
lea ecx, [0x4d6ba0]
mov dword [esp + 0x20c], ecx
mov dword [esp + 0x210], eax
lea eax, [0x4eb6cd]
mov dword [esp], eax
mov dword [esp + 4], 5
lea edx, [esp + 0x204]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004acfe0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x198], eax
mov dword [esp + 0x204], 0
mov dword [esp + 0x208], 0
mov dword [esp + 0x20c], 0
mov dword [esp + 0x210], 0
mov ecx, dword [esp + 0x8c]
mov dword [esp], ecx
call fcn.0040a700
mov eax, dword [esp + 4]
lea ecx, [0x4d6a60]
mov dword [esp + 0x204], ecx
mov dword [esp + 0x208], eax
movsd xmm0, qword [esp + 0x94]
movsd qword [esp + 0x1a8], xmm0
mov eax, dword [esp + 0x1a8]
mov edx, dword [esp + 0x1ac]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0040a760
mov eax, dword [esp + 8]
lea ecx, [0x4d6ba0]
mov dword [esp + 0x20c], ecx
mov dword [esp + 0x210], eax
lea eax, [0x4eb6cd]
mov dword [esp], eax
mov dword [esp + 4], 5
lea eax, [esp + 0x204]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004acfe0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x198]
cvtsi2sd xmm0, ecx
cvtsi2sd xmm1, eax
movsd qword [esp], xmm0
movsd qword [esp + 8], xmm1
call fcn.00479890
movsd xmm0, qword [esp + 0x10]
cvttsd2si eax, xmm0
mov dword [esp + 0xac], eax
mov ecx, dword [esp + 0xcc]
jmp 0x4c5a58
lea ebx, [ebx + ebx*2]
lea ebx, [edi + ebx*4 - 4]
movzx ecx, byte [eax + 0x21]
mov byte [ebx], cl
mov ebx, dword [esp + 0x54]
lea ecx, [ebx + 1]
mov eax, dword [esp + 0xac]
mov ebx, dword [esp + 0xd0]
lea ebp, [ebx + 1]
cmp ecx, ebp
jge 0x4c5cde
mov dword [esp + 0x54], ecx
mov edx, dword [esp + 0x80]
test edx, edx
jle 0x4c5aa7
mov ebp, dword [esp + 0xcc]
sub ecx, ebp
cvtsi2sd xmm0, ecx
movsd xmm1, qword [esp + 0x24]
mulsd xmm0, xmm1
cvtsi2sd xmm2, edx
divsd xmm0, xmm2
movsd xmm2, qword [esp + 0xa4]
subsd xmm2, xmm0
jmp 0x4c5aab
cvtsi2sd xmm2, ecx
movsd qword [esp + 0xb0], xmm2
lea edi, [esp + 0x1ec]
xor eax, eax
call fcn.0046937a
mov ecx, dword [esp + 0xac]
lea edx, [ecx + 1]
mov dword [esp], edx
call fcn.0040a700
mov ecx, dword [esp + 4]
lea edx, [0x4d6a20]
mov dword [esp + 0x1ec], edx
mov dword [esp + 0x1f0], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp], ecx
call fcn.0040a700
mov ecx, dword [esp + 4]
lea edx, [0x4d6a60]
mov dword [esp + 0x1f4], edx
mov dword [esp + 0x1f8], ecx
movsd xmm0, qword [esp + 0xb0]
movsd qword [esp + 0x1a0], xmm0
mov ecx, dword [esp + 0x1a0]
mov ebx, dword [esp + 0x1a4]
mov dword [esp], ecx
mov dword [esp + 4], ebx
call fcn.0040a760
mov ecx, dword [esp + 8]
lea edx, [0x4d6ba0]
mov dword [esp + 0x1fc], edx
mov dword [esp + 0x200], ecx
lea ecx, [0x4eb6d2]
mov dword [esp], ecx
mov dword [esp + 4], 5
lea ebx, [esp + 0x1ec]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 3
mov dword [esp + 0x10], 3
call fcn.004acfe0
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xc4], ecx
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0xcc]
sub edx, ebx
mov dword [esp + 0x70], edx
mov esi, dword [esp + 0x214]
mov eax, dword [esi + 0x10]
cvtsi2sd xmm0, eax
cvtsi2sd xmm1, ecx
subsd xmm0, xmm1
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1d0], eax
movsd qword [esp], xmm0
xorps xmm0, xmm0
movsd qword [esp + 8], xmm0
call fcn.00479890
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x90]
cmp eax, ecx
jae 0x4c6ada
lea ebx, [eax + eax*2]
mov ebp, dword [esp + 0x1e8]
mov esi, dword [ebp + ebx*4 + 4]
movsd xmm0, qword [esp + 0x10]
cvttsd2si eax, xmm0
mov edx, dword [ebp + ebx*4]
cmp esi, eax
jbe 0x4c6ad3
lea esi, [eax + eax*2]
mov edi, ebx
mov ebx, dword [esp + 0xc4]
mov dword [edx + esi*4 + 4], ebx
mov ebx, dword [0x5e91b8]
test ebx, ebx
je 0x4c5c52
mov dword [esp + 0x198], edi
call fcn.004691c0
mov ebx, dword [esp + 0x1d0]
mov dword [edi], ebx
mov ecx, dword [edx + esi*4]
mov dword [edi + 4], ecx
mov ecx, dword [esp + 0x90]
mov edi, dword [esp + 0x198]
mov ebx, dword [esp + 0x1d0]
mov dword [edx + esi*4], ebx
mov ebx, dword [ebp + edi*4 + 4]
mov edx, dword [ebp + edi*4]
cmp ebx, eax
jbe 0x4c6acc
lea ebx, [edx + esi*4 + 8]
mov esi, dword [esp + 0x214]
movzx eax, byte [esi + 0x22]
mov byte [ebx], al
mov ebx, dword [ebp + edi*4 + 4]
mov eax, dword [esi + 0x10]
lea edx, [eax - 1]
mov ecx, dword [ebp + edi*4]
cmp ebx, edx
jbe 0x4c6ac3
lea ebx, [eax + eax*2]
mov dword [ecx + ebx*4 - 8], 3
mov eax, dword [0x5e91b8]
test eax, eax
je 0x4c5cb7
mov eax, dword [ecx + ebx*4 - 0xc]
mov edx, edi
call fcn.004691b0
mov dword [edi], eax
mov edi, edx
mov eax, esi
lea esi, [0x4eb42d]
mov dword [ecx + ebx*4 - 0xc], esi
mov ecx, dword [ebp + edi*4 + 4]
mov ebx, dword [eax + 0x10]
lea edx, [ebx - 1]
mov edi, dword [ebp + edi*4]
cmp ecx, edx
ja 0x4c5a3d
jmp 0x4c6abc
mov ebx, dword [esp + 0x214]
mov ebp, dword [esp + 0x220]
mov esi, dword [esp + 0x21c]
xor ecx, ecx
jmp 0x4c5d06
inc ecx
mov ebx, dword [esp + 0x214]
mov eax, dword [esp + 0xac]
cmp ebp, ecx
jle 0x4c5e60
lea edx, [ecx + ecx*2]
mov edi, dword [esi + edx*4]
mov edx, dword [esi + edx*4 + 4]
movzx eax, byte [0x5e8fca]
cmp dword [ebx + 0x28], ecx
jle 0x4c5d2b
mov eax, dword [ebx + 0x24]
movzx eax, byte [eax + ecx]
test edx, edx
jbe 0x4c6ab3
mov dword [esp + 0xd4], ecx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x1b8], edi
mov byte [esp + 0x21], al
movsd xmm0, qword [edi]
ucomisd xmm0, xmm0
jne 0x4c5e4e
jp 0x4c5e4e
movsd xmm1, qword [esp + 0x84]
mulsd xmm0, xmm1
movsd qword [esp], xmm0
call fcn.004c72f0
movsd xmm0, qword [esp + 8]
movsd xmm1, qword [esp + 0x9c]
subsd xmm0, xmm1
cvttsd2si eax, xmm0
mov ecx, dword [esp + 0x80]
sub ecx, eax
mov eax, dword [esp + 0x90]
cmp ecx, eax
jae 0x4c6aa8
lea ebx, [ecx + ecx*2]
mov ebp, dword [esp + 0x1e8]
mov ecx, dword [ebp + ebx*4 + 4]
mov esi, dword [esp + 0x214]
mov edi, dword [esi + 0x10]
lea edx, [edi - 1]
mov eax, dword [ebp + ebx*4]
cmp ecx, edx
jbe 0x4c6aa1
lea ecx, [edi + edi*2]
mov dword [eax + ecx*4 - 8], 3
mov edx, dword [0x5e91b8]
test edx, edx
je 0x4c5df3
mov edx, dword [eax + ecx*4 - 0xc]
call fcn.004691b0
mov dword [edi], edx
movsd xmm1, qword [esp + 0x9c]
mov edx, esi
lea esi, [0x4eb430]
mov dword [eax + ecx*4 - 0xc], esi
mov ecx, dword [ebp + ebx*4 + 4]
mov eax, dword [edx + 0x10]
lea edi, [eax - 1]
mov ebx, dword [ebp + ebx*4]
cmp ecx, edi
jbe 0x4c6a9a
lea eax, [eax + eax*2]
lea ebx, [ebx + eax*4 - 4]
movzx eax, byte [edx + 0x21]
mov byte [ebx], al
movzx eax, byte [esp + 0x21]
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x214]
mov ebp, dword [esp + 0x220]
mov esi, dword [esp + 0x21c]
mov edi, dword [esp + 0x1b8]
mov byte [esp + 0x180], al
xor eax, eax
mov dword [esp + 0x68], eax
jmp 0x4c628e
lea edi, [esp + 0x1bc]
xor eax, eax
call fcn.0046937b
mov ecx, dword [esp + 0x1e8]
mov ebp, dword [esp + 0x19c]
mov esi, dword [esp + 0xc0]
mov eax, dword [esp + 0x90]
xor edx, edx
jmp 0x4c5ea7
add ecx, 0xc
inc edx
mov ebp, dword [esp + 0x19c]
mov eax, dword [esp + 0x90]
mov ebx, dword [esp + 0x214]
cmp edx, eax
jge 0x4c5f9a
mov dword [esp + 0xec], edx
mov dword [esp + 0x1e8], ecx
mov edi, dword [ecx]
mov ebx, dword [ecx + 4]
mov eax, dword [ecx + 8]
test edx, edx
je 0x4c5f26
mov dword [esp + 0xe8], eax
mov dword [esp + 0xe4], ebx
mov dword [esp + 0x1d4], edi
lea eax, [esp + 0x1bc]
mov dword [esp], eax
mov dword [esp + 4], 0xa
call fcn.00472ee0
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0x1e8]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0xe4]
mov ebp, dword [esp + 0x19c]
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 0x1d4]
lea ebp, [esi + ebp - 1]
jmp 0x4c6190
mov edx, dword [esp + 0xec]
mov esi, dword [esp + 0xc0]
jmp 0x4c5f41
xor ebp, ebp
lea ebx, [ebp + 1]
cmp eax, ebx
jb 0x4c6271
movzx ebp, byte [0x5e8fca]
jmp 0x4c6209
movzx ebx, byte [0x5e8fca]
xchg ebp, eax
cmp al, bl
xchg ebp, eax
je 0x4c5e8e
mov byte [esp], bl
call fcn.004c6ce0
lea eax, [esp + 0x1bc]
mov dword [esp], eax
call fcn.00472c30
mov ecx, dword [esp + 0x1e8]
mov edx, dword [esp + 0xec]
mov esi, dword [esp + 0xc0]
jmp 0x4c5e8e
mov edx, dword [ebx + 0x18]
test edx, edx
je 0x4c60f0
lea eax, [esp + 0x1bc]
mov dword [esp], eax
mov dword [esp + 4], 0xa
call fcn.00472ee0
mov eax, dword [esp + 0x214]
mov ecx, dword [eax + 0x10]
lea edx, [0x5144c8]
mov dword [esp], edx
mov dword [esp + 4], 1
mov ebx, dword [esp + 0xac]
add ecx, ebx
mov dword [esp + 8], ecx
call fcn.00474f80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x1bc]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00472c30
mov eax, dword [esp + 0x214]
mov ecx, dword [eax + 0x18]
mov edx, dword [esp + 0xc0]
cmp edx, ecx
jle 0x4c606f
lea eax, [0x5144c8]
mov dword [esp], eax
mov dword [esp + 4], 1
sub edx, ecx
mov ecx, edx
shr edx, 0x1f
add ecx, edx
sar ecx, 1
mov dword [esp + 8], ecx
call fcn.00474f80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x1bc]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00472c30
mov eax, dword [esp + 0x214]
mov edx, dword [esp + 0xc0]
movzx ecx, byte [eax + 0x20]
cmp byte [0x5e8fca], cl
je 0x4c6099
mov byte [esp], cl
call fcn.004c6ce0
lea eax, [esp + 0x1bc]
mov dword [esp], eax
call fcn.00472c30
mov eax, dword [esp + 0x214]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x18]
lea ebx, [esp + 0x1bc]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00472c30
movzx eax, byte [0x5e8fca]
mov ecx, dword [esp + 0x214]
cmp byte [ecx + 0x20], al
je 0x4c60e7
mov byte [esp], al
call fcn.004c6ce0
lea eax, [esp + 0x1bc]
mov dword [esp], eax
call fcn.00472c30
mov ecx, dword [esp + 0x214]
mov ebx, ecx
mov esi, dword [esp + 0xc0]
mov edx, dword [ebx + 0x34]
test edx, edx
je 0x4c611e
mov eax, dword [ebx + 0x10]
lea ecx, [esp + 0x1bc]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov ecx, dword [esp + 0xac]
add eax, ecx
mov dword [esp + 0xc], eax
call fcn.004c6fe0
mov ecx, dword [esp + 0x1c0]
mov eax, dword [esp + 0x1c8]
cmp eax, ecx
ja 0x4c617c
mov edx, dword [esp + 0x1bc]
mov ebx, dword [esp + 0x1c4]
mov dword [esp], 0
sub ecx, eax
sub ebx, eax
neg ebx
sar ebx, 0x1f
and eax, ebx
add eax, edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00452a40
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x234], eax
mov dword [esp + 0x238], ecx
add esp, 0x218
ret
call fcn.00469290
dec ebp
mov edx, dword [esp + 0xec]
mov esi, dword [esp + 0xc0]
test ebp, ebp
jl 0x4c5f3f
cmp ebp, ebx
jae 0x4c627a
lea esi, [ebp + ebp*2]
lea edx, [edi + esi*4]
mov esi, dword [edi + esi*4]
cmp dword [edx + 4], 1
jne 0x4c5f2f
cmp byte [esi], 0x20
je 0x4c6181
jmp 0x4c5f2f
xchg ebp, eax
mov byte [esp + 0x22], al
xchg ebp, eax
lea eax, [esp + 0x1bc]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
call fcn.00472c30
mov eax, dword [esp + 0x1e4]
lea edi, [eax + 0xc]
mov eax, dword [esp + 0x198]
lea ebx, [eax - 1]
mov ecx, dword [esp + 0x1e8]
mov edx, dword [esp + 0xec]
mov esi, dword [esp + 0xc0]
movzx ebp, byte [esp + 0x22]
test ebx, ebx
jle 0x4c5f58
mov dword [esp + 0x198], ebx
mov dword [esp + 0x1e4], edi
movzx eax, byte [edi + 8]
mov esi, dword [edi]
mov edx, dword [edi + 4]
xchg ebp, ebx
cmp bl, al
xchg ebp, ebx
je 0x4c61be
mov dword [esp + 0x1e0], esi
mov dword [esp + 0x194], edx
mov byte [esp + 0x23], al
mov byte [esp], al
call fcn.004c6ce0
lea eax, [esp + 0x1bc]
mov dword [esp], eax
call fcn.00472c30
mov edx, dword [esp + 0x194]
mov esi, dword [esp + 0x1e0]
movzx ebp, byte [esp + 0x23]
jmp 0x4c61be
mov ecx, ebx
mov edx, eax
call fcn.00469270
mov eax, ebp
mov ecx, ebx
call fcn.00469230
mov ebx, dword [esp + 0x214]
mov dword [esp + 0x68], eax
lea eax, [edx - 1]
mov ebx, dword [esp + 0x68]
cmp ebx, eax
jge 0x4c5cf7
lea eax, [ebx + 1]
movsd xmm0, qword [edi + ebx*8]
cmp edx, eax
jbe 0x4c6a93
movsd xmm1, qword [edi + ebx*8 + 8]
ucomisd xmm0, xmm0
jne 0x4c62bb
jnp 0x4c62c3
ucomisd xmm1, xmm1
jne 0x4c6283
jp 0x4c6283
mov dword [esp + 0x194], eax
movsd qword [esp + 0x120], xmm1
ucomisd xmm1, xmm1
jne 0x4c62df
jnp 0x4c63eb
ucomisd xmm0, xmm0
jne 0x4c62e7
jnp 0x4c62f0
ucomisd xmm1, xmm1
jmp 0x4c63fb
movsd xmm1, qword [esp + 0x84]
mulsd xmm0, xmm1
movsd qword [esp], xmm0
call fcn.004c72f0
movsd xmm0, qword [esp + 8]
mov eax, dword [esp + 0xcc]
cvtsi2sd xmm1, eax
subsd xmm0, xmm1
cvttsd2si ecx, xmm0
mov edx, dword [esp + 0x80]
sub edx, ecx
mov ecx, dword [esp + 0x214]
mov ebp, dword [ecx + 0x10]
mov esi, dword [esp + 0x68]
add ebp, esi
mov edi, dword [esp + 0x90]
cmp edx, edi
jae 0x4c6a8a
lea edx, [edx + edx*2]
mov ebx, dword [esp + 0x1e8]
mov eax, dword [ebx + edx*4 + 4]
mov edi, dword [ebx + edx*4]
cmp eax, ebp
jbe 0x4c6a81
lea ebp, [ebp + ebp*2]
mov dword [edi + ebp*4 + 4], 3
mov eax, dword [0x5e91b8]
test eax, eax
je 0x4c638f
mov dword [esp + 0x1dc], edi
mov eax, dword [edi + ebp*4]
call fcn.004691b0
mov dword [edi], eax
mov edi, dword [esp + 0x1dc]
mov eax, esi
lea esi, [0x4eb433]
mov dword [edi + ebp*4], esi
mov ebp, dword [ebx + edx*4 + 4]
mov edi, dword [ecx + 0x10]
add eax, edi
mov edx, dword [ebx + edx*4]
cmp ebp, eax
jbe 0x4c6a7a
lea ebp, [eax + eax*2]
lea ebp, [edx + ebp*4 + 8]
movzx esi, byte [esp + 0x21]
xchg esi, eax
mov byte [ebp], al
xchg esi, eax
mov eax, dword [esp + 0x194]
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x220]
mov esi, dword [esp + 0x21c]
mov edi, dword [esp + 0x1b8]
jmp 0x4c6283
ucomisd xmm0, xmm0
jne 0x4c63f7
jnp 0x4c6502
ucomisd xmm1, xmm1
jne 0x4c6502
jp 0x4c6502
movsd xmm0, qword [esp + 0x84]
mulsd xmm1, xmm0
movsd qword [esp], xmm1
call fcn.004c72f0
movsd xmm0, qword [esp + 8]
mov eax, dword [esp + 0xcc]
cvtsi2sd xmm1, eax
subsd xmm0, xmm1
cvttsd2si ecx, xmm0
mov edx, dword [esp + 0x80]
sub edx, ecx
mov ecx, dword [esp + 0x214]
mov ebp, dword [ecx + 0x10]
mov esi, dword [esp + 0x68]
add ebp, esi
mov edi, dword [esp + 0x90]
cmp edx, edi
jae 0x4c6a71
lea edx, [edx + edx*2]
mov ebx, dword [esp + 0x1e8]
mov eax, dword [ebx + edx*4 + 4]
mov edi, dword [ebx + edx*4]
cmp eax, ebp
jbe 0x4c6a68
lea ebp, [ebp + ebp*2]
mov dword [edi + ebp*4 + 4], 3
mov eax, dword [0x5e91b8]
test eax, eax
je 0x4c64a6
mov dword [esp + 0x1d8], edi
mov eax, dword [edi + ebp*4]
call fcn.004691b0
mov dword [edi], eax
mov edi, dword [esp + 0x1d8]
mov eax, esi
lea esi, [0x4eb436]
mov dword [edi + ebp*4], esi
mov ebp, dword [ebx + edx*4 + 4]
mov edi, dword [ecx + 0x10]
add eax, edi
mov edx, dword [ebx + edx*4]
cmp ebp, eax
jbe 0x4c6a61
lea ebp, [eax + eax*2]
lea ebp, [edx + ebp*4 + 8]
movzx esi, byte [esp + 0x21]
xchg esi, eax
mov byte [ebp], al
xchg esi, eax
mov eax, dword [esp + 0x194]
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x220]
mov esi, dword [esp + 0x21c]
mov edi, dword [esp + 0x1b8]
jmp 0x4c6283
movsd xmm1, qword [esp + 0x84]
mulsd xmm0, xmm1
movsd qword [esp], xmm0
call fcn.004c72f0
movsd xmm0, qword [esp + 8]
mov eax, dword [esp + 0xcc]
cvtsi2sd xmm1, eax
movsd qword [esp + 0x18c], xmm1
subsd xmm0, xmm1
cvttsd2si ecx, xmm0
mov dword [esp + 0x38], ecx
movsd xmm0, qword [esp + 0x120]
movsd xmm2, qword [esp + 0x84]
mulsd xmm0, xmm2
movsd qword [esp], xmm0
call fcn.004c72f0
movsd xmm0, qword [esp + 8]
movsd xmm1, qword [esp + 0x18c]
subsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x38]
cmp eax, ecx
jne 0x4c65f9
mov edx, dword [esp + 0x80]
mov ebx, edx
sub edx, ecx
mov ebp, dword [esp + 0x214]
mov esi, dword [ebp + 0x10]
mov edi, dword [esp + 0x68]
add esi, edi
mov edi, dword [esp + 0x90]
cmp edx, edi
jae 0x4c6a58
lea edx, [edx + edx*2]
mov edi, dword [esp + 0x1e8]
mov ebp, dword [edi + edx*4 + 4]
mov edx, dword [edi + edx*4]
cmp ebp, esi
jbe 0x4c6a4f
lea ebp, [esi + esi*2]
mov dword [edx + ebp*4 + 4], 3
mov esi, dword [0x5e91b8]
test esi, esi
je 0x4c65eb
mov esi, dword [edx + ebp*4]
call fcn.004691b0
mov dword [edi], esi
mov edi, dword [esp + 0x1e8]
lea esi, [0x4eb439]
mov dword [edx + ebp*4], esi
jmp 0x4c6844
jge 0x4c66e1
mov edx, dword [esp + 0x80]
mov ebx, edx
sub edx, eax
mov ebp, dword [esp + 0x214]
mov esi, dword [ebp + 0x10]
mov edi, dword [esp + 0x68]
add esi, edi
mov edi, dword [esp + 0x90]
cmp edx, edi
jae 0x4c6a46
lea edx, [edx + edx*2]
mov edi, dword [esp + 0x1e8]
mov eax, dword [edi + edx*4 + 4]
mov edx, dword [edi + edx*4]
cmp eax, esi
jbe 0x4c6a3d
lea esi, [esi + esi*2]
mov dword [edx + esi*4 + 4], 3
mov eax, dword [0x5e91b8]
sub ebx, ecx
test eax, eax
je 0x4c666a
mov eax, dword [edx + esi*4]
call fcn.004691b0
mov dword [edi], eax
mov edi, dword [esp + 0x1e8]
mov eax, edi
lea edi, [0x4eb43c]
mov dword [edx + esi*4], edi
mov edx, dword [ebp + 0x10]
mov esi, dword [esp + 0x68]
add edx, esi
mov edi, dword [esp + 0x90]
cmp ebx, edi
jae 0x4c6a34
lea ebx, [ebx + ebx*2]
mov edi, dword [eax + ebx*4 + 4]
mov ebx, dword [eax + ebx*4]
cmp edi, edx
jbe 0x4c6a2b
lea edx, [edx + edx*2]
mov dword [ebx + edx*4 + 4], 3
mov edi, dword [0x5e91b8]
test edi, edi
je 0x4c66d3
mov edi, dword [ebx + edx*4]
mov dword [esp + 0x188], edi
call fcn.004691b0
mov eax, dword [esp + 0x188]
mov dword [edi], eax
mov eax, dword [esp + 0x1e8]
lea edi, [0x4eb43f]
mov dword [ebx + edx*4], edi
jmp 0x4c67be
mov edx, dword [esp + 0x80]
mov ebx, edx
sub edx, eax
mov ebp, dword [esp + 0x214]
mov esi, dword [ebp + 0x10]
mov edi, dword [esp + 0x68]
add esi, edi
mov edi, dword [esp + 0x90]
cmp edx, edi
jae 0x4c6a22
lea edx, [edx + edx*2]
mov edi, dword [esp + 0x1e8]
mov eax, dword [edi + edx*4 + 4]
mov edx, dword [edi + edx*4]
cmp eax, esi
jbe 0x4c6a19
lea esi, [esi + esi*2]
mov dword [edx + esi*4 + 4], 3
mov eax, dword [0x5e91b8]
sub ebx, ecx
test eax, eax
je 0x4c674c
mov eax, dword [edx + esi*4]
call fcn.004691b0
mov dword [edi], eax
mov edi, dword [esp + 0x1e8]
mov eax, edi
lea edi, [0x4eb442]
mov dword [edx + esi*4], edi
mov edx, dword [ebp + 0x10]
mov esi, dword [esp + 0x68]
add edx, esi
mov edi, dword [esp + 0x90]
cmp ebx, edi
jae 0x4c6a10
lea ebx, [ebx + ebx*2]
mov edi, dword [eax + ebx*4 + 4]
mov ebx, dword [eax + ebx*4]
cmp edi, edx
jbe 0x4c6a07
lea edx, [edx + edx*2]
mov dword [ebx + edx*4 + 4], 3
mov edi, dword [0x5e91b8]
test edi, edi
je 0x4c67b5
mov edi, dword [ebx + edx*4]
mov dword [esp + 0x188], edi
call fcn.004691b0
mov eax, dword [esp + 0x188]
mov dword [edi], eax
mov eax, dword [esp + 0x1e8]
lea edi, [0x4eb445]
mov dword [ebx + edx*4], edi
cvtsi2sd xmm0, ecx
movsd qword [esp + 0x60], xmm0
mov eax, dword [esp + 0x34]
cvtsi2sd xmm1, eax
movsd qword [esp + 0x44], xmm1
movsd qword [esp], xmm0
movsd qword [esp + 8], xmm1
call fcn.00479980
movsd xmm0, qword [esp + 0x10]
cvttsd2si eax, xmm0
inc eax
mov dword [esp + 0x78], eax
movsd xmm0, qword [esp + 0x60]
movsd qword [esp], xmm0
movsd xmm0, qword [esp + 0x44]
movsd qword [esp + 8], xmm0
call fcn.00479890
movsd xmm0, qword [esp + 0x10]
cvttsd2si eax, xmm0
mov ecx, dword [esp + 0x1e8]
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x214]
mov ebp, dword [esp + 0x68]
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x78]
jmp 0x4c6931
mov eax, dword [esp + 0x34]
cvtsi2sd xmm0, eax
movsd qword [esp + 0x3c], xmm0
mov eax, dword [esp + 0x38]
cvtsi2sd xmm1, eax
movsd qword [esp + 0x58], xmm1
movsd qword [esp], xmm1
movsd qword [esp + 8], xmm0
call fcn.00479980
movsd xmm0, qword [esp + 0x10]
cvttsd2si eax, xmm0
mov dword [esp + 0x74], eax
movsd xmm0, qword [esp + 0x58]
movsd qword [esp], xmm0
movsd xmm0, qword [esp + 0x3c]
movsd qword [esp + 8], xmm0
call fcn.00479890
movsd xmm0, qword [esp + 0x10]
cvttsd2si eax, xmm0
movzx ecx, byte [esp + 0x21]
mov edx, dword [esp + 0x1e8]
mov ebx, dword [esp + 0x90]
mov ebp, dword [esp + 0x214]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x80]
mov dword [esp + 0x178], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x178]
jmp 0x4c69b7
mov eax, dword [esp + 0x194]
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x220]
mov esi, dword [esp + 0x21c]
mov edi, dword [esp + 0x1b8]
jmp 0x4c6283
lea ebx, [0x4eb448]
mov dword [esi + edx*4], ebx
inc edi
mov edx, dword [esp + 0x90]
mov esi, dword [esp + 0x214]
mov ebx, esi
mov esi, dword [esp + 0x80]
cmp edi, eax
jge 0x4c6844
sub esi, edi
mov ebx, dword [ebx + 0x10]
add ebx, ebp
cmp esi, edx
jae 0x4c69fe
lea esi, [esi + esi*2]
mov edx, dword [ecx + esi*4 + 4]
mov esi, dword [ecx + esi*4]
cmp edx, ebx
jbe 0x4c69f5
lea edx, [ebx + ebx*2]
mov dword [esi + edx*4 + 4], 3
mov ebx, dword [0x5e91b8]
test ebx, ebx
je 0x4c6910
mov dword [esp + 0x50], edi
mov ebx, dword [esi + edx*4]
call fcn.004691b0
mov dword [edi], ebx
mov edi, dword [esp + 0x50]
jmp 0x4c6910
lea ebp, [ebp + ebp*2]
lea ebp, [edi + ebp*4 + 8]
mov byte [ebp], cl
inc ebx
mov ebp, dword [esp + 0x90]
mov esi, dword [esp + 0x214]
mov edi, dword [esp + 0x68]
mov ebp, esi
mov esi, edi
mov edi, dword [esp + 0x80]
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x90]
mov ebx, dword [esp + 0x4c]
cmp ebx, eax
jg 0x4c68e4
sub edi, ebx
mov ebp, dword [ebp + 0x10]
add ebp, esi
mov esi, dword [esp + 0x90]
cmp edi, esi
jae 0x4c69ec
lea edi, [edi + edi*2]
mov esi, dword [edx + edi*4 + 4]
mov edi, dword [edx + edi*4]
cmp esi, ebp
ja 0x4c6983
mov eax, ebp
mov ecx, esi
call fcn.00469230
mov eax, edi
mov ecx, esi
call fcn.00469230
mov eax, ebx
mov ecx, edx
call fcn.00469230
mov eax, esi
mov ecx, edx
call fcn.00469230
mov eax, edx
mov ecx, edi
call fcn.00469230
mov eax, ebx
mov ecx, edi
call fcn.00469230
mov ecx, eax
mov eax, esi
call fcn.00469230
mov eax, edx
mov ecx, edi
call fcn.00469230
mov eax, edx
mov ecx, edi
call fcn.00469230
mov eax, ebx
mov ecx, edi
call fcn.00469230
mov ecx, eax
mov eax, esi
call fcn.00469230
mov eax, edx
mov ecx, edi
call fcn.00469230
mov eax, esi
mov ecx, ebp
call fcn.00469230
mov eax, edx
mov ecx, edi
call fcn.00469230
mov ecx, ebp
call fcn.00469230
mov ecx, eax
mov eax, ebp
call fcn.00469230
mov eax, edx
mov ecx, edi
call fcn.00469230
mov ecx, ebp
call fcn.00469230
mov ecx, eax
mov eax, ebp
call fcn.00469230
mov eax, edx
mov ecx, edi
call fcn.00469230
mov ecx, edx
call fcn.00469230
mov eax, edi
call fcn.00469230
mov eax, edx
call fcn.00469230
mov edx, eax
mov eax, ecx
mov ecx, edx
call fcn.00469230
xor eax, eax
mov ecx, eax
call fcn.00469230
mov eax, edx
call fcn.00469230
mov eax, edx
mov ecx, ebx
call fcn.00469230
mov ecx, ebx
call fcn.00469230
mov ecx, esi
call fcn.00469230
call fcn.00469230
lea ebp, [0x5144c8]
mov dword [eax + ebx*4], ebp
movzx ebx, byte [0x5e8fca]
mov byte [esi], bl
inc edx
cmp edx, ecx
jge 0x4c5629
lea ebx, [edx + edx*2]
mov dword [eax + ebx*4 + 4], 1
mov ebp, dword [0x5e91b8]
lea esi, [eax + ebx*4 + 8]
test ebp, ebp
je 0x4c6adf
mov ebp, dword [eax + ebx*4]
call fcn.004691b0
mov dword [edi], ebp
jmp 0x4c6adf
mov eax, edx
mov ecx, 0xb
call fcn.00469240
mov eax, edx
mov ecx, 0xa
call fcn.00469240
mov dword [ebp + ebx*4], edx
mov esi, dword [esp + 0xe0]
inc esi
mov ebx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x220]
mov eax, ebp
mov edx, dword [esp + 0x214]
mov ebp, esi
cmp ecx, ebp
jle 0x4c6bdf
mov dword [esp + 0xe0], ebp
lea esi, [ebp + ebp*2]
mov dword [esp + 0x19c], esi
mov edi, dword [eax + esi*4 + 4]
jmp 0x4c6c06
mov ecx, dword [eax + esi*4]
mov ebx, dword [eax + esi*4 + 4]
mov ebp, dword [eax + esi*4 + 8]
mov edi, dword [edx]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
call fcn.004c73e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x19c]
mov ebp, dword [esp + 0x21c]
mov dword [ebp + ebx*4 + 4], eax
mov dword [ebp + ebx*4 + 8], ecx
mov eax, dword [0x5e91b8]
test eax, eax
je 0x4c6b37
call fcn.004691c0
mov dword [edi], edx
mov eax, dword [ebp + ebx*4]
mov dword [edi + 4], eax
jmp 0x4c6b37
mov ebx, dword [edx]
jmp 0x4c521a
mov dword [eax + esi*4 + 4], ebp
movsd qword [edx + ebp*8 - 8], xmm0
inc edi
mov ecx, dword [esp + 0x220]
mov edx, dword [esp + 0x214]
mov ebp, dword [esp + 0xe0]
cmp ebx, edi
jle 0x4c6b7b
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0x7ff80000
mov ecx, dword [eax + esi*4 + 8]
mov ebp, dword [eax + esi*4 + 4]
inc ebp
mov edx, dword [eax + esi*4]
movsd xmm0, qword [esp + 0x170]
cmp ecx, ebp
jae 0x4c6be6
mov dword [esp + 0xc8], edi
movsd qword [esp + 0x2c], xmm0
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x4d6ba0]
mov dword [esp + 0x10], eax
call fcn.0044eda0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x19c]
mov ebp, dword [esp + 0x21c]
mov dword [ebp + ebx*4 + 8], eax
mov eax, dword [0x5e91b8]
test eax, eax
je 0x4c6ca2
call fcn.004691c0
mov dword [edi], ecx
mov eax, dword [ebp + ebx*4]
mov dword [edi + 4], eax
mov dword [ebp + ebx*4], ecx
mov eax, ebp
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0x19c]
mov edi, dword [esp + 0xc8]
movsd xmm0, qword [esp + 0x2c]
mov ebp, edx
mov edx, ecx
jmp 0x4c6be6
call fcn.00467db0
jmp fcn.004c5150