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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x6c]
cmp eax, dword [ecx + 8]
jbe 0x4e94d1
sub esp, 0xec
mov eax, dword [esp + 0x100]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
call fcn.004ea860
mov eax, dword [esp + 8]
test eax, eax
je 0x4e915e
mov dword [esp + 0x74], eax
lea ecx, [0x787b20]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004430a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x100]
test ecx, ecx
je 0x4e9153
mov dword [esp + 0xc0], eax
mov edx, dword [ecx + 8]
cmp edx, 0x734d2a16
ja 0x4e88a6
cmp edx, 0x26b80717
jbe 0x4e83fa
cmp edx, 0x5fcadfef
ja 0x4e822c
cmp edx, 0x30c31d62
ja 0x4e81c9
cmp edx, 0x2ea27ffb
je 0x4e815d
cmp edx, 0x30c31d62
jne 0x4e8155
lea edx, [0x773320]
cmp edx, ecx
jne 0x4e8155
mov edx, dword [esp + 0x104]
mov ebx, dword [edx]
mov edx, dword [edx + 4]
mov ebp, dword [esp + 0x74]
xor ecx, ecx
jmp 0x4e8103
xchg esi, ebx
mov byte [eax + ecx], bl
xchg esi, ebx
inc ecx
cmp edx, ecx
jle 0x4e8114
movzx esi, byte [ebx + ecx]
cmp ebp, ecx
ja 0x4e80fb
jmp 0x4e948b
mov ecx, ebp
mov edx, dword [esp + 0xf0]
mov edx, dword [edx + 0x10]
mov ebx, dword [esp + 0xf4]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x108], eax
mov dword [esp + 0x10c], ecx
add esp, 0xec
ret
mov ebp, dword [esp + 0x74]
mov ecx, ebp
jmp 0x4e8116
lea edx, [0x7847a0]
cmp edx, ecx
jne 0x4e8155
mov ecx, dword [esp + 0x104]
movsd xmm0, qword [ecx]
movsd qword [esp + 0x8c], xmm0
mov ecx, dword [esp + 0xf8]
mov ecx, dword [ecx + 0x18]
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x90]
mov ebp, dword [esp + 0xfc]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov ebp, dword [esp + 0x74]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebx
call ecx
mov ebp, dword [esp + 0x74]
mov ecx, ebp
mov eax, dword [esp + 0xc0]
jmp 0x4e8116
cmp edx, 0x382e7edf
jne 0x4e81f3
lea edx, [0x774ba0]
cmp edx, ecx
jne 0x4e8155
mov edx, dword [esp + 0x104]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov ebp, dword [edx + 8]
jmp 0x4e8116
cmp edx, 0x5fcadfef
jne 0x4e8155
lea edx, [0x76a220]
cmp edx, ecx
jne 0x4e8155
mov edx, dword [esp + 0x104]
movzx edx, byte [edx]
mov ecx, dword [esp + 0x74]
test ecx, ecx
jbe 0x4e949b
mov byte [eax], dl
mov ebp, ecx
jmp 0x4e8116
cmp edx, 0x6b581726
jbe 0x4e8366
cmp edx, 0x6e0df0d1
je 0x4e8323
cmp edx, 0x734d2a16
jne 0x4e8155
lea edx, [0x7732a0]
cmp edx, ecx
jne 0x4e8155
mov edx, dword [esp + 0x104]
mov ebx, dword [edx]
mov dword [esp + 0xb0], ebx
mov edx, dword [edx + 4]
mov dword [esp + 0x1c], edx
mov ebp, dword [esp + 0xfc]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0xf8]
xor ecx, ecx
jmp 0x4e82ff
mov edx, dword [edi + 0x14]
mov dword [esp], ebp
sub esi, ecx
mov dword [esp + 0x78], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and ecx, esi
add ecx, eax
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call edx
mov eax, dword [esp + 0x50]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0xfc]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 0xb0]
mov eax, esi
mov edx, dword [esp + 0x1c]
mov ebx, edi
mov ebp, dword [esp + 0xfc]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0xf8]
cmp ecx, edx
jge 0x4e831a
mov dword [esp + 0x50], ecx
mov ebx, dword [ebx + ecx*4]
shl ecx, 2
cmp esi, ecx
jae 0x4e828b
jmp 0x4e9462
mov ebp, esi
mov ecx, ebp
jmp 0x4e8116
lea edx, [0x7659a0]
cmp edx, ecx
jne 0x4e8155
mov edx, dword [esp + 0x104]
movzx edx, byte [edx]
test dl, dl
je 0x4e8355
mov ecx, dword [esp + 0x74]
test ecx, ecx
jbe 0x4e94c9
mov byte [eax], 1
mov ebp, ecx
jmp 0x4e8116
mov ecx, dword [esp + 0x74]
test ecx, ecx
jbe 0x4e94c2
mov byte [eax], 0
jmp 0x4e834e
cmp edx, 0x663e425f
jne 0x4e839b
lea edx, [0x787b20]
cmp edx, ecx
jne 0x4e8155
mov edx, dword [esp + 0x104]
movzx edx, byte [edx]
mov ecx, dword [esp + 0x74]
test ecx, ecx
jbe 0x4e947d
mov byte [eax], dl
mov ebp, ecx
jmp 0x4e8116
cmp edx, 0x6b581726
jne 0x4e8155
lea edx, [0x76a1a0]
cmp edx, ecx
jne 0x4e8155
mov ecx, dword [esp + 0xf8]
mov ecx, dword [ecx + 0x14]
mov edx, dword [esp + 0x104]
mov edx, dword [edx]
mov ebx, dword [esp + 0xfc]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x74]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call ecx
mov ebp, dword [esp + 0x74]
mov ecx, ebp
mov eax, dword [esp + 0xc0]
jmp 0x4e8116
cmp edx, 0x1f1d91d4
ja 0x4e8601
cmp edx, 0x13ff06c5
jbe 0x4e8557
cmp edx, 0x1e2f74f8
je 0x4e84fd
cmp edx, 0x1f1d91d4
jne 0x4e8155
lea edx, [0x774b20]
cmp edx, ecx
jne 0x4e8155
mov edx, dword [esp + 0x104]
mov ebx, dword [edx]
mov dword [esp + 0xa8], ebx
mov edx, dword [edx + 4]
mov dword [esp + 0x2c], edx
mov ebp, dword [esp + 0xfc]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0xf8]
xor ecx, ecx
jmp 0x4e84d9
mov edx, dword [edi + 0x14]
mov dword [esp], ebp
sub esi, ecx
mov dword [esp + 0x78], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and ecx, esi
add ecx, eax
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call edx
mov eax, dword [esp + 0x4c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0xfc]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 0xa8]
mov eax, esi
mov edx, dword [esp + 0x2c]
mov ebx, edi
mov ebp, dword [esp + 0xfc]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0xf8]
cmp ecx, edx
jge 0x4e84f4
mov dword [esp + 0x4c], ecx
mov ebx, dword [ebx + ecx*4]
shl ecx, 2
cmp esi, ecx
jae 0x4e8465
jmp 0x4e9459
mov ebp, esi
mov ecx, ebp
jmp 0x4e8116
lea edx, [0x770160]
cmp edx, ecx
jne 0x4e8155
mov ecx, dword [esp + 0xf8]
mov ecx, dword [ecx + 0x18]
mov edx, dword [esp + 0x104]
mov ebx, dword [edx]
mov edx, dword [edx + 4]
mov ebp, dword [esp + 0xfc]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov ebp, dword [esp + 0x74]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], edx
call ecx
mov ebp, dword [esp + 0x74]
mov ecx, ebp
mov eax, dword [esp + 0xc0]
jmp 0x4e8116
cmp edx, 0xc66cd3
jne 0x4e85b2
lea edx, [0x770120]
cmp edx, ecx
jne 0x4e8155
mov ecx, dword [esp + 0xf8]
mov ecx, dword [ecx + 0x14]
mov edx, dword [esp + 0x104]
mov edx, dword [edx]
mov ebx, dword [esp + 0xfc]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x74]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call ecx
mov ebp, dword [esp + 0x74]
mov ecx, ebp
mov eax, dword [esp + 0xc0]
jmp 0x4e8116
cmp edx, 0x13ff06c5
jne 0x4e8155
lea edx, [0x7844a0]
cmp edx, ecx
jne 0x4e8155
mov edx, dword [esp + 0x104]
movzx edx, byte [edx]
test dl, dl
je 0x4e85f0
mov ecx, dword [esp + 0x74]
test ecx, ecx
jbe 0x4e94bb
mov byte [eax], 1
mov ebp, ecx
jmp 0x4e8116
mov ecx, dword [esp + 0x74]
test ecx, ecx
jbe 0x4e94b4
mov byte [eax], 0
jmp 0x4e85e9
cmp edx, 0x2069b53f
ja 0x4e8760
cmp edx, 0x1ffee651
je 0x4e8701
cmp edx, 0x2069b53f
jne 0x4e8155
lea edx, [0x774b60]
cmp edx, ecx
jne 0x4e8155
mov edx, dword [esp + 0x104]
mov ebx, dword [edx]
mov dword [esp + 0x98], ebx
mov edx, dword [edx + 4]
mov dword [esp + 0x20], edx
mov ebp, dword [esp + 0xfc]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0xf8]
xor ecx, ecx
jmp 0x4e86d8
mov edi, dword [edi + 0x18]
mov dword [esp], ebp
sub esi, ecx
mov dword [esp + 0x78], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and ecx, esi
add ecx, eax
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebx
call edi
mov eax, dword [esp + 0x5c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0xfc]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0xc0]
mov esi, dword [esp + 0xf8]
mov edi, dword [esp + 0x98]
mov eax, ebp
mov edx, dword [esp + 0x20]
mov ebx, edi
mov ebp, dword [esp + 0xfc]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0xf8]
cmp edx, ecx
jle 0x4e86f8
mov dword [esp + 0x5c], ecx
lea ebx, [ebx + ecx*8]
mov edx, dword [ebx]
mov ebx, dword [ebx + 4]
shl ecx, 3
cmp esi, ecx
jae 0x4e8660
jmp 0x4e9447
mov ebp, esi
mov ecx, ebp
jmp 0x4e8116
lea edx, [0x7671e0]
cmp edx, ecx
jne 0x4e8155
mov ecx, dword [esp + 0x104]
movss xmm0, dword [ecx]
movss dword [esp + 0x64], xmm0
mov ecx, dword [esp + 0xf8]
mov ecx, dword [ecx + 0x14]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0xfc]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x74]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call ecx
mov ebp, dword [esp + 0x74]
mov ecx, ebp
mov eax, dword [esp + 0xc0]
jmp 0x4e8116
cmp edx, 0x20e38ee7
jne 0x4e8840
lea edx, [0x774ae0]
cmp edx, ecx
jne 0x4e8155
mov edx, dword [esp + 0x104]
mov ebx, dword [edx]
mov dword [esp + 0xac], ebx
mov edx, dword [edx + 4]
mov dword [esp + 0x30], edx
mov ebp, dword [esp + 0xfc]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0xf8]
xor ecx, ecx
jmp 0x4e881c
mov edx, dword [edi + 0x10]
mov dword [esp], ebp
sub esi, ecx
mov dword [esp + 0x78], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and ecx, esi
add ecx, eax
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ecx
mov word [esp + 0x10], bx
call edx
mov eax, dword [esp + 0x48]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0xfc]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 0xac]
mov eax, esi
mov edx, dword [esp + 0x30]
mov ebx, edi
mov ebp, dword [esp + 0xfc]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0xf8]
cmp edx, ecx
jle 0x4e8837
mov dword [esp + 0x48], ecx
movzx ebx, word [ebx + ecx*2]
shl ecx, 1
cmp esi, ecx
jae 0x4e87a7
jmp 0x4e946b
mov ebp, esi
mov ecx, ebp
jmp 0x4e8116
cmp edx, 0x26b80717
jne 0x4e8155
lea edx, [0x76a1e0]
cmp edx, ecx
jne 0x4e8155
mov ecx, dword [esp + 0xf8]
mov ecx, dword [ecx + 0x18]
mov edx, dword [esp + 0x104]
mov ebx, dword [edx]
mov edx, dword [edx + 4]
mov ebp, dword [esp + 0xfc]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov ebp, dword [esp + 0x74]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], edx
call ecx
mov ebp, dword [esp + 0x74]
mov ecx, ebp
mov eax, dword [esp + 0xc0]
jmp 0x4e8116
cmp edx, 0xa066c615
jbe 0x4e8c1d
cmp edx, 0xcc06c027
jbe 0x4e8aa0
cmp edx, 0xe781e5b1
ja 0x4e8985
cmp edx, 0xd04ae83d
je 0x4e8932
cmp edx, 0xe781e5b1
jne 0x4e8155
lea edx, [0x772020]
cmp edx, ecx
jne 0x4e8155
mov edx, dword [esp + 0x104]
mov ebx, dword [edx]
mov edx, dword [edx + 4]
mov ebp, dword [esp + 0x74]
xor ecx, ecx
jmp 0x4e8901
inc ecx
cmp ecx, edx
jge 0x4e892b
movzx esi, byte [ebx + ecx]
xchg esi, eax
test al, al
xchg esi, eax
je 0x4e891d
cmp ebp, ecx
jbe 0x4e94ab
mov byte [eax + ecx], 1
jmp 0x4e8900
cmp ebp, ecx
jbe 0x4e94a2
mov byte [eax + ecx], 0
jmp 0x4e8900
mov ecx, ebp
jmp 0x4e8116
lea edx, [0x787aa0]
cmp edx, ecx
jne 0x4e8155
mov ecx, dword [esp + 0x104]
mov ecx, dword [ecx]
mov edx, dword [esp + 0xf8]
mov edx, dword [edx + 0x14]
mov ebx, dword [esp + 0xfc]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x74]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call edx
mov ebp, dword [esp + 0x74]
mov ecx, ebp
mov eax, dword [esp + 0xc0]
jmp 0x4e8116
cmp edx, 0xecd580ce
jne 0x4e89e2
lea edx, [0x786fe0]
cmp edx, ecx
jne 0x4e8155
mov ecx, dword [esp + 0x104]
movzx ecx, word [ecx]
mov edx, dword [esp + 0xf8]
mov edx, dword [edx + 0x10]
mov ebx, dword [esp + 0xfc]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x74]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
mov word [esp + 0x10], cx
call edx
mov ebp, dword [esp + 0x74]
mov ecx, ebp
mov eax, dword [esp + 0xc0]
jmp 0x4e8116
cmp edx, 0xee92f42e
jne 0x4e8a3f
lea edx, [0x7700e0]
cmp edx, ecx
jne 0x4e8155
mov ecx, dword [esp + 0xf8]
mov ecx, dword [ecx + 0x10]
mov edx, dword [esp + 0x104]
movzx edx, word [edx]
mov ebx, dword [esp + 0xfc]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x74]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
mov word [esp + 0x10], dx
call ecx
mov ebp, dword [esp + 0x74]
mov ecx, ebp
mov eax, dword [esp + 0xc0]
jmp 0x4e8116
cmp edx, 0xeff20ea0
jne 0x4e8155
lea edx, [0x787a60]
cmp edx, ecx
jne 0x4e8155
mov ecx, dword [esp + 0x104]
movzx ecx, word [ecx]
mov edx, dword [esp + 0xf8]
mov edx, dword [edx + 0x10]
mov ebx, dword [esp + 0xfc]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x74]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
mov word [esp + 0x10], cx
call edx
mov ebp, dword [esp + 0x74]
mov ecx, ebp
mov eax, dword [esp + 0xc0]
jmp 0x4e8116
cmp edx, 0xba56ad13
ja 0x4e8b89
cmp edx, 0xb0c23ed3
jne 0x4e8b13
lea edx, [0x784760]
cmp edx, ecx
jne 0x4e8155
mov ecx, dword [esp + 0x104]
movss xmm0, dword [ecx]
movss dword [esp + 0x6c], xmm0
mov ecx, dword [esp + 0xf8]
mov ecx, dword [ecx + 0x14]
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0xfc]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x74]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call ecx
mov ebp, dword [esp + 0x74]
mov ecx, ebp
mov eax, dword [esp + 0xc0]
jmp 0x4e8116
cmp edx, 0xba56ad13
jne 0x4e8155
lea edx, [0x767220]
cmp edx, ecx
jne 0x4e8155
mov ecx, dword [esp + 0x104]
movsd xmm0, qword [ecx]
movsd qword [esp + 0x7c], xmm0
mov ecx, dword [esp + 0xf8]
mov ecx, dword [ecx + 0x18]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0xfc]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov ebp, dword [esp + 0x74]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebx
call ecx
mov ebp, dword [esp + 0x74]
mov ecx, ebp
mov eax, dword [esp + 0xc0]
jmp 0x4e8116
cmp edx, 0xbbad4102
jne 0x4e8be4
lea edx, [0x787020]
cmp edx, ecx
jne 0x4e8155
mov ecx, dword [esp + 0x104]
mov ecx, dword [ecx]
mov edx, dword [esp + 0xf8]
mov edx, dword [edx + 0x14]
mov ebx, dword [esp + 0xfc]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x74]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call edx
mov ebp, dword [esp + 0x74]
mov ecx, ebp
mov eax, dword [esp + 0xc0]
jmp 0x4e8116
cmp edx, 0xcc06c027
jne 0x4e8155
lea edx, [0x7870a0]
cmp edx, ecx
jne 0x4e8155
mov edx, dword [esp + 0x104]
movzx edx, byte [edx]
mov ecx, dword [esp + 0x74]
test ecx, ecx
jbe 0x4e9494
mov byte [eax], dl
mov ebp, ecx
jmp 0x4e8116
cmp edx, 0x88768e96
ja 0x4e8f4c
cmp edx, 0x8237d00c
ja 0x4e8dfe
cmp edx, 0x7ad3bff0
jne 0x4e8d1e
lea edx, [0x7727a0]
cmp edx, ecx
jne 0x4e8155
mov edx, dword [esp + 0x104]
mov ebx, dword [edx]
mov dword [esp + 0xa4], ebx
mov edx, dword [edx + 4]
mov dword [esp + 0x28], edx
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0xfc]
mov edi, dword [esp + 0xf8]
xor ecx, ecx
jmp 0x4e8cfa
movss dword [esp + 0x68], xmm0
mov edx, dword [edi + 0x14]
mov ebx, dword [esp + 0x68]
mov dword [esp], esi
sub ebp, ecx
mov dword [esp + 0x78], ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ecx, ebp
add ecx, eax
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call edx
mov eax, dword [esp + 0x54]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0xfc]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 0xa4]
mov eax, esi
mov edx, dword [esp + 0x28]
mov ebx, edi
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0xfc]
mov edi, dword [esp + 0xf8]
cmp ecx, edx
jge 0x4e8d17
mov dword [esp + 0x54], ecx
movss xmm0, dword [ebx + ecx*4]
shl ecx, 2
cmp ebp, ecx
jae 0x4e8c7c
jmp 0x4e943e
mov ecx, ebp
jmp 0x4e8116
cmp edx, 0x8237d00c
jne 0x4e8155
lea edx, [0x773260]
cmp edx, ecx
jne 0x4e8155
mov edx, dword [esp + 0x104]
mov ebx, dword [edx]
mov dword [esp + 0x9c], ebx
mov edx, dword [edx + 4]
mov dword [esp + 0x38], edx
mov ebp, dword [esp + 0xfc]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0xf8]
xor ecx, ecx
jmp 0x4e8dda
mov edx, dword [edi + 0x10]
mov dword [esp], ebp
sub esi, ecx
mov dword [esp + 0x78], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and ecx, esi
add ecx, eax
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ecx
mov word [esp + 0x10], bx
call edx
mov eax, dword [esp + 0x44]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0xfc]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 0x9c]
mov eax, esi
mov edx, dword [esp + 0x38]
mov ebx, edi
mov ebp, dword [esp + 0xfc]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0xf8]
cmp ecx, edx
jge 0x4e8df5
mov dword [esp + 0x44], ecx
movzx ebx, word [ebx + ecx*2]
shl ecx, 1
cmp esi, ecx
jae 0x4e8d65
jmp 0x4e9474
mov ebp, esi
mov ecx, ebp
jmp 0x4e8116
cmp edx, 0x86318d2e
je 0x4e8ef2
cmp edx, 0x88768e96
jne 0x4e8155
lea edx, [0x7732e0]
cmp edx, ecx
jne 0x4e8155
mov edx, dword [esp + 0x104]
mov ebx, dword [edx]
mov dword [esp + 0xb8], ebx
mov edx, dword [edx + 4]
mov dword [esp + 0x24], edx
mov ebp, dword [esp + 0xfc]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0xf8]
xor ecx, ecx
jmp 0x4e8ec9
mov edi, dword [edi + 0x18]
mov dword [esp], ebp
sub esi, ecx
mov dword [esp + 0x78], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and ecx, esi
add ecx, eax
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebx
call edi
mov eax, dword [esp + 0x58]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0xfc]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0xc0]
mov esi, dword [esp + 0xf8]
mov edi, dword [esp + 0xb8]
mov eax, ebp
mov edx, dword [esp + 0x24]
mov ebx, edi
mov ebp, dword [esp + 0xfc]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0xf8]
cmp ecx, edx
jge 0x4e8ee9
mov dword [esp + 0x58], ecx
lea ebx, [ebx + ecx*8]
mov edx, dword [ebx]
mov ebx, dword [ebx + 4]
shl ecx, 3
cmp esi, ecx
jae 0x4e8e51
jmp 0x4e9450
mov ebp, esi
mov ecx, ebp
jmp 0x4e8116
lea edx, [0x787ae0]
cmp edx, ecx
jne 0x4e8155
mov ecx, dword [esp + 0x104]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov ebx, dword [esp + 0xf8]
mov ebx, dword [ebx + 0x18]
mov ebp, dword [esp + 0xfc]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov ebp, dword [esp + 0x74]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
call ebx
mov ebp, dword [esp + 0x74]
mov ecx, ebp
mov eax, dword [esp + 0xc0]
jmp 0x4e8116
cmp edx, 0x9ad926a8
jbe 0x4e90b8
cmp edx, 0x9c373330
jne 0x4e9057
lea edx, [0x7727e0]
cmp edx, ecx
jne 0x4e8155
mov edx, dword [esp + 0x104]
mov ebx, dword [edx]
mov dword [esp + 0xa0], ebx
mov edx, dword [edx + 4]
mov dword [esp + 0x34], edx
mov ebp, dword [esp + 0xfc]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0xf8]
xor ecx, ecx
jmp 0x4e9031
movsd qword [esp + 0x84], xmm0
mov edx, dword [edi + 0x18]
mov ebx, dword [esp + 0x84]
mov edi, dword [esp + 0x88]
mov dword [esp], ebp
sub esi, ecx
mov dword [esp + 0x78], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and ecx, esi
add ecx, eax
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], edi
call edx
mov eax, dword [esp + 0x60]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0xc0]
mov ebx, dword [esp + 0xfc]
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0xf8]
mov edi, dword [esp + 0xa0]
mov eax, edx
mov edx, dword [esp + 0x34]
mov ebx, edi
mov ebp, dword [esp + 0xfc]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0xf8]
cmp edx, ecx
jle 0x4e904e
mov dword [esp + 0x60], ecx
movsd xmm0, qword [ebx + ecx*8]
shl ecx, 3
cmp esi, ecx
jae 0x4e8fa2
jmp 0x4e9435
mov ebp, esi
mov ecx, ebp
jmp 0x4e8116
cmp edx, 0xa066c615
jne 0x4e8155
lea edx, [0x76a160]
cmp edx, ecx
jne 0x4e8155
mov ecx, dword [esp + 0xf8]
mov ecx, dword [ecx + 0x10]
mov edx, dword [esp + 0x104]
movzx edx, word [edx]
mov ebx, dword [esp + 0xfc]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x74]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
mov word [esp + 0x10], dx
call ecx
mov ebp, dword [esp + 0x74]
mov ecx, ebp
mov eax, dword [esp + 0xc0]
jmp 0x4e8116
cmp edx, 0x963f9bff
jne 0x4e911a
lea edx, [0x787060]
cmp edx, ecx
jne 0x4e8155
mov ecx, dword [esp + 0x104]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov ebx, dword [esp + 0xf8]
mov ebx, dword [ebx + 0x18]
mov ebp, dword [esp + 0xfc]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov ebp, dword [esp + 0x74]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
call ebx
mov ebp, dword [esp + 0x74]
mov ecx, ebp
mov eax, dword [esp + 0xc0]
jmp 0x4e8116
cmp edx, 0x9ad926a8
jne 0x4e8155
lea edx, [0x7701a0]
cmp edx, ecx
jne 0x4e8155
mov edx, dword [esp + 0x104]
movzx edx, byte [edx]
mov ecx, dword [esp + 0x74]
test ecx, ecx
jbe 0x4e9484
mov byte [eax], dl
mov ebp, ecx
jmp 0x4e8116
mov ebp, dword [esp + 0x74]
mov ecx, ebp
jmp 0x4e8116
mov ecx, dword [esp + 0x100]
test ecx, ecx
je 0x4e9423
nop
movzx edx, byte [0xa75d80]
test dl, dl
je 0x4e9417
mov dword [0xa75d84], ecx
mov edx, dword [0xa8c6b0]
test edx, edx
jne 0x4e9400
mov eax, dword [esp + 0x104]
mov dword [0xa75d88], eax
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], eax
mov edx, dword [esp + 0xcc]
test edx, edx
je 0x4e93f3
nop
movzx ebx, byte [edx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x4e91d2
or ebx, 0x80
mov ebp, eax
nop
mov esi, ebx
and ebx, 0x1f
cmp ebx, 0x16
je 0x4e93d2
mov dword [esp + 0x3c], esi
mov dword [esp + 0xb4], eax
mov dword [esp + 0x94], edx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.004e94e0
mov eax, dword [esp + 0xc]
test eax, eax
jge 0x4e92ec
mov eax, dword [esp + 0x100]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xc4]
test eax, eax
je 0x4e92e3
lea ecx, [0x8743c0]
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, [0x7f241b]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x1b
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.004465b0
mov eax, dword [esp + 0x14]
mov dword [esp + 0xbc], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x40], ecx
lea edx, [0x799500]
mov dword [esp], edx
call fcn.0040b570
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x40]
mov dword [edi + 4], eax
mov eax, dword [0xa8c6b0]
test eax, eax
jne 0x4e92d5
mov eax, dword [esp + 0xbc]
mov dword [edi], eax
lea eax, [0x86c560]
mov dword [esp + 0x108], eax
mov dword [esp + 0x10c], edi
add esp, 0xec
ret
mov eax, dword [esp + 0xbc]
call fcn.0045c330
jmp 0x4e92ba
xor ecx, ecx
xor eax, eax
jmp 0x4e9242
mov dword [esp + 0x70], eax
lea ecx, [0x787b20]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.004430a0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc0], eax
lea edi, [esp + 0xd4]
xor eax, eax
call fcn.0045c5ca
mov eax, dword [esp + 0xf8]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xdc], eax
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xe4], ecx
lea edx, [esp + 0xd4]
mov dword [esp], edx
mov edx, dword [esp + 0x94]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xb4]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0xc], edx
call fcn.004e98b0
mov eax, dword [esp + 0xf0]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0xf4]
mov dword [esp], ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ecx
call eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x108], eax
mov dword [esp + 0x10c], ecx
add esp, 0xec
ret
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.00483cd0
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
jmp 0x4e91e3
mov ebp, eax
xor ebx, ebx
xor edx, edx
xor eax, eax
jmp 0x4e91d4
lea edi, [0xa75d88]
mov eax, dword [esp + 0x104]
call fcn.0045c330
jmp 0x4e919e
mov eax, dword [esp + 0x104]
jmp 0x4e919e
mov ebp, dword [esp + 0x104]
xor ebx, ebx
xor edx, edx
xor eax, eax
jmp 0x4e91d4
mov eax, ecx
mov ecx, esi
call fcn.0045c410
mov eax, ecx
mov ecx, ebp
call fcn.0045c410
mov eax, ecx
mov ecx, esi
call fcn.0045c410
mov eax, ecx
mov ecx, esi
call fcn.0045c410
mov eax, ecx
mov ecx, esi
call fcn.0045c410
mov eax, ecx
mov ecx, esi
call fcn.0045c410
mov eax, ecx
mov ecx, esi
call fcn.0045c410
mov eax, ecx
mov ecx, esi
call fcn.0045c410
xor eax, eax
call fcn.0045c3b0
xor eax, eax
call fcn.0045c3b0
mov eax, ecx
mov ecx, ebp
call fcn.0045c3b0
xor eax, eax
call fcn.0045c3b0
xor eax, eax
call fcn.0045c3b0
mov eax, ecx
mov ecx, ebp
call fcn.0045c3b0
mov eax, ecx
mov ecx, ebp
call fcn.0045c3b0
xor eax, eax
call fcn.0045c3b0
xor eax, eax
call fcn.0045c3b0
xor eax, eax
call fcn.0045c3b0
xor eax, eax
call fcn.0045c3b0
nop
call fcn.0045ade0
jmp fcn.004e8020