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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x84]
cmp eax, dword [ecx + 8]
jbe 0x4ec684
sub esp, 0x104
mov eax, dword [esp + 0x110]
test eax, eax
jne 0x4ea1d6
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 8], eax
call fcn.00483af0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov edx, dword [esp + 0x10c]
mov dword [esp], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
call fcn.00408ea0
mov eax, dword [esp + 0xc]
lea ecx, [0x60c760]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4ea124
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x64871e]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xf4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b27a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x4ea1b9
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004e69b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x4ea1b1
mov dword [edx + 0x40], eax
jmp 0x4ea1b9
lea edi, [edx + 0x40]
call fcn.0045e4b0
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0x104
ret
mov eax, dword [esp + 0x10c]
cmp byte [eax], 0x6e
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov edx, dword [esp + 0x11c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x120]
mov dword [esp + 8], ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg ebp, eax
mov byte [esp + 0xc], al
xchg ebp, eax
call fcn.004e7090
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
test ebx, ebx
jne 0x4ec5f0
test esi, esi
je 0x4ea6dd
mov eax, dword [esp + 0x10c]
movzx ecx, byte [eax]
cmp cl, 0x22
je 0x4ea53a
movzx edx, byte [esp + 0x124]
test dl, dl
jne 0x4ea3d6
cmp cl, 0x66
je 0x4ea27d
cmp cl, 0x6e
jne 0x4ea278
lea eax, [0x6381b1]
mov ecx, 4
jmp 0x4ea295
cmp cl, 0x74
jne 0x4ea28a
lea eax, [0x638149]
mov ecx, 4
jmp 0x4ea295
lea eax, [0x6385e8]
mov ecx, 6
mov dword [esp + 0x34], ecx
mov dword [esp + 0xa4], eax
mov edx, dword [esp + 0x118]
mov dword [esp], edx
mov edx, dword [esp + 0x11c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x120]
mov dword [esp + 8], edx
call fcn.00483af0
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x80], ebx
lea ebp, [0x627f00]
mov dword [esp], ebp
call fcn.0040b460
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x34]
mov dword [edi + 4], eax
mov eax, dword [0x7e0970]
test eax, eax
jne 0x4ea31a
mov ecx, dword [esp + 0xa4]
mov dword [edi], ecx
jmp 0x4ea326
mov eax, dword [esp + 0xa4]
call fcn.0045e4b0
mov ecx, dword [esp + 0xc8]
mov dword [edi + 8], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x4ea346
mov eax, dword [esp + 0xcc]
mov dword [edi + 0xc], eax
jmp 0x4ea35b
lea ecx, [edi + 0xc]
mov eax, dword [esp + 0xcc]
mov edx, edi
mov edi, ecx
call fcn.0045e4b0
mov edi, edx
mov eax, dword [esp + 0x80]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x108]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x4ea3b9
mov dword [esp], eax
lea ecx, [0x690a10]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.004e69b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x4ea3b1
mov dword [edx + 0x40], eax
jmp 0x4ea3b9
lea edi, [edx + 0x40]
call fcn.0045e4b0
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0x104
ret
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 8], eax
call fcn.00483af0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov edx, dword [esp + 0x10c]
mov dword [esp], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
call fcn.00408ea0
mov eax, dword [esp + 0xc]
lea ecx, [0x60c760]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4ea488
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x64871e]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xf4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b27a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x4ea51d
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004e69b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x4ea515
mov dword [edx + 0x40], eax
jmp 0x4ea51d
lea edi, [edx + 0x40]
call fcn.0045e4b0
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0x104
ret
mov dword [esp + 0xa8], edi
mov dword [esp + 0x38], esi
mov dword [esp], eax
mov ecx, dword [esp + 0x110]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
call fcn.004ece40
movzx eax, byte [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test al, al
jne 0x4ea6a1
movzx eax, byte [esp + 0x124]
test al, al
je 0x4ec66b
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 8], eax
call fcn.00483af0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov edx, dword [esp + 0x10c]
mov dword [esp], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
call fcn.00408ea0
mov eax, dword [esp + 0xc]
lea ecx, [0x60c760]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4ea63e
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x64871e]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xf4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b27a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], ecx
add esp, 0x104
ret
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x10]
mov ebp, dword [esp + 0xa8]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], ecx
add esp, 0x104
ret
mov dword [esp + 0xc4], edx
mov dword [esp + 0xc0], eax
mov dword [esp + 0x60], ecx
mov ebx, dword [esp + 0x10c]
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x66
xchg ebp, eax
ja 0x4eafc6
xchg ebp, eax
cmp al, 0x22
xchg ebp, eax
je 0x4ea71b
xchg ebp, eax
cmp al, 0x66
xchg ebp, eax
je 0x4eb1ba
jmp 0x4eb7ab
mov dword [esp], ebx
mov eax, dword [esp + 0x110]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x114]
mov dword [esp + 8], ecx
call fcn.004ece40
mov eax, dword [esp + 0xc]
movzx ecx, byte [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test cl, cl
je 0x4eaea4
mov dword [esp + 0x5c], edx
mov dword [esp + 0xb0], eax
nop
nop
mov ecx, dword [esp + 0x60]
mov ebp, ecx
and ecx, 0x1f
cmp ecx, 0x14
je 0x4eac96
cmp ecx, 0x17
je 0x4eaa04
cmp ecx, 0x18
jne 0x4ea901
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.00483af0
mov eax, dword [esp + 0xc]
mov ecx, dword [0x7b9f04]
mov edx, dword [esp + 0x10]
cmp dword [0x7b9f00], eax
je 0x4ea7bb
xor eax, eax
jmp 0x4ea816
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004033f0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4ea7d8
xor eax, eax
jmp 0x4ea816
lea eax, [esp + 0x84]
mov dword [esp], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ecx
call fcn.0044af00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004efca0
movzx eax, byte [esp + 8]
xor eax, 1
test al, al
jne 0x4ea860
mov dword [esp], 0
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
call fcn.0044af00
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.004836e0
jmp 0x4ec5d3
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 8], eax
call fcn.00408ea0
mov eax, dword [esp + 0xc]
lea ecx, [0x60c760]
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], eax
lea eax, [0x64815a]
mov dword [esp], eax
mov dword [esp + 4], 0x40
lea eax, [esp + 0xec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004b27a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], ecx
add esp, 0x104
ret
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.00483af0
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x80], ebx
lea ebp, [0x627f00]
mov dword [esp], ebp
call fcn.0040b460
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x63861e]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x4ea987
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x4ea99a
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.0045e4b0
mov eax, ecx
mov ecx, dword [esp + 0x80]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x108]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x4ec5d3
mov dword [esp], ecx
lea edx, [0x690a10]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004e69b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x4ea9f7
mov dword [edx + 0x40], eax
jmp 0x4ec5d3
lea edi, [edx + 0x40]
call fcn.0045e4b0
jmp 0x4ec5d3
mov dword [esp + 0x40], ebx
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.00483af0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x28]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
cmp dword [esp + 4], 8
jne 0x4eab8f
mov eax, dword [0x7b9988]
cmp dword [eax + 0x140], 0xffffffff
jne 0x4eaa79
mov eax, dword [esp + 0x5c]
lea ecx, [eax + eax*2]
mov edx, ecx
shl ecx, 1
sar ecx, 0x1f
shr ecx, 0x1d
lea ecx, [ecx + edx*2]
sar ecx, 3
jmp 0x4eaa83
mov eax, dword [esp + 0x5c]
shr eax, 2
lea ecx, [eax + eax*2]
mov dword [esp + 0x30], ecx
lea eax, [0x612b40]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.004476a0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xbc], eax
mov ecx, dword [0x7b9988]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x30]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x18], edx
call fcn.004e31c0
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
test ebx, ebx
je 0x4eab49
nop
mov ecx, dword [esp + 0x108]
mov ebx, dword [ecx + 0x3c]
test ebx, ebx
jne 0x4ec5d3
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.004e69b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x4eab3c
mov dword [edx + 0x40], eax
jmp 0x4ec5d3
lea edi, [edx + 0x40]
call fcn.0045e4b0
jmp 0x4ec5d3
mov edx, dword [esp + 0x30]
cmp edx, ecx
jb 0x4ec666
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.00482c30
jmp 0x4ec5d3
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.00483af0
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x80], ebx
lea ebp, [0x627f00]
mov dword [esp], ebp
call fcn.0040b460
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x63861e]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x4eac19
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x4eac2c
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.0045e4b0
mov eax, ecx
mov ecx, dword [esp + 0x80]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x108]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x4ec5d3
mov dword [esp], ecx
lea edx, [0x690a10]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004e69b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x4eac89
mov dword [edx + 0x40], eax
jmp 0x4ec5d3
lea edi, [edx + 0x40]
call fcn.0045e4b0
jmp 0x4ec5d3
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.00482770
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4ead9d
mov dword [esp], 0
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
call fcn.0044af00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00408e20
mov eax, dword [esp + 8]
nop
movzx ecx, byte [0x7ba2f0]
test cl, cl
je 0x4ead2e
lea ecx, [0x612980]
mov dword [0x7ba2f4], ecx
mov edx, dword [0x7e0970]
test edx, edx
jne 0x4ead21
mov dword [0x7ba2f8], eax
jmp 0x4ead34
lea edi, [0x7ba2f8]
call fcn.0045e4b0
jmp 0x4ead34
lea ecx, [0x612980]
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xe0], eax
mov ecx, dword [esp + 0xdc]
test ecx, ecx
je 0x4ead64
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4ead6a
or edx, 0x80
jmp 0x4ead6a
xor edx, edx
xor ecx, ecx
xor eax, eax
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xc4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.00482a60
jmp 0x4ec5d3
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.00483af0
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x80], ebx
lea ebp, [0x627f00]
mov dword [esp], ebp
call fcn.0040b460
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x63861e]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x4eae27
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x4eae3a
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.0045e4b0
mov eax, ecx
mov ecx, dword [esp + 0x80]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x108]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x4ec5d3
mov dword [esp], ecx
lea edx, [0x690a10]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004e69b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x4eae97
mov dword [edx + 0x40], eax
jmp 0x4ec5d3
lea edi, [edx + 0x40]
call fcn.0045e4b0
jmp 0x4ec5d3
movzx eax, byte [esp + 0x124]
test al, al
je 0x4ec64e
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.00483af0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov edx, dword [esp + 0x10c]
mov dword [esp], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
call fcn.00408ea0
mov eax, dword [esp + 0xc]
lea ecx, [0x60c760]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4eaf63
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x64871e]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xf4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b27a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], ecx
add esp, 0x104
ret
xchg ebp, eax
cmp al, 0x6e
xchg ebp, eax
jne 0x4eb1af
movzx ebp, byte [esp + 0x124]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4eb139
mov ebp, dword [esp + 0x110]
cmp ebp, 4
jne 0x4eaffb
cmp dword [ebx], 0x6c6c756e
je 0x4eb139
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00483af0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov edx, dword [esp + 0x10c]
mov dword [esp], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
call fcn.00408ea0
mov eax, dword [esp + 0xc]
lea ecx, [0x60c760]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4eb098
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x64871e]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xf4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b27a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x4ec5d3
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004e69b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x4eb12c
mov dword [edx + 0x40], eax
jmp 0x4ec5d3
lea edi, [edx + 0x40]
call fcn.0045e4b0
jmp 0x4ec5d3
nop
mov ebx, ecx
and ecx, 0x1f
add ecx, 0xffffffec
nop
cmp ecx, 3
ja 0x4ec5d3
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00483af0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00484470
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xc4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.00482a60
jmp 0x4ec5d3
xchg ebp, eax
cmp al, 0x74
xchg ebp, eax
jne 0x4eb7ab
movzx esi, byte [esp + 0x124]
xchg esi, eax
test al, al
xchg esi, eax
je 0x4eb339
mov edi, dword [esp + 0x110]
cmp edi, 4
jne 0x4eb1e4
cmp dword [ebx], 0x65757274
je 0x4eb340
cmp edi, 5
jne 0x4eb1fb
cmp dword [ebx], 0x736c6166
jne 0x4eb1fb
cmp byte [ebx + 4], 0x65
je 0x4eb340
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00483af0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov edx, dword [esp + 0x10c]
mov dword [esp], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
call fcn.00408ea0
mov eax, dword [esp + 0xc]
lea ecx, [0x60c760]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4eb298
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x64871e]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xf4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b27a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x4ec5d3
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004e69b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x4eb32c
mov dword [edx + 0x40], eax
jmp 0x4ec5d3
lea edi, [edx + 0x40]
call fcn.0045e4b0
jmp 0x4ec5d3
mov edi, dword [esp + 0x110]
xchg ebp, eax
cmp al, 0x74
xchg ebp, eax
xchg ebp, ebx
sete bl
xchg ebp, ebx
nop
nop
and ecx, 0x1f
cmp ecx, 1
je 0x4eb78c
cmp ecx, 0x14
je 0x4eb5a8
xchg esi, eax
test al, al
xchg esi, eax
je 0x4eb4af
mov dword [esp], eax
mov dword [esp + 4], edx
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.00483af0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov edx, dword [esp + 0x10c]
mov dword [esp], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
call fcn.00408ea0
mov eax, dword [esp + 0xc]
lea ecx, [0x60c760]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4eb40e
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x64871e]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xf4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b27a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x4ec5d3
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004e69b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x4eb4a2
mov dword [edx + 0x40], eax
jmp 0x4ec5d3
lea edi, [edx + 0x40]
call fcn.0045e4b0
jmp 0x4ec5d3
mov dword [esp], eax
mov dword [esp + 4], edx
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.00483af0
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x80], ebx
lea ebp, [0x627f00]
mov dword [esp], ebp
call fcn.0040b460
mov eax, dword [esp + 4]
mov dword [eax + 4], 4
lea ecx, [0x638149]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x4eb52b
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x4eb53e
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.0045e4b0
mov eax, ecx
mov ecx, dword [esp + 0x80]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x108]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x4ec5d3
mov dword [esp], ecx
lea edx, [0x690a10]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004e69b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x4eb59b
mov dword [edx + 0x40], eax
jmp 0x4ec5d3
lea edi, [edx + 0x40]
call fcn.0045e4b0
jmp 0x4ec5d3
xchg ebp, eax
mov byte [esp + 0x2f], al
xchg ebp, eax
mov dword [esp], eax
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x60]
mov dword [esp + 8], ecx
call fcn.00482770
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4eb685
movzx ecx, byte [esp + 0x2f]
movzx ecx, cl
lea edx, [0x7acbc0]
lea eax, [edx + ecx*8]
nop
movzx ecx, byte [0x7ba2f0]
test cl, cl
je 0x4eb616
lea ecx, [0x611680]
mov dword [0x7ba2f4], ecx
mov edx, dword [0x7e0970]
test edx, edx
jne 0x4eb609
mov dword [0x7ba2f8], eax
jmp 0x4eb61c
lea edi, [0x7ba2f8]
call fcn.0045e4b0
jmp 0x4eb61c
lea ecx, [0x611680]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe8], eax
mov ecx, dword [esp + 0xe4]
test ecx, ecx
je 0x4eb64c
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4eb652
or edx, 0x80
jmp 0x4eb652
xor edx, edx
xor ecx, ecx
xor eax, eax
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xc4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.00482a60
jmp 0x4ec5d3
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.00483af0
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x80], ebx
lea ebp, [0x627f00]
mov dword [esp], ebp
call fcn.0040b460
mov eax, dword [esp + 4]
mov dword [eax + 4], 4
lea ecx, [0x638149]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x4eb70f
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x4eb722
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.0045e4b0
mov eax, ecx
mov ecx, dword [esp + 0x80]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x108]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x4ec5d3
mov dword [esp], ecx
lea edx, [0x690a10]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004e69b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x4eb77f
mov dword [edx + 0x40], eax
jmp 0x4ec5d3
lea edi, [edx + 0x40]
call fcn.0045e4b0
jmp 0x4ec5d3
mov dword [esp], eax
mov dword [esp + 4], edx
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
xchg ebp, eax
mov byte [esp + 0xc], al
xchg ebp, eax
call fcn.00482b70
jmp 0x4ec5d3
xchg ebp, eax
cmp al, 0x2d
xchg ebp, eax
je 0x4eb8d6
add ebp, 0xffffffd0
xchg ebp, eax
cmp al, 9
xchg ebp, eax
jbe 0x4eb8d6
movzx ebp, byte [esp + 0x124]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4ec636
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00483af0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov edx, dword [esp + 0x10c]
mov dword [esp], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
call fcn.00408ea0
mov eax, dword [esp + 0xc]
lea ecx, [0x60c760]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4eb873
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x64871e]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xf4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b27a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], ecx
add esp, 0x104
ret
mov dword [esp], 0
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x110]
mov dword [esp + 8], eax
call fcn.0044af00
mov eax, dword [esp + 0xc]
mov dword [esp + 0xac], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x3c], ecx
nop
mov edx, dword [esp + 0x60]
mov ebx, edx
and edx, 0x1f
cmp edx, 0xc
ja 0x4ebe52
lea ebp, [edx - 2]
cmp ebp, 4
jbe 0x4ebb99
cmp edx, 7
jb 0x4ebe64
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.00467bd0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
test edx, edx
jne 0x4eba13
mov dword [esp + 0x54], eax
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0xc0]
mov ebx, dword [edx]
shl ebx, 3
add ebx, 0xffffffc0
neg ebx
lea ebp, [ebx - 0x20]
mov dword [esp + 0x7c], ebp
cmp ebp, 0x20
sbb esi, esi
mov dword [esp + 0x78], esi
mov edi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov dword [esp + 0x74], ebp
cmp ebp, 0x20
sbb edx, edx
mov dword [esp + 0x70], edx
cmp ebx, 0x20
sbb edx, edx
mov ecx, edi
mov ebp, dword [esp + 0x48]
shl ebp, cl
and ebp, esi
mov ecx, ebx
shl eax, cl
and eax, edx
mov ecx, dword [esp + 0x74]
mov esi, dword [esp + 0x48]
shr esi, cl
mov edi, dword [esp + 0x70]
and esi, edi
or eax, esi
or eax, ebp
mov ebp, ecx
mov ecx, ebx
mov esi, dword [esp + 0x48]
shl esi, cl
and esi, edx
shr esi, cl
and esi, edx
mov ecx, ebp
mov ebp, eax
shl eax, cl
and eax, edi
or esi, eax
mov ecx, dword [esp + 0x7c]
mov eax, ebp
shr ebp, cl
mov edi, dword [esp + 0x78]
and ebp, edi
or esi, ebp
mov ebp, dword [esp + 0x48]
cmp ebp, esi
xchg esi, ebx
setne bl
xchg esi, ebx
mov ecx, ebx
shr eax, cl
and eax, edx
mov edx, dword [esp + 0x54]
cmp edx, eax
setne al
or eax, esi
test al, al
je 0x4ebb6a
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.00483af0
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x80], ebx
lea ebp, [0x627f00]
mov dword [esp], ebp
call fcn.0040b460
mov eax, dword [esp + 4]
mov dword [esp + 0xb8], eax
mov dword [esp], 0
lea ecx, [0x638902]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x10], ecx
call fcn.0044ac50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0xb8]
mov dword [edi + 4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x4ebac6
mov dword [edi], eax
jmp 0x4ebacb
call fcn.0045e4b0
mov ecx, dword [esp + 0xc8]
mov dword [edi + 8], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x4ebaeb
mov eax, dword [esp + 0xcc]
mov dword [edi + 0xc], eax
jmp 0x4ebb00
lea ecx, [edi + 0xc]
mov eax, dword [esp + 0xcc]
mov edx, edi
mov edi, ecx
call fcn.0045e4b0
mov edi, edx
mov eax, dword [esp + 0x80]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x108]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x4ec5d3
mov dword [esp], eax
lea ecx, [0x690a10]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.004e69b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x4ebb5d
mov dword [edx + 0x40], eax
jmp 0x4ec5d3
lea edi, [edx + 0x40]
call fcn.0045e4b0
jmp 0x4ec5d3
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ebp
call fcn.004835e0
jmp 0x4ec5d3
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.004683b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
test edx, edx
jne 0x4ebcc8
mov dword [esp + 0x58], eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ebx
mov edx, dword [esp + 0xc0]
mov ebp, dword [edx]
shl ebp, 3
add ebp, 0xffffffc0
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov dword [esp + 0x6c], ebp
lea esi, [ebp - 0x20]
mov dword [esp + 0x7c], esi
cmp esi, 0x20
sbb edi, edi
mov dword [esp + 0x78], edi
cmp ebp, 0x20
sbb eax, eax
mov dword [esp + 0x74], eax
xchg esi, ebx
neg ebx
xchg esi, ebx
cmp esi, 0x20
sbb edx, edx
mov dword [esp + 0x70], edx
shr ebp, 5
cmp ebp, 1
sbb ebp, ebp
mov dword [esp + 0x68], ebp
mov ebp, dword [esp + 0x6c]
cmp ebp, 0x20
sbb edx, edx
mov dword [esp + 0x6c], edx
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x4c]
shl edx, cl
and edx, edi
mov ecx, ebp
shl ebx, cl
and ebx, eax
mov ecx, esi
mov edi, dword [esp + 0x4c]
shr edi, cl
mov esi, dword [esp + 0x70]
and edi, esi
or ebx, edi
or ebx, edx
mov edx, ecx
mov ecx, ebp
mov edi, dword [esp + 0x4c]
shl edi, cl
and edi, eax
mov eax, dword [esp + 0x78]
not eax
mov ebp, dword [esp + 0x7c]
or eax, ebp
mov ebp, ecx
mov ecx, eax
mov eax, ebx
sar ebx, cl
mov ecx, ebp
mov ebp, dword [esp + 0x68]
xor ebp, 0xffffffff
and ebp, ebx
mov ebx, ecx
mov ecx, edx
mov edx, eax
shl eax, cl
and eax, esi
mov ecx, ebx
shr edi, cl
mov esi, dword [esp + 0x74]
and edi, esi
or edi, eax
or ebp, edi
mov eax, dword [esp + 0x4c]
cmp eax, ebp
xchg ebp, ebx
setne bl
xchg ebp, ebx
mov esi, dword [esp + 0x6c]
xchg esi, ebx
not ebx
xchg esi, ebx
or ecx, esi
sar edx, cl
mov ebx, dword [esp + 0x50]
cmp ebx, edx
setne dl
or edx, ebp
test dl, dl
je 0x4ebe1f
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.00483af0
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x80], ebx
lea ebp, [0x627f00]
mov dword [esp], ebp
call fcn.0040b460
mov eax, dword [esp + 4]
mov dword [esp + 0xb8], eax
mov dword [esp], 0
lea ecx, [0x638902]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x10], ecx
call fcn.0044ac50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0xb8]
mov dword [edi + 4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x4ebd7b
mov dword [edi], eax
jmp 0x4ebd80
call fcn.0045e4b0
mov ecx, dword [esp + 0xc8]
mov dword [edi + 8], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x4ebda0
mov eax, dword [esp + 0xcc]
mov dword [edi + 0xc], eax
jmp 0x4ebdb5
lea ecx, [edi + 0xc]
mov eax, dword [esp + 0xcc]
mov edx, edi
mov edi, ecx
call fcn.0045e4b0
mov edi, edx
mov eax, dword [esp + 0x80]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x108]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x4ec5d3
mov dword [esp], eax
lea ecx, [0x690a10]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.004e69b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x4ebe12
mov dword [edx + 0x40], eax
jmp 0x4ec5d3
lea edi, [edx + 0x40]
call fcn.0045e4b0
jmp 0x4ec5d3
mov ecx, dword [esp + 0xc0]
mov dword [esp], ecx
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
call fcn.00483000
jmp 0x4ec5d3
cmp edx, 0xe
jbe 0x4ec3be
cmp edx, 0x14
je 0x4ec11f
cmp edx, 0x18
je 0x4ebe6d
xor edx, edx
jmp 0x4ebecb
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00483af0
mov eax, dword [esp + 0xc]
mov ecx, dword [0x7b9f04]
mov edx, dword [esp + 0x10]
cmp dword [0x7b9f00], eax
je 0x4ebea5
xor eax, eax
jmp 0x4ebeba
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004033f0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x60]
mov edx, eax
mov eax, dword [esp + 0xac]
test dl, dl
jne 0x4ec0f4
movzx eax, byte [esp + 0x124]
test al, al
je 0x4ebff1
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00483af0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov edx, dword [esp + 0x10c]
mov dword [esp], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
call fcn.00408ea0
mov eax, dword [esp + 0xc]
lea ecx, [0x60c760]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4ebf8e
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x64871e]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xf4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b27a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], ecx
add esp, 0x104
ret
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00483af0
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x80], ebx
lea ebp, [0x627f00]
mov dword [esp], ebp
call fcn.0040b460
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x6385e8]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x4ec077
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x4ec08a
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.0045e4b0
mov eax, ecx
mov ecx, dword [esp + 0x80]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x108]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x4ec5d3
mov dword [esp], ecx
lea edx, [0x690a10]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004e69b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x4ec0e7
mov dword [edx + 0x40], eax
jmp 0x4ec5d3
lea edi, [edx + 0x40]
call fcn.0045e4b0
jmp 0x4ec5d3
mov edx, dword [esp + 0xc0]
mov dword [esp], edx
mov edx, dword [esp + 0xc4]
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.004836e0
jmp 0x4ec5d3
mov edx, dword [esp + 0x108]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004e9e70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
test edx, edx
je 0x4ec1a6
nop
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x4ec5d3
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004e69b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x4ec199
mov dword [edx + 0x40], eax
jmp 0x4ec5d3
lea edi, [edx + 0x40]
call fcn.0045e4b0
jmp 0x4ec5d3
mov dword [esp + 0xcc], ebp
mov dword [esp + 0xb4], esi
mov dword [esp + 0x44], ebx
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x60]
mov dword [esp + 8], edx
call fcn.00482770
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4ec2b7
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x4ec27e
nop
movzx ecx, byte [0x7ba2f0]
test cl, cl
je 0x4ec238
mov ecx, dword [esp + 0xcc]
mov dword [0x7ba2f4], ecx
mov edx, dword [0x7e0970]
test edx, edx
jne 0x4ec224
mov eax, dword [esp + 0xb4]
mov dword [0x7ba2f8], eax
jmp 0x4ec246
lea edi, [0x7ba2f8]
mov eax, dword [esp + 0xb4]
call fcn.0045e4b0
jmp 0x4ec246
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], eax
mov ecx, dword [esp + 0xd4]
test ecx, ecx
je 0x4ec276
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4ec284
or edx, 0x80
jmp 0x4ec284
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x4ec284
xor edx, edx
xor ecx, ecx
xor eax, eax
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xc4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.00482a60
jmp 0x4ec5d3
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.00483af0
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x80], ebx
lea ebp, [0x627f00]
mov dword [esp], ebp
call fcn.0040b460
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x6385e8]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x4ec341
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x4ec354
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.0045e4b0
mov eax, ecx
mov ecx, dword [esp + 0x80]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x108]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x4ec5d3
mov dword [esp], ecx
lea edx, [0x690a10]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004e69b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x4ec3b1
mov dword [edx + 0x40], eax
jmp 0x4ec5d3
lea edi, [edx + 0x40]
call fcn.0045e4b0
jmp 0x4ec5d3
mov dword [esp + 0x64], edx
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00483af0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x18]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xac]
mov dword [esp], ecx
mov edx, dword [esp + 0x3c]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00467530
movsd xmm0, qword [esp + 0xc]
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4ec464
mov eax, dword [esp + 0x64]
cmp eax, 0xd
jne 0x4ec5b1
nop
xorps xmm1, xmm1
ucomisd xmm1, xmm0
jbe 0x4ec440
movsd xmm1, qword [0x6902b4]
pxor xmm0, xmm1
movsd xmm1, qword [0x69029c]
ucomisd xmm0, xmm1
jbe 0x4ec5b1
movsd xmm1, qword [0x6902a4]
ucomisd xmm1, xmm0
jb 0x4ec5b1
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.00483af0
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x80], ebx
lea ebp, [0x627f00]
mov dword [esp], ebp
call fcn.0040b460
mov eax, dword [esp + 4]
mov dword [esp + 0xb8], eax
mov dword [esp], 0
lea ecx, [0x638902]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x10], ecx
call fcn.0044ac50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0xb8]
mov dword [edi + 4], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x4ec517
mov dword [edi], eax
jmp 0x4ec51c
call fcn.0045e4b0
mov ecx, dword [esp + 0xc8]
mov dword [edi + 8], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x4ec53c
mov eax, dword [esp + 0xcc]
mov dword [edi + 0xc], eax
jmp 0x4ec551
lea ecx, [edi + 0xc]
mov eax, dword [esp + 0xcc]
mov edx, edi
mov edi, ecx
call fcn.0045e4b0
mov edi, edx
mov eax, dword [esp + 0x80]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x108]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x4ec5d3
mov dword [esp], eax
lea ecx, [0x690a10]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.004e69b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x4ec5a7
mov dword [edx + 0x40], eax
jmp 0x4ec5d3
lea edi, [edx + 0x40]
call fcn.0045e4b0
jmp 0x4ec5d3
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.00482f40
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0x104
ret
mov eax, dword [ebx + 0x10]
mov dword [esp], ebp
mov ecx, dword [esp + 0x10c]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x110]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x114]
mov dword [esp + 0xc], ecx
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], ecx
add esp, 0x104
ret
lea eax, [0x612980]
mov dword [esp], eax
lea eax, [0x6904a4]
mov dword [esp + 4], eax
call fcn.00433710
lea eax, [0x612980]
mov dword [esp], eax
lea eax, [0x6904a4]
mov dword [esp + 4], eax
call fcn.00433710
call fcn.0045e570
lea eax, [0x612980]
mov dword [esp], eax
lea eax, [0x6904a4]
mov dword [esp + 4], eax
call fcn.00433710
nop
call fcn.0045d0a0
jmp fcn.004ea040