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

Disassembly:
mov ecx, dword [0x5f91cc]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xb8]
cmp eax, dword [ecx + 8]
jbe 0x47e818
sub esp, 0x138
mov eax, dword [esp + 0x14c]
mov dword [esp], eax
mov ecx, dword [esp + 0x150]
mov dword [esp + 4], ecx
call fcn.00481c60
mov eax, dword [esp + 8]
test eax, eax
jne 0x47d5d6
mov eax, dword [esp + 0x150]
mov edx, dword [esp + 0x14c]
jmp 0x47de79
mov dword [esp + 0x30], eax
lea ecx, [0x4e01c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0044a780
mov eax, dword [esp + 0xc]
mov dword [esp + 0x11c], eax
mov ecx, dword [esp + 0x13c]
mov dword [esp], ecx
mov edx, dword [esp + 0x140]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov ebx, dword [esp + 0x30]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
call fcn.0046a8f0
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x47de58
mov edx, dword [esp + 0x14c]
test edx, edx
je 0x47de4d
mov ebx, dword [edx + 8]
cmp ebx, 0x6d448d5d
ja 0x47da8d
cmp ebx, 0x38dfc0a9
ja 0x47d828
cmp ebx, 0x2de60e3b
ja 0x47d6fa
cmp ebx, 0x252f926b
je 0x47d6a7
cmp ebx, 0x2de60e3b
jne 0x47de4d
lea ebx, [0x4dd0e0]
cmp edx, ebx
jne 0x47de4d
mov ebx, dword [esp + 0x150]
mov ecx, dword [ebx + 4]
mov ebp, dword [ebx]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x11c]
xor eax, eax
jmp 0x47e7fb
lea ebx, [0x4dd3a0]
cmp edx, ebx
jne 0x47de4d
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx]
mov dword [esp + 0xf0], ebp
mov esi, dword [ebx + 4]
mov dword [esp + 0x54], esi
mov edi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x8c], eax
xor eax, eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x8c]
jmp 0x47e7bd
cmp ebx, 0x2e74d42b
je 0x47d7c7
cmp ebx, 0x338a7ec0
je 0x47d76d
cmp ebx, 0x38dfc0a9
jne 0x47de4d
lea ebx, [0x4dd1e0]
cmp edx, ebx
jne 0x47de4d
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx]
mov dword [esp + 0x104], ebp
mov esi, dword [ebx + 4]
mov dword [esp + 0x68], esi
mov edi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x94], eax
xor eax, eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x94]
jmp 0x47e6f0
lea eax, [0x4dade0]
cmp edx, eax
jne 0x47de4d
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x24]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x11c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x150]
mov dword [ecx], eax
mov eax, ecx
mov edx, dword [esp + 0x14c]
mov ecx, dword [esp + 0x30]
jmp 0x47de71
lea eax, [0x4dae20]
cmp edx, eax
jne 0x47de4d
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x11c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x150]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov eax, edx
mov edx, dword [esp + 0x14c]
mov ecx, dword [esp + 0x30]
jmp 0x47de71
cmp ebx, 0x4f3c6e38
ja 0x47d94b
cmp ebx, 0x4072c7d5
je 0x47d8e1
cmp ebx, 0x49163278
je 0x47d880
cmp ebx, 0x4f3c6e38
jne 0x47de4d
lea ebx, [0x4dd3e0]
cmp edx, ebx
jne 0x47de4d
mov ebx, dword [esp + 0x150]
mov ecx, dword [ebx + 4]
mov ebp, dword [ebx]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x11c]
xor eax, eax
jmp 0x47e64d
lea eax, [0x4dae60]
cmp edx, eax
jne 0x47de4d
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x11c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x150]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov eax, edx
mov edx, dword [esp + 0x14c]
mov ecx, dword [esp + 0x30]
jmp 0x47de71
lea eax, [0x4dafe0]
cmp edx, eax
jne 0x47de4d
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x24]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x11c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x88], eax
movss xmm0, dword [esp + 0x88]
mov eax, dword [esp + 0x150]
movss dword [eax], xmm0
mov edx, dword [esp + 0x14c]
mov ecx, dword [esp + 0x30]
jmp 0x47de71
cmp ebx, 0x62de383d
je 0x47da33
cmp ebx, 0x6d0f0857
jne 0x47d9b2
lea ebx, [0x4dd260]
cmp edx, ebx
jne 0x47de4d
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx]
mov dword [esp + 0xfc], ebp
mov esi, dword [ebx + 4]
mov dword [esp + 0x60], esi
mov edi, dword [esp + 0x144]
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x9c], eax
xor eax, eax
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x9c]
jmp 0x47e5ff
cmp ebx, 0x6d448d5d
jne 0x47de4d
lea eax, [0x4db020]
cmp edx, eax
jne 0x47de4d
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x11c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
movsd xmm0, qword [esp + 0x80]
mov eax, dword [esp + 0x150]
movsd qword [eax], xmm0
mov edx, dword [esp + 0x14c]
mov ecx, dword [esp + 0x30]
jmp 0x47de71
lea eax, [0x4dada0]
cmp edx, eax
jne 0x47de4d
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x24]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x11c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x150]
mov dword [ecx], eax
mov eax, ecx
mov edx, dword [esp + 0x14c]
mov ecx, dword [esp + 0x30]
jmp 0x47de71
cmp ebx, 0x889ce7f8
ja 0x47dc90
cmp ebx, 0x7e440822
ja 0x47db5f
cmp ebx, 0x70800450
jne 0x47db00
lea ebx, [0x4dd360]
cmp edx, ebx
jne 0x47de4d
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx]
mov dword [esp + 0xf4], ebp
mov esi, dword [ebx + 4]
mov dword [esp + 0x58], esi
mov edi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0xa4], eax
xor eax, eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xa4]
jmp 0x47e52d
cmp ebx, 0x7e440822
jne 0x47de4d
lea ebx, [0x4dd160]
cmp edx, ebx
jne 0x47de4d
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx]
mov dword [esp + 0x10c], ebp
mov esi, dword [ebx + 4]
mov dword [esp + 0x70], esi
mov edi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0xac], eax
xor eax, eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xac]
jmp 0x47e469
cmp ebx, 0x81044065
je 0x47dc2e
cmp ebx, 0x854f63b7
jne 0x47dbc6
lea ebx, [0x4dd2a0]
cmp edx, ebx
jne 0x47de4d
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx]
mov dword [esp + 0xf8], ebp
mov esi, dword [ebx + 4]
mov dword [esp + 0x5c], esi
mov edi, dword [esp + 0x144]
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0xb4], eax
xor eax, eax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
jmp 0x47e3ae
cmp ebx, 0x889ce7f8
jne 0x47de4d
lea eax, [0x4dad60]
cmp edx, eax
jne 0x47de4d
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x11c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0x150]
mov word [ecx], ax
mov eax, ecx
mov edx, dword [esp + 0x14c]
mov ecx, dword [esp + 0x30]
jmp 0x47de71
lea eax, [0x4dd120]
cmp edx, eax
jne 0x47de4d
mov eax, dword [esp + 0x150]
mov ecx, dword [eax + 4]
mov ebx, dword [esp + 0x30]
cmp ecx, ebx
jle 0x47dc52
mov ecx, ebx
jmp 0x47dc58
mov ebx, ecx
mov ecx, dword [esp + 0x30]
mov ebp, dword [eax]
mov esi, dword [esp + 0x11c]
cmp ebp, esi
je 0x47de71
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
call fcn.00463960
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x14c]
jmp 0x47de71
cmp ebx, 0xd6631a7c
ja 0x47dd93
cmp ebx, 0x9ae5bb3b
jne 0x47dcf7
lea ebx, [0x4dd1a0]
cmp edx, ebx
jne 0x47de4d
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx]
mov dword [esp + 0x108], ebp
mov esi, dword [ebx + 4]
mov dword [esp + 0x6c], esi
mov edi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0xbc], eax
xor eax, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0xbc]
jmp 0x47e2dd
cmp ebx, 0xc3230e0b
jne 0x47dd5b
lea eax, [0x4dad20]
cmp edx, eax
jne 0x47de4d
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x11c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0x150]
mov word [ecx], ax
mov eax, ecx
mov edx, dword [esp + 0x14c]
mov ecx, dword [esp + 0x30]
jmp 0x47de71
cmp ebx, 0xd6631a7c
jne 0x47de4d
lea eax, [0x4daca0]
cmp edx, eax
jne 0x47de4d
mov ecx, dword [esp + 0x11c]
movzx ecx, byte [ecx]
mov ebx, dword [esp + 0x150]
mov byte [ebx], cl
mov eax, ebx
mov ecx, dword [esp + 0x30]
jmp 0x47de71
cmp ebx, 0xd83fe3b3
jne 0x47ddee
lea ebx, [0x4dd220]
cmp edx, ebx
jne 0x47de4d
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx]
mov dword [esp + 0x100], ebp
mov esi, dword [ebx + 4]
mov dword [esp + 0x64], esi
mov edi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0xc4], eax
xor eax, eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xc4]
jmp 0x47e222
cmp ebx, 0xf3b50de0
jne 0x47de1b
lea eax, [0x4dace0]
cmp edx, eax
jne 0x47de4d
mov ecx, dword [esp + 0x11c]
movzx ecx, byte [ecx]
mov ebx, dword [esp + 0x150]
mov byte [ebx], cl
mov eax, ebx
mov ecx, dword [esp + 0x30]
jmp 0x47de71
cmp ebx, 0xfcd60fce
jne 0x47de4d
lea eax, [0x4db060]
cmp edx, eax
jne 0x47de4d
mov ecx, dword [esp + 0x11c]
movzx ecx, byte [ecx]
test cl, cl
setne cl
mov ebx, dword [esp + 0x150]
mov byte [ebx], cl
mov eax, ebx
mov ecx, dword [esp + 0x30]
jmp 0x47de71
mov eax, dword [esp + 0x150]
xor ecx, ecx
jmp 0x47de71
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], ecx
add esp, 0x138
ret
test ecx, ecx
jne 0x47e17e
test edx, edx
je 0x47debe
mov dword [esp + 0xe0], edx
mov dword [esp + 0xe4], eax
mov ecx, dword [esp + 0xe0]
test ecx, ecx
je 0x47deb6
movzx ebx, byte [ecx + 0xf]
nop
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x47dead
or ebx, 0x80
mov ebp, dword [esp + 0xe4]
jmp 0x47dec4
xor ebx, ebx
xor ecx, ecx
xor ebp, ebp
jmp 0x47dec4
xor ebx, ebx
xor ecx, ecx
xor ebp, ebp
mov esi, ebx
and ebx, 0x1f
nop
cmp ebx, 0x16
je 0x47df2e
cmp ebx, 0x17
je 0x47dede
mov ebx, 0xffffffff
jmp 0x47df98
mov dword [esp + 0xd0], esi
mov dword [esp + 0xd8], ebp
mov dword [esp + 0xd4], ecx
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0047fc80
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x14c]
mov ebx, eax
mov esi, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd4]
mov ebp, dword [esp + 0xd8]
mov eax, dword [esp + 0x150]
jmp 0x47df98
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0047b2d0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x118], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x11c], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0xd0], edx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0047fc80
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x14c]
mov ebx, eax
mov esi, dword [esp + 0xd0]
mov ecx, dword [esp + 0x118]
mov ebp, dword [esp + 0x11c]
mov eax, dword [esp + 0x150]
test ebx, ebx
jge 0x47e068
mov dword [esp + 0xe8], edx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0xe8]
test eax, eax
je 0x47dfc1
lea ecx, [0x51cddc]
jmp 0x47dfc5
xor ecx, ecx
xor eax, eax
mov ecx, dword [ecx + 0x80]
mov dword [esp], eax
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x4f9aef]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x1a
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.0044e240
mov eax, dword [esp + 0x18]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xdc], ecx
lea edx, [0x4e3100]
mov dword [esp], edx
call fcn.0040c850
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x28]
mov dword [eax + 4], ecx
mov ecx, dword [0x5f9270]
test ecx, ecx
jne 0x47e03d
mov ecx, dword [esp + 0xdc]
jmp 0x47e04b
call fcn.004630a0
mov ecx, dword [esp + 0xdc]
mov dword [edi], ecx
mov dword [eax], ecx
lea ecx, [0x51c974]
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], eax
add esp, 0x138
ret
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x24], esi
mov dword [esp + 0xd8], ebp
mov dword [esp + 0xd4], ecx
lea eax, [0x4e01c0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.0044a780
mov eax, dword [esp + 0xc]
mov dword [esp + 0x11c], eax
lea edi, [esp + 0x120]
xor eax, eax
call fcn.0046326a
mov eax, dword [esp + 0x144]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x148]
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x12c], eax
mov dword [esp + 0x130], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x128], ecx
mov edx, dword [esp + 0x13c]
mov dword [esp], edx
mov edx, dword [esp + 0x140]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
call fcn.0046a8f0
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x47e134
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], ecx
add esp, 0x138
ret
lea eax, [esp + 0x120]
mov dword [esp], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
call fcn.004801d0
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
add esp, 0x138
ret
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
add esp, 0x138
ret
mov ebp, dword [eax + 0x24]
mov dword [esp], edi
sub edx, ebx
mov dword [esp + 0xcc], edx
neg edx
sar edx, 0x1f
and ebx, edx
lea edx, [ebx + ecx]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xcc]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebp
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x44]
mov ebp, dword [esp + 0x100]
mov dword [ebp + ecx*4], eax
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x148]
mov ebx, dword [esp + 0x144]
mov esi, dword [esp + 0x11c]
mov edi, dword [esp + 0x30]
mov ecx, esi
mov edx, dword [esp + 0x14c]
mov ebx, dword [esp + 0x150]
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x148]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x144]
mov ebx, dword [esp + 0x44]
cmp ebx, esi
jge 0x47e23b
shl ebx, 2
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x47e19b
jmp 0x47e24b
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x47de71
mov eax, ebx
mov ecx, edx
call fcn.00463180
mov ebp, dword [eax + 0x20]
mov dword [esp], edi
sub edx, ebx
mov dword [esp + 0xcc], edx
neg edx
sar edx, 0x1f
and ebx, edx
lea edx, [ebx + ecx]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xcc]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebp
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x108]
mov word [ebp + ecx*2], ax
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x148]
mov ebx, dword [esp + 0x144]
mov esi, dword [esp + 0x11c]
mov edi, dword [esp + 0x30]
mov ecx, esi
mov edx, dword [esp + 0x14c]
mov ebx, dword [esp + 0x150]
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x148]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x144]
mov ebx, dword [esp + 0x4c]
cmp ebx, esi
jge 0x47e2f5
shl ebx, 1
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x47e254
jmp 0x47e305
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x47de71
mov eax, ebx
mov ecx, edx
call fcn.00463180
mov esi, dword [esp + 0x3c]
lea ebp, [ebp + esi*8]
mov dword [esp + 0x114], ebp
mov edi, dword [edi + 0x28]
mov dword [esp], eax
sub edx, ebx
mov dword [esp + 0xcc], edx
neg edx
sar edx, 0x1f
and ebx, edx
lea edx, [ebx + ecx]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xcc]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call edi
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x114]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x144]
mov ebx, dword [esp + 0x148]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0x11c]
mov edi, dword [esp + 0x30]
mov ecx, esi
mov edx, dword [esp + 0x14c]
mov ebx, dword [esp + 0x150]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x144]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x148]
mov ebx, dword [esp + 0x3c]
cmp ebx, esi
jge 0x47e3c7
shl ebx, 3
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x47e30e
jmp 0x47e3d7
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x47de71
mov eax, ebx
mov ecx, edx
call fcn.00463180
mov ebp, dword [eax + 0x20]
mov dword [esp], edi
sub edx, ebx
mov dword [esp + 0xcc], edx
neg edx
sar edx, 0x1f
and ebx, edx
lea edx, [ebx + ecx]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xcc]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebp
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0x50]
mov ebp, dword [esp + 0x10c]
mov word [ebp + ecx*2], ax
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x148]
mov ebx, dword [esp + 0x144]
mov esi, dword [esp + 0x11c]
mov edi, dword [esp + 0x30]
mov ecx, esi
mov edx, dword [esp + 0x14c]
mov ebx, dword [esp + 0x150]
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x148]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x144]
mov ebx, dword [esp + 0x50]
cmp ebx, esi
jge 0x47e481
shl ebx, 1
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x47e3e0
jmp 0x47e491
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x47de71
mov eax, ebx
mov ecx, edx
call fcn.00463180
mov ebp, dword [eax + 0x24]
mov dword [esp], edi
sub edx, ebx
mov dword [esp + 0xcc], edx
neg edx
sar edx, 0x1f
and ebx, edx
lea edx, [ebx + ecx]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xcc]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebp
mov eax, dword [esp + 0x10]
mov dword [esp + 0x7c], eax
movss xmm0, dword [esp + 0x7c]
mov eax, dword [esp + 0x38]
lea ecx, [eax + 1]
mov ebp, dword [esp + 0xf4]
movss dword [ebp + eax*4], xmm0
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x148]
mov ebx, dword [esp + 0x144]
mov esi, dword [esp + 0x11c]
mov edi, dword [esp + 0x30]
mov eax, ebx
mov edx, dword [esp + 0x14c]
mov ebx, dword [esp + 0x150]
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x148]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x11c]
mov ebx, dword [esp + 0x38]
cmp ebx, esi
jge 0x47e546
shl ebx, 2
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x47e49a
jmp 0x47e556
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x47de71
mov eax, ebx
mov ecx, edx
call fcn.00463180
mov esi, dword [esp + 0x40]
lea ebp, [ebp + esi*8]
mov dword [esp + 0x110], ebp
mov edi, dword [edi + 0x28]
mov dword [esp], eax
sub edx, ebx
mov dword [esp + 0xcc], edx
neg edx
sar edx, 0x1f
and ebx, edx
lea edx, [ebx + ecx]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xcc]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call edi
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x110]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov eax, dword [esp + 0x40]
inc eax
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x144]
mov ebx, dword [esp + 0x148]
mov ebp, dword [esp + 0xfc]
mov esi, dword [esp + 0x11c]
mov edi, dword [esp + 0x30]
mov ecx, esi
mov edx, dword [esp + 0x14c]
mov ebx, dword [esp + 0x150]
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x144]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x148]
mov ebx, dword [esp + 0x40]
cmp ebx, esi
jge 0x47e618
shl ebx, 3
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x47e55f
jmp 0x47e628
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x47de71
mov eax, ebx
mov ecx, edx
call fcn.00463180
lea edx, [eax + 1]
test bl, bl
setne bl
mov byte [ebp + eax], bl
mov ebx, dword [esp + 0x150]
mov eax, edx
mov edx, dword [esp + 0x14c]
cmp eax, esi
jge 0x47e65b
movzx ebx, byte [eax + edi]
cmp eax, ecx
jb 0x47e631
jmp 0x47e664
mov eax, ebx
mov ecx, esi
jmp 0x47de71
call fcn.00463120
mov ebp, dword [eax + 0x24]
mov dword [esp], edi
sub edx, ebx
mov dword [esp + 0xcc], edx
neg edx
sar edx, 0x1f
and ebx, edx
lea edx, [ebx + ecx]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xcc]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebp
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x48]
mov ebp, dword [esp + 0x104]
mov dword [ebp + ecx*4], eax
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x148]
mov ebx, dword [esp + 0x144]
mov esi, dword [esp + 0x11c]
mov edi, dword [esp + 0x30]
mov ecx, esi
mov edx, dword [esp + 0x14c]
mov ebx, dword [esp + 0x150]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x148]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x144]
mov ebx, dword [esp + 0x48]
cmp ebx, esi
jge 0x47e709
shl ebx, 2
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x47e669
jmp 0x47e719
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x47de71
mov eax, ebx
mov ecx, edx
call fcn.00463180
mov ebp, dword [eax + 0x28]
mov dword [esp], edi
sub edx, ebx
mov dword [esp + 0xcc], edx
neg edx
sar edx, 0x1f
and ebx, edx
lea edx, [ebx + ecx]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xcc]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebp
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
movsd xmm0, qword [esp + 0x74]
mov eax, dword [esp + 0x34]
lea ecx, [eax + 1]
mov ebp, dword [esp + 0xf0]
movsd qword [ebp + eax*8], xmm0
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x148]
mov ebx, dword [esp + 0x144]
mov esi, dword [esp + 0x11c]
mov edi, dword [esp + 0x30]
mov eax, ebx
mov edx, dword [esp + 0x14c]
mov ebx, dword [esp + 0x150]
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x148]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x11c]
mov ebx, dword [esp + 0x34]
cmp ebx, esi
jge 0x47e7d6
shl ebx, 3
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x47e722
jmp 0x47e7e6
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x47de71
mov eax, ebx
mov ecx, edx
call fcn.00463180
mov byte [ebp + eax], bl
inc eax
mov ebx, dword [esp + 0x150]
cmp eax, esi
jge 0x47e809
movzx ebx, byte [eax + edi]
cmp eax, ecx
jb 0x47e7ef
jmp 0x47e812
mov eax, ebx
mov ecx, esi
jmp 0x47de71
call fcn.00463120
nop
call fcn.00461ca0
jmp fcn.0047d580