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

Disassembly:
mov ecx, dword [0xf33f68]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xb8]
cmp eax, dword [ecx + 8]
jbe 0x5039b8
sub esp, 0x138
mov eax, dword [esp + 0x14c]
mov dword [esp], eax
mov ecx, dword [esp + 0x150]
mov dword [esp + 4], ecx
call fcn.00504ac0
mov eax, dword [esp + 8]
test eax, eax
jne 0x502776
mov eax, dword [esp + 0x150]
mov edx, dword [esp + 0x14c]
jmp 0x503019
mov dword [esp + 0x30], eax
lea ecx, [0x776880]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00450b30
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.004c04c0
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x502ff8
mov edx, dword [esp + 0x14c]
test edx, edx
je 0x502fed
mov ebx, dword [edx + 8]
cmp ebx, 0x6d448d5d
ja 0x502c2d
cmp ebx, 0x38dfc0a9
ja 0x5029c8
cmp ebx, 0x2de60e3b
ja 0x50289a
cmp ebx, 0x252f926b
je 0x502847
cmp ebx, 0x2de60e3b
jne 0x502fed
lea ebx, [0x76be20]
cmp edx, ebx
jne 0x502fed
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 0x50399b
lea ebx, [0x76c160]
cmp edx, ebx
jne 0x502fed
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 0x50395d
cmp ebx, 0x2e74d42b
je 0x502967
cmp ebx, 0x338a7ec0
je 0x50290d
cmp ebx, 0x38dfc0a9
jne 0x502fed
lea ebx, [0x76bf20]
cmp edx, ebx
jne 0x502fed
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 0x503890
lea eax, [0x765400]
cmp edx, eax
jne 0x502fed
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 0x503011
lea eax, [0x765440]
cmp edx, eax
jne 0x502fed
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 0x503011
cmp ebx, 0x4f3c6e38
ja 0x502aeb
cmp ebx, 0x4072c7d5
je 0x502a81
cmp ebx, 0x49163278
je 0x502a20
cmp ebx, 0x4f3c6e38
jne 0x502fed
lea ebx, [0x76c1a0]
cmp edx, ebx
jne 0x502fed
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 0x5037ed
lea eax, [0x765480]
cmp edx, eax
jne 0x502fed
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 0x503011
lea eax, [0x765600]
cmp edx, eax
jne 0x502fed
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 0x503011
cmp ebx, 0x62de383d
je 0x502bd3
cmp ebx, 0x6d0f0857
jne 0x502b52
lea ebx, [0x76bfe0]
cmp edx, ebx
jne 0x502fed
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 0x50379f
cmp ebx, 0x6d448d5d
jne 0x502fed
lea eax, [0x765640]
cmp edx, eax
jne 0x502fed
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 0x503011
lea eax, [0x7653c0]
cmp edx, eax
jne 0x502fed
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 0x503011
cmp ebx, 0x889ce7f8
ja 0x502e30
cmp ebx, 0x7e440822
ja 0x502cff
cmp ebx, 0x70800450
jne 0x502ca0
lea ebx, [0x76c120]
cmp edx, ebx
jne 0x502fed
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 0x5036cd
cmp ebx, 0x7e440822
jne 0x502fed
lea ebx, [0x76bea0]
cmp edx, ebx
jne 0x502fed
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 0x503609
cmp ebx, 0x81044065
je 0x502dce
cmp ebx, 0x854f63b7
jne 0x502d66
lea ebx, [0x76c020]
cmp edx, ebx
jne 0x502fed
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 0x50354e
cmp ebx, 0x889ce7f8
jne 0x502fed
lea eax, [0x765380]
cmp edx, eax
jne 0x502fed
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 0x503011
lea eax, [0x76be60]
cmp edx, eax
jne 0x502fed
mov eax, dword [esp + 0x150]
mov ecx, dword [eax + 4]
mov ebx, dword [esp + 0x30]
cmp ecx, ebx
jle 0x502df2
mov ecx, ebx
jmp 0x502df8
mov ebx, ecx
mov ecx, dword [esp + 0x30]
mov ebp, dword [eax]
mov esi, dword [esp + 0x11c]
cmp ebp, esi
je 0x503011
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
call fcn.0046d170
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x14c]
jmp 0x503011
cmp ebx, 0xd6631a7c
ja 0x502f33
cmp ebx, 0x9ae5bb3b
jne 0x502e97
lea ebx, [0x76bee0]
cmp edx, ebx
jne 0x502fed
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 0x50347d
cmp ebx, 0xc3230e0b
jne 0x502efb
lea eax, [0x765340]
cmp edx, eax
jne 0x502fed
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 0x503011
cmp ebx, 0xd6631a7c
jne 0x502fed
lea eax, [0x7652c0]
cmp edx, eax
jne 0x502fed
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 0x503011
cmp ebx, 0xd83fe3b3
jne 0x502f8e
lea ebx, [0x76bfa0]
cmp edx, ebx
jne 0x502fed
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 0x5033c2
cmp ebx, 0xf3b50de0
jne 0x502fbb
lea eax, [0x765300]
cmp edx, eax
jne 0x502fed
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 0x503011
cmp ebx, 0xfcd60fce
jne 0x502fed
lea eax, [0x765680]
cmp edx, eax
jne 0x502fed
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 0x503011
mov eax, dword [esp + 0x150]
xor ecx, ecx
jmp 0x503011
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], ecx
add esp, 0x138
ret
test ecx, ecx
jne 0x50331e
test edx, edx
je 0x50305e
mov dword [esp + 0xe0], edx
mov dword [esp + 0xe4], eax
mov ecx, dword [esp + 0xe0]
test ecx, ecx
je 0x503056
movzx ebx, byte [ecx + 0xf]
nop
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x50304d
or ebx, 0x80
mov ebp, dword [esp + 0xe4]
jmp 0x503064
xor ebx, ebx
xor ecx, ecx
xor ebp, ebp
jmp 0x503064
xor ebx, ebx
xor ecx, ecx
xor ebp, ebp
mov esi, ebx
and ebx, 0x1f
nop
cmp ebx, 0x16
je 0x5030ce
cmp ebx, 0x17
je 0x50307e
mov ebx, 0xffffffff
jmp 0x503138
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.00503a80
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 0x503138
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004b8ca0
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.00503a80
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 0x503208
mov dword [esp + 0xe8], edx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0xe8]
test eax, eax
je 0x503161
lea ecx, [0xc80e44]
jmp 0x503165
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, [0x7cb366]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x1a
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00454720
mov eax, dword [esp + 0x18]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xdc], ecx
lea edx, [0x783b80]
mov dword [esp], edx
call fcn.0040d540
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x28]
mov dword [eax + 4], ecx
mov ecx, dword [0xf34078]
test ecx, ecx
jne 0x5031dd
mov ecx, dword [esp + 0xdc]
jmp 0x5031eb
call fcn.0046c7d0
mov ecx, dword [esp + 0xdc]
mov dword [edi], ecx
mov dword [eax], ecx
lea ecx, [0xc7eec4]
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, [0x776880]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.00450b30
mov eax, dword [esp + 0xc]
mov dword [esp + 0x11c], eax
lea edi, [esp + 0x120]
xor eax, eax
call fcn.0046ca7a
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.004c04c0
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x5032d4
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.00503fd0
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 0x5033db
shl ebx, 2
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x50333b
jmp 0x5033eb
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x503011
mov eax, ebx
mov ecx, edx
call fcn.0046c8b0
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 0x503495
shl ebx, 1
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x5033f4
jmp 0x5034a5
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x503011
mov eax, ebx
mov ecx, edx
call fcn.0046c8b0
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 0x503567
shl ebx, 3
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x5034ae
jmp 0x503577
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x503011
mov eax, ebx
mov ecx, edx
call fcn.0046c8b0
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 0x503621
shl ebx, 1
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x503580
jmp 0x503631
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x503011
mov eax, ebx
mov ecx, edx
call fcn.0046c8b0
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 0x5036e6
shl ebx, 2
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x50363a
jmp 0x5036f6
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x503011
mov eax, ebx
mov ecx, edx
call fcn.0046c8b0
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 0x5037b8
shl ebx, 3
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x5036ff
jmp 0x5037c8
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x503011
mov eax, ebx
mov ecx, edx
call fcn.0046c8b0
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 0x5037fb
movzx ebx, byte [eax + edi]
cmp eax, ecx
jb 0x5037d1
jmp 0x503804
mov eax, ebx
mov ecx, esi
jmp 0x503011
call fcn.0046c850
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 0x5038a9
shl ebx, 2
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x503809
jmp 0x5038b9
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x503011
mov eax, ebx
mov ecx, edx
call fcn.0046c8b0
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 0x503976
shl ebx, 3
mov edx, dword [esp + 0x30]
cmp edx, ebx
jae 0x5038c2
jmp 0x503986
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x30]
jmp 0x503011
mov eax, ebx
mov ecx, edx
call fcn.0046c8b0
mov byte [ebp + eax], bl
inc eax
mov ebx, dword [esp + 0x150]
cmp eax, esi
jge 0x5039a9
movzx ebx, byte [eax + edi]
cmp eax, ecx
jb 0x50398f
jmp 0x5039b2
mov eax, ebx
mov ecx, esi
jmp 0x503011
call fcn.0046c850
nop
call fcn.0046b3d0
jmp fcn.00502720