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

Disassembly:
mov ecx, dword [0x5fcebc]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xb8]
cmp eax, dword [ecx + 8]
jbe 0x47f138
sub esp, 0x138
mov eax, dword [esp + 0x14c]
mov dword [esp], eax
mov ecx, dword [esp + 0x150]
mov dword [esp + 4], ecx
call fcn.00480240
mov eax, dword [esp + 8]
test eax, eax
jne 0x47def6
mov eax, dword [esp + 0x150]
mov edx, dword [esp + 0x14c]
jmp 0x47e799
mov dword [esp + 0x30], eax
lea ecx, [0x4c0a20]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0044d2c0
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.0046e530
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x47e778
mov edx, dword [esp + 0x14c]
test edx, edx
je 0x47e76d
mov ebx, dword [edx + 8]
cmp ebx, 0x6d448d5d
ja 0x47e3ad
cmp ebx, 0x38dfc0a9
ja 0x47e148
cmp ebx, 0x2de60e3b
ja 0x47e01a
cmp ebx, 0x252f926b
je 0x47dfc7
cmp ebx, 0x2de60e3b
jne 0x47e76d
lea ebx, [0x4bd9e0]
cmp edx, ebx
jne 0x47e76d
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 0x47f11b
lea ebx, [0x4bdce0]
cmp edx, ebx
jne 0x47e76d
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 0x47f0dd
cmp ebx, 0x2e74d42b
je 0x47e0e7
cmp ebx, 0x338a7ec0
je 0x47e08d
cmp ebx, 0x38dfc0a9
jne 0x47e76d
lea ebx, [0x4bdae0]
cmp edx, ebx
jne 0x47e76d
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 0x47f010
lea eax, [0x4bbcc0]
cmp edx, eax
jne 0x47e76d
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 0x47e791
lea eax, [0x4bbd00]
cmp edx, eax
jne 0x47e76d
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 0x47e791
cmp ebx, 0x4f3c6e38
ja 0x47e26b
cmp ebx, 0x4072c7d5
je 0x47e201
cmp ebx, 0x49163278
je 0x47e1a0
cmp ebx, 0x4f3c6e38
jne 0x47e76d
lea ebx, [0x4bdd20]
cmp edx, ebx
jne 0x47e76d
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 0x47ef6d
lea eax, [0x4bbd40]
cmp edx, eax
jne 0x47e76d
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 0x47e791
lea eax, [0x4bbec0]
cmp edx, eax
jne 0x47e76d
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 0x47e791
cmp ebx, 0x62de383d
je 0x47e353
cmp ebx, 0x6d0f0857
jne 0x47e2d2
lea ebx, [0x4bdb60]
cmp edx, ebx
jne 0x47e76d
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 0x47ef1f
cmp ebx, 0x6d448d5d
jne 0x47e76d
lea eax, [0x4bbf00]
cmp edx, eax
jne 0x47e76d
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 0x47e791
lea eax, [0x4bbc80]
cmp edx, eax
jne 0x47e76d
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 0x47e791
cmp ebx, 0x889ce7f8
ja 0x47e5b0
cmp ebx, 0x7e440822
ja 0x47e47f
cmp ebx, 0x70800450
jne 0x47e420
lea ebx, [0x4bdca0]
cmp edx, ebx
jne 0x47e76d
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 0x47ee4d
cmp ebx, 0x7e440822
jne 0x47e76d
lea ebx, [0x4bda60]
cmp edx, ebx
jne 0x47e76d
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 0x47ed89
cmp ebx, 0x81044065
je 0x47e54e
cmp ebx, 0x854f63b7
jne 0x47e4e6
lea ebx, [0x4bdba0]
cmp edx, ebx
jne 0x47e76d
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 0x47ecce
cmp ebx, 0x889ce7f8
jne 0x47e76d
lea eax, [0x4bbc40]
cmp edx, eax
jne 0x47e76d
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 0x47e791
lea eax, [0x4bda20]
cmp edx, eax
jne 0x47e76d
mov eax, dword [esp + 0x150]
mov ecx, dword [eax + 4]
mov ebx, dword [esp + 0x30]
cmp ecx, ebx
jle 0x47e572
mov ecx, ebx
jmp 0x47e578
mov ebx, ecx
mov ecx, dword [esp + 0x30]
mov ebp, dword [eax]
mov esi, dword [esp + 0x11c]
cmp ebp, esi
je 0x47e791
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
call fcn.00467850
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x14c]
jmp 0x47e791
cmp ebx, 0xd6631a7c
ja 0x47e6b3
cmp ebx, 0x9ae5bb3b
jne 0x47e617
lea ebx, [0x4bdaa0]
cmp edx, ebx
jne 0x47e76d
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 0x47ebfd
cmp ebx, 0xc3230e0b
jne 0x47e67b
lea eax, [0x4bbc00]
cmp edx, eax
jne 0x47e76d
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 0x47e791
cmp ebx, 0xd6631a7c
jne 0x47e76d
lea eax, [0x4bbb80]
cmp edx, eax
jne 0x47e76d
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 0x47e791
cmp ebx, 0xd83fe3b3
jne 0x47e70e
lea ebx, [0x4bdb20]
cmp edx, ebx
jne 0x47e76d
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 0x47eb42
cmp ebx, 0xf3b50de0
jne 0x47e73b
lea eax, [0x4bbbc0]
cmp edx, eax
jne 0x47e76d
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 0x47e791
cmp ebx, 0xfcd60fce
jne 0x47e76d
lea eax, [0x4bbf40]
cmp edx, eax
jne 0x47e76d
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 0x47e791
mov eax, dword [esp + 0x150]
xor ecx, ecx
jmp 0x47e791
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], ecx
add esp, 0x138
ret
test ecx, ecx
jne 0x47ea9e
test edx, edx
je 0x47e7de
mov dword [esp + 0xe0], edx
mov dword [esp + 0xe4], eax
mov ecx, dword [esp + 0xe0]
test ecx, ecx
je 0x47e7d6
movzx ebx, byte [ecx + 0xf]
nop
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x47e7cd
or ebx, 0x80
mov ebp, dword [esp + 0xe4]
jmp 0x47e7e4
xor ebx, ebx
xor ecx, ecx
xor ebp, ebp
jmp 0x47e7e4
xor ebx, ebx
xor ecx, ecx
xor ebp, ebp
mov esi, ebx
and ebx, 0x1f
nop
cmp ebx, 0x16
je 0x47e84e
cmp ebx, 0x17
je 0x47e7fe
mov ebx, 0xffffffff
jmp 0x47e8b8
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.0047f200
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 0x47e8b8
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0047bce0
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.0047f200
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 0x47e988
mov dword [esp + 0xe8], edx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0xe8]
test eax, eax
je 0x47e8e1
lea ecx, [0x4f9820]
jmp 0x47e8e5
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, [0x4d772e]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x1a
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00450e20
mov eax, dword [esp + 0x18]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xdc], ecx
lea edx, [0x4c38a0]
mov dword [esp], edx
call fcn.0040cdd0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x28]
mov dword [eax + 4], ecx
mov ecx, dword [0x5fcf70]
test ecx, ecx
jne 0x47e95d
mov ecx, dword [esp + 0xdc]
jmp 0x47e96b
call fcn.00466f40
mov ecx, dword [esp + 0xdc]
mov dword [edi], ecx
mov dword [eax], ecx
lea ecx, [0x4f94f0]
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, [0x4c0a20]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.0044d2c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x11c], eax
lea edi, [esp + 0x120]
xor eax, eax
call fcn.0046715a
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.0046e530
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x47ea54
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.0047f750
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 0x47eb5b
shl ebx, 2
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x47eabb
jmp 0x47eb6b
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x47e791
mov eax, ebx
mov ecx, edx
call fcn.00467020
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 0x47ec15
shl ebx, 1
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x47eb74
jmp 0x47ec25
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x47e791
mov eax, ebx
mov ecx, edx
call fcn.00467020
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 0x47ece7
shl ebx, 3
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x47ec2e
jmp 0x47ecf7
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x47e791
mov eax, ebx
mov ecx, edx
call fcn.00467020
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 0x47eda1
shl ebx, 1
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x47ed00
jmp 0x47edb1
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x47e791
mov eax, ebx
mov ecx, edx
call fcn.00467020
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 0x47ee66
shl ebx, 2
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x47edba
jmp 0x47ee76
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x47e791
mov eax, ebx
mov ecx, edx
call fcn.00467020
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 0x47ef38
shl ebx, 3
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x47ee7f
jmp 0x47ef48
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x47e791
mov eax, ebx
mov ecx, edx
call fcn.00467020
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 0x47ef7b
movzx ebx, byte [eax + edi]
cmp eax, ecx
jb 0x47ef51
jmp 0x47ef84
mov eax, ebx
mov ecx, esi
jmp 0x47e791
call fcn.00466fc0
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 0x47f029
shl ebx, 2
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x47ef89
jmp 0x47f039
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x47e791
mov eax, ebx
mov ecx, edx
call fcn.00467020
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 0x47f0f6
shl ebx, 3
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x47f042
jmp 0x47f106
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x47e791
mov eax, ebx
mov ecx, edx
call fcn.00467020
mov byte [ebp + eax], bl
inc eax
mov ebx, dword [esp + 0x150]
cmp eax, esi
jge 0x47f129
movzx ebx, byte [eax + edi]
cmp eax, ecx
jb 0x47f10f
jmp 0x47f132
mov eax, ebx
mov ecx, esi
jmp 0x47e791
call fcn.00466fc0
nop
call fcn.00465b40
jmp fcn.0047dea0