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

Disassembly:
mov ecx, dword [0x5caff0]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x88]
cmp eax, dword [ecx + 8]
jbe 0x47b5b5
sub esp, 0x108
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
call fcn.0047c6b0
mov eax, dword [esp + 8]
test eax, eax
je 0x47ad23
mov dword [esp + 0x30], eax
lea ecx, [0x4cb9c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0044abc0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xdc], eax
mov ecx, dword [esp + 0x10c]
mov dword [esp], ecx
mov edx, dword [esp + 0x110]
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.0046a7a0
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x47acfe
mov edx, dword [esp + 0x11c]
test edx, edx
je 0x47acfa
mov edx, dword [edx + 8]
cmp edx, 0x6d448d5d
ja 0x47a959
cmp edx, 0x38dfc0a9
ja 0x47a6fe
cmp edx, 0x2de60e3b
ja 0x47a5db
cmp edx, 0x252f926b
je 0x47a58f
cmp edx, 0x2de60e3b
jne 0x47acfa
mov edx, dword [esp + 0x11c]
lea ebx, [0x4c8d00]
cmp edx, ebx
jne 0x47acfa
mov edx, dword [esp + 0x120]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0xdc]
xor eax, eax
jmp 0x47b59a
mov edx, dword [esp + 0x11c]
lea ebx, [0x4c8880]
cmp edx, ebx
jne 0x47acfa
mov edx, dword [esp + 0x120]
mov ebx, dword [edx + 4]
mov dword [esp + 0x54], ebx
mov edx, dword [edx]
mov dword [esp + 0xa8], edx
mov ebp, dword [esp + 0x118]
mov esi, dword [esp + 0x114]
mov edi, dword [esp + 0xdc]
mov ecx, dword [esp + 0x30]
xor eax, eax
jmp 0x47b576
cmp edx, 0x2e74d42b
je 0x47a69f
cmp edx, 0x338a7ec0
je 0x47a647
cmp edx, 0x38dfc0a9
jne 0x47acfa
mov edx, dword [esp + 0x11c]
lea ebx, [0x4c8340]
cmp edx, ebx
jne 0x47acfa
mov edx, dword [esp + 0x120]
mov ebx, dword [edx + 4]
mov dword [esp + 0x68], ebx
mov edx, dword [edx]
mov dword [esp + 0xbc], edx
mov ebp, dword [esp + 0x118]
mov esi, dword [esp + 0x114]
mov edi, dword [esp + 0xdc]
mov ecx, dword [esp + 0x30]
xor eax, eax
jmp 0x47b4c7
mov eax, dword [esp + 0x11c]
lea ecx, [0x4c65c0]
cmp eax, ecx
jne 0x47acfa
mov eax, dword [esp + 0x114]
mov ecx, dword [eax + 0x24]
mov edx, dword [esp + 0x118]
mov dword [esp], edx
mov ebx, dword [esp + 0xdc]
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 + 0x120]
mov dword [ecx], eax
mov ecx, dword [esp + 0x30]
jmp 0x47ad1b
mov eax, dword [esp + 0x11c]
lea ecx, [0x4c6500]
cmp eax, ecx
jne 0x47acfa
mov eax, dword [esp + 0x114]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x118]
mov dword [esp], edx
mov ebx, dword [esp + 0xdc]
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 + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x120]
mov dword [edx + 4], eax
mov dword [edx], ecx
mov ecx, dword [esp + 0x30]
jmp 0x47ad1b
cmp edx, 0x4f3c6e38
ja 0x47a820
cmp edx, 0x4072c7d5
je 0x47a7bc
cmp edx, 0x49163278
je 0x47a75d
cmp edx, 0x4f3c6e38
jne 0x47acfa
mov edx, dword [esp + 0x11c]
lea ebx, [0x4c8a40]
cmp edx, ebx
jne 0x47acfa
mov edx, dword [esp + 0x120]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0xdc]
xor eax, eax
jmp 0x47b439
mov eax, dword [esp + 0x11c]
lea ecx, [0x4c6880]
cmp eax, ecx
jne 0x47acfa
mov eax, dword [esp + 0x114]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x118]
mov dword [esp], edx
mov ebx, dword [esp + 0xdc]
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 + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x120]
mov dword [edx + 4], eax
mov dword [edx], ecx
mov ecx, dword [esp + 0x30]
jmp 0x47ad1b
mov eax, dword [esp + 0x11c]
lea ecx, [0x4c63c0]
cmp eax, ecx
jne 0x47acfa
mov eax, dword [esp + 0x114]
mov ecx, dword [eax + 0x24]
mov edx, dword [esp + 0x118]
mov dword [esp], edx
mov ebx, dword [esp + 0xdc]
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 + 0x78], eax
movss xmm0, dword [esp + 0x78]
mov eax, dword [esp + 0x120]
movss dword [eax], xmm0
mov ecx, dword [esp + 0x30]
jmp 0x47ad1b
cmp edx, 0x62de383d
je 0x47a901
cmp edx, 0x6d0f0857
jne 0x47a880
mov edx, dword [esp + 0x11c]
lea ebx, [0x4c8a00]
cmp edx, ebx
jne 0x47acfa
mov edx, dword [esp + 0x120]
mov ebx, dword [edx + 4]
mov dword [esp + 0x60], ebx
mov edx, dword [edx]
mov dword [esp + 0xb4], edx
mov ebp, dword [esp + 0x114]
mov esi, dword [esp + 0x118]
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0xdc]
xor eax, eax
jmp 0x47b406
cmp edx, 0x6d448d5d
jne 0x47acfa
mov eax, dword [esp + 0x11c]
lea ecx, [0x4c6400]
cmp eax, ecx
jne 0x47acfa
mov eax, dword [esp + 0x114]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x118]
mov dword [esp], edx
mov ebx, dword [esp + 0xdc]
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 + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x90], eax
mov dword [esp + 0x8c], ecx
movsd xmm0, qword [esp + 0x8c]
mov eax, dword [esp + 0x120]
movsd qword [eax], xmm0
mov ecx, dword [esp + 0x30]
jmp 0x47ad1b
mov eax, dword [esp + 0x11c]
lea ecx, [0x4c64c0]
cmp eax, ecx
jne 0x47acfa
mov eax, dword [esp + 0x114]
mov ecx, dword [eax + 0x24]
mov edx, dword [esp + 0x118]
mov dword [esp], edx
mov ebx, dword [esp + 0xdc]
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 + 0x120]
mov dword [ecx], eax
mov ecx, dword [esp + 0x30]
jmp 0x47ad1b
cmp edx, 0x889ce7f8
ja 0x47ab3e
cmp edx, 0x7e440822
ja 0x47aa1d
cmp edx, 0x70800450
jne 0x47a9c5
mov edx, dword [esp + 0x11c]
lea ebx, [0x4c89c0]
cmp edx, ebx
jne 0x47acfa
mov edx, dword [esp + 0x120]
mov ebx, dword [edx + 4]
mov dword [esp + 0x58], ebx
mov edx, dword [edx]
mov dword [esp + 0xac], edx
mov ebp, dword [esp + 0x118]
mov esi, dword [esp + 0x114]
mov edi, dword [esp + 0xdc]
mov ecx, dword [esp + 0x30]
xor eax, eax
jmp 0x47b34c
cmp edx, 0x7e440822
jne 0x47acfa
mov edx, dword [esp + 0x11c]
lea ebx, [0x4c8d40]
cmp edx, ebx
jne 0x47acfa
mov edx, dword [esp + 0x120]
mov ebx, dword [edx + 4]
mov dword [esp + 0x70], ebx
mov edx, dword [edx]
mov dword [esp + 0xc4], edx
mov ebp, dword [esp + 0x118]
mov esi, dword [esp + 0x114]
mov edi, dword [esp + 0xdc]
mov ecx, dword [esp + 0x30]
xor eax, eax
jmp 0x47b2af
cmp edx, 0x81044065
je 0x47aae3
cmp edx, 0x854f63b7
jne 0x47aa7d
mov edx, dword [esp + 0x11c]
lea ebx, [0x4c8540]
cmp edx, ebx
jne 0x47acfa
mov edx, dword [esp + 0x120]
mov ebx, dword [edx + 4]
mov dword [esp + 0x5c], ebx
mov edx, dword [edx]
mov dword [esp + 0xb0], edx
mov ebp, dword [esp + 0x114]
mov esi, dword [esp + 0x118]
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0xdc]
xor eax, eax
jmp 0x47b21d
cmp edx, 0x889ce7f8
jne 0x47acfa
mov eax, dword [esp + 0x11c]
lea ecx, [0x4c69c0]
cmp eax, ecx
jne 0x47acfa
mov eax, dword [esp + 0x114]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x118]
mov dword [esp], edx
mov ebx, dword [esp + 0xdc]
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 + 0x120]
mov word [ecx], ax
mov ecx, dword [esp + 0x30]
jmp 0x47ad1b
mov eax, dword [esp + 0x11c]
lea ecx, [0x4c8240]
cmp eax, ecx
jne 0x47acfa
mov eax, dword [esp + 0x120]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x30]
cmp ecx, edx
jle 0x47ab0e
mov ecx, edx
jmp 0x47ab14
mov edx, ecx
mov ecx, dword [esp + 0x30]
mov eax, dword [eax]
mov ebx, dword [esp + 0xdc]
cmp eax, ebx
je 0x47ad1b
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.00463b00
mov ecx, dword [esp + 0x30]
jmp 0x47ad1b
cmp edx, 0xd6631a7c
ja 0x47ac3d
cmp edx, 0x9ae5bb3b
jne 0x47ab9e
mov edx, dword [esp + 0x11c]
lea ebx, [0x4c8980]
cmp edx, ebx
jne 0x47acfa
mov edx, dword [esp + 0x120]
mov ebx, dword [edx + 4]
mov dword [esp + 0x6c], ebx
mov edx, dword [edx]
mov dword [esp + 0xc0], edx
mov ebp, dword [esp + 0x118]
mov esi, dword [esp + 0x114]
mov edi, dword [esp + 0xdc]
mov ecx, dword [esp + 0x30]
xor eax, eax
jmp 0x47b164
cmp edx, 0xc3230e0b
jne 0x47ac00
mov eax, dword [esp + 0x11c]
lea ecx, [0x4c6480]
cmp eax, ecx
jne 0x47acfa
mov eax, dword [esp + 0x114]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x118]
mov dword [esp], edx
mov ebx, dword [esp + 0xdc]
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 + 0x120]
mov word [ecx], ax
mov ecx, dword [esp + 0x30]
jmp 0x47ad1b
cmp edx, 0xd6631a7c
jne 0x47acfa
mov eax, dword [esp + 0x11c]
lea ecx, [0x4c6540]
cmp eax, ecx
jne 0x47acfa
mov ecx, dword [esp + 0xdc]
movzx ecx, byte [ecx]
mov edx, dword [esp + 0x120]
mov byte [edx], cl
mov ecx, dword [esp + 0x30]
jmp 0x47ad1b
cmp edx, 0xd83fe3b3
jne 0x47ac91
mov edx, dword [esp + 0x11c]
lea ebx, [0x4c8280]
cmp edx, ebx
jne 0x47acfa
mov edx, dword [esp + 0x120]
mov ebx, dword [edx + 4]
mov dword [esp + 0x64], ebx
mov edx, dword [edx]
mov dword [esp + 0xb8], edx
mov ebp, dword [esp + 0x118]
mov esi, dword [esp + 0x114]
mov edi, dword [esp + 0xdc]
mov ecx, dword [esp + 0x30]
xor eax, eax
jmp 0x47b0d2
cmp edx, 0xf3b50de0
jne 0x47acc3
mov eax, dword [esp + 0x11c]
lea ecx, [0x4c6600]
cmp eax, ecx
jne 0x47acfa
mov ecx, dword [esp + 0xdc]
movzx ecx, byte [ecx]
mov edx, dword [esp + 0x120]
mov byte [edx], cl
mov ecx, dword [esp + 0x30]
jmp 0x47ad1b
cmp edx, 0xfcd60fce
jne 0x47acfa
mov eax, dword [esp + 0x11c]
lea ecx, [0x4c6300]
cmp eax, ecx
jne 0x47acfa
mov ecx, dword [esp + 0xdc]
movzx ecx, byte [ecx]
test cl, cl
setne cl
mov edx, dword [esp + 0x120]
mov byte [edx], cl
mov ecx, dword [esp + 0x30]
jmp 0x47ad1b
xor ecx, ecx
jmp 0x47ad1b
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], ecx
add esp, 0x108
ret
test ecx, ecx
jne 0x47b041
mov eax, dword [esp + 0x11c]
test eax, eax
je 0x47ad76
mov dword [esp + 0xe0], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 0xe4], ecx
mov edx, dword [esp + 0xe0]
test edx, edx
je 0x47ad6e
movzx ebx, byte [edx + 0xf]
nop
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x47ad65
or ebx, 0x80
mov ebp, dword [esp + 0xe4]
jmp 0x47ad83
xor ebx, ebx
xor edx, edx
xor ebp, ebp
jmp 0x47ad83
mov ecx, dword [esp + 0x120]
xor ebx, ebx
xor edx, edx
xor ebp, ebp
mov esi, ebx
and ebx, 0x1f
nop
cmp ebx, 0x16
je 0x47aded
cmp ebx, 0x17
je 0x47ad9d
mov ebx, 0xffffffff
jmp 0x47ae57
mov dword [esp + 0x80], esi
mov dword [esp + 0x98], ebp
mov dword [esp + 0x94], edx
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0047b670
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x120]
mov ebx, eax
mov esi, dword [esp + 0x80]
mov edx, dword [esp + 0x94]
mov ebp, dword [esp + 0x98]
mov eax, dword [esp + 0x11c]
jmp 0x47ae57
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00478120
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd8], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xdc], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x80], edx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0047b670
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x120]
mov ebx, eax
mov esi, dword [esp + 0x80]
mov edx, dword [esp + 0xd8]
mov ebp, dword [esp + 0xdc]
mov eax, dword [esp + 0x11c]
test ebx, ebx
jge 0x47af27
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], ecx
mov eax, dword [esp + 0xe8]
test eax, eax
je 0x47ae80
lea ecx, [0x506a40]
jmp 0x47ae84
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, [0x4e4a9e]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x1a
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.0044e720
mov eax, dword [esp + 0x18]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xa4], ecx
lea edx, [0x4ce9a0]
mov dword [esp], edx
call fcn.0040bb40
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x28]
mov dword [eax + 4], ecx
mov ecx, dword [0x5cb0f0]
test ecx, ecx
jne 0x47aefc
mov ecx, dword [esp + 0xa4]
jmp 0x47af0a
call fcn.004631c0
mov ecx, dword [esp + 0xa4]
mov dword [edi], ecx
mov dword [eax], ecx
lea ecx, [0x506688]
mov dword [esp + 0x124], ecx
mov dword [esp + 0x128], eax
add esp, 0x108
ret
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x24], esi
mov dword [esp + 0xa0], ebp
mov dword [esp + 0x9c], edx
lea eax, [0x4cb9c0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.0044abc0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xdc], eax
lea edi, [esp + 0xf0]
xor eax, eax
call fcn.0046340a
mov eax, dword [esp + 0x114]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xf8], eax
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], ecx
mov edx, dword [esp + 0x10c]
mov dword [esp], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ecx
call fcn.0046a7a0
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x47aff7
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], ecx
add esp, 0x108
ret
lea eax, [esp + 0xf0]
mov dword [esp], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
call fcn.0047bbc0
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], 0
add esp, 0x108
ret
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], 0
add esp, 0x108
ret
mov edx, dword [esi + 0x24]
mov dword [esp], ebp
sub ecx, eax
mov dword [esp + 0x7c], ecx
neg ecx
sar ecx, 0x1f
and eax, ecx
add eax, edi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
call edx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0xb8]
mov dword [edx + ecx*4], eax
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x64]
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x114]
mov esi, dword [esp + 0xdc]
mov edi, dword [esp + 0x30]
mov ecx, edi
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x118]
mov esi, dword [esp + 0x114]
mov edi, dword [esp + 0xdc]
cmp eax, ebx
jge 0x47ad1b
mov dword [esp + 0x44], eax
shl eax, 2
cmp ecx, eax
jae 0x47b05e
call fcn.00463280
mov edx, dword [esi + 0x20]
mov dword [esp], ebp
sub ecx, eax
mov dword [esp + 0x7c], ecx
neg ecx
sar ecx, 0x1f
and eax, ecx
add eax, edi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
call edx
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0xc0]
mov word [edx + ecx*2], ax
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x114]
mov esi, dword [esp + 0xdc]
mov edi, dword [esp + 0x30]
mov ecx, edi
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x118]
mov esi, dword [esp + 0x114]
mov edi, dword [esp + 0xdc]
cmp eax, ebx
jge 0x47ad1b
mov dword [esp + 0x4c], eax
shl eax, 1
cmp ecx, eax
jae 0x47b0ee
call fcn.00463280
mov ebx, dword [esp + 0x3c]
lea edi, [edx + ebx*8]
mov dword [esp + 0xd4], edi
lea edx, [edx + ebx*8 + 4]
mov dword [esp + 0xd0], edx
mov ebp, dword [ebp + 0x28]
mov dword [esp], esi
sub ecx, eax
mov dword [esp + 0x7c], ecx
neg ecx
sar ecx, 0x1f
and eax, ecx
mov ecx, dword [esp + 0xdc]
add eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
call ebp
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xd0]
mov dword [edx], eax
mov eax, dword [esp + 0xd4]
mov dword [eax], ecx
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0xb0]
mov ebx, dword [esp + 0x114]
mov ebp, dword [esp + 0x118]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0xdc]
mov ecx, esi
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x114]
mov esi, dword [esp + 0x118]
cmp eax, ebx
jge 0x47ad1b
mov dword [esp + 0x3c], eax
shl eax, 3
cmp ecx, eax
jae 0x47b17f
call fcn.00463280
mov edx, dword [esi + 0x20]
mov dword [esp], ebp
sub ecx, eax
mov dword [esp + 0x7c], ecx
neg ecx
sar ecx, 0x1f
and eax, ecx
add eax, edi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
call edx
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0xc4]
mov word [edx + ecx*2], ax
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x114]
mov esi, dword [esp + 0xdc]
mov edi, dword [esp + 0x30]
mov ecx, edi
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x118]
mov esi, dword [esp + 0x114]
mov edi, dword [esp + 0xdc]
cmp eax, ebx
jge 0x47ad1b
mov dword [esp + 0x50], eax
shl eax, 1
cmp ecx, eax
jae 0x47b239
call fcn.00463280
mov edx, dword [esi + 0x24]
mov dword [esp], ebp
sub ecx, eax
mov dword [esp + 0x7c], ecx
neg ecx
sar ecx, 0x1f
and eax, ecx
add eax, edi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
call edx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x74], eax
movss xmm0, dword [esp + 0x74]
mov eax, dword [esp + 0x38]
lea ecx, [eax + 1]
mov edx, dword [esp + 0xac]
movss dword [edx + eax*4], xmm0
mov eax, dword [esp + 0x58]
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x114]
mov esi, dword [esp + 0xdc]
mov edi, dword [esp + 0x30]
mov ebx, eax
mov ebp, dword [esp + 0x118]
mov esi, dword [esp + 0x114]
mov edi, dword [esp + 0xdc]
mov eax, ecx
mov ecx, dword [esp + 0x30]
cmp eax, ebx
jge 0x47ad1b
mov dword [esp + 0x38], eax
shl eax, 2
cmp ecx, eax
jae 0x47b2ca
call fcn.00463280
mov ebx, dword [esp + 0x40]
lea edi, [edx + ebx*8]
mov dword [esp + 0xcc], edi
lea edx, [edx + ebx*8 + 4]
mov dword [esp + 0xc8], edx
mov ebp, dword [ebp + 0x28]
mov dword [esp], esi
sub ecx, eax
mov dword [esp + 0x7c], ecx
neg ecx
sar ecx, 0x1f
and eax, ecx
mov ecx, dword [esp + 0xdc]
add eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
call ebp
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc8]
mov dword [edx], eax
mov eax, dword [esp + 0xcc]
mov dword [eax], ecx
mov eax, dword [esp + 0x40]
inc eax
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0x114]
mov ebp, dword [esp + 0x118]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0xdc]
mov ecx, esi
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x114]
mov esi, dword [esp + 0x118]
cmp eax, ebx
jge 0x47ad1b
mov dword [esp + 0x40], eax
shl eax, 3
cmp ecx, eax
jae 0x47b368
call fcn.00463280
lea edi, [eax + 1]
xchg esi, eax
test al, al
xchg esi, eax
xchg esi, ebx
setne bl
xchg esi, ebx
xchg esi, ebx
mov byte [edx + eax], bl
xchg esi, ebx
mov eax, edi
cmp eax, ebx
jge 0x47b447
movzx esi, byte [eax + ebp]
cmp eax, ecx
jb 0x47b422
jmp 0x47b44e
mov ecx, ebx
jmp 0x47ad1b
call fcn.00463220
mov edx, dword [esi + 0x24]
mov dword [esp], ebp
sub ecx, eax
mov dword [esp + 0x7c], ecx
neg ecx
sar ecx, 0x1f
and eax, ecx
add eax, edi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
call edx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xbc]
mov dword [edx + ecx*4], eax
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x68]
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x114]
mov esi, dword [esp + 0xdc]
mov edi, dword [esp + 0x30]
mov ecx, edi
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0x118]
mov esi, dword [esp + 0x114]
mov edi, dword [esp + 0xdc]
cmp eax, ebx
jge 0x47ad1b
mov dword [esp + 0x48], eax
shl eax, 2
cmp ecx, eax
jae 0x47b453
call fcn.00463280
mov edx, dword [esi + 0x28]
mov dword [esp], ebp
sub ecx, eax
mov dword [esp + 0x7c], ecx
neg ecx
sar ecx, 0x1f
and eax, ecx
add eax, edi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], ecx
movsd xmm0, qword [esp + 0x84]
mov eax, dword [esp + 0x34]
lea ecx, [eax + 1]
mov edx, dword [esp + 0xa8]
movsd qword [edx + eax*8], xmm0
mov eax, dword [esp + 0x54]
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x114]
mov esi, dword [esp + 0xdc]
mov edi, dword [esp + 0x30]
mov ebx, eax
mov ebp, dword [esp + 0x118]
mov esi, dword [esp + 0x114]
mov edi, dword [esp + 0xdc]
mov eax, ecx
mov ecx, dword [esp + 0x30]
cmp eax, ebx
jge 0x47ad1b
mov dword [esp + 0x34], eax
shl eax, 3
cmp ecx, eax
jae 0x47b4e3
call fcn.00463280
xchg esi, ebx
mov byte [edx + eax], bl
xchg esi, ebx
inc eax
cmp eax, ebx
jge 0x47b5a8
movzx esi, byte [eax + ebp]
cmp eax, ecx
jb 0x47b592
jmp 0x47b5af
mov ecx, ebx
jmp 0x47ad1b
call fcn.00463220
nop
call fcn.00461dc0
jmp fcn.0047a470