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

Disassembly:
mov ecx, dword [0x8602c0]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x7c]
cmp eax, dword [ecx + 8]
jbe 0x4d8509
sub esp, 0xfc
mov eax, dword [esp + 0x108]
test eax, eax
jne 0x4d6205
mov eax, dword [esp + 0x110]
mov dword [esp], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 8], eax
call fcn.004933c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov edx, dword [esp + 0x104]
mov dword [esp], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x10c]
mov dword [esp + 8], edx
call fcn.00409b90
mov eax, dword [esp + 0xc]
lea ecx, [0x607340]
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc8]
test eax, eax
je 0x4d614f
mov eax, dword [eax + 4]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf8], eax
lea eax, [0x64b84e]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c9020
mov eax, dword [esp + 0x100]
mov ecx, dword [eax + 0x3c]
nop
test ecx, ecx
jne 0x4d61e8
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004d2ef0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x100]
mov dword [edx + 0x3c], eax
mov eax, dword [0x860560]
test eax, eax
je 0x4d61e5
call fcn.00467c50
mov dword [edi], ecx
mov eax, dword [edx + 0x40]
mov dword [edi + 4], eax
mov dword [edx + 0x40], ecx
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
add esp, 0xfc
ret
mov eax, dword [esp + 0x104]
cmp byte [eax], 0x6e
mov ecx, dword [esp + 0x110]
mov dword [esp], ecx
mov edx, dword [esp + 0x114]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x118]
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.004d35b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
test eax, eax
jne 0x4d8471
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4d66f8
mov edx, dword [esp + 0x104]
movzx ebx, byte [edx]
cmp bl, 0x22
je 0x4d6555
movzx eax, byte [esp + 0x11c]
test al, al
jne 0x4d63ed
cmp bl, 0x66
je 0x4d629c
cmp bl, 0x6e
jne 0x4d6297
mov eax, 4
lea ecx, [0x6392f4]
jmp 0x4d62b4
cmp bl, 0x74
jne 0x4d62a9
mov eax, 4
lea ecx, [0x6392f8]
jmp 0x4d62b4
mov eax, 6
lea ecx, [0x6396a3]
mov dword [esp + 0x40], eax
mov dword [esp + 0xa4], ecx
mov edx, dword [esp + 0x110]
mov dword [esp], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x118]
mov dword [esp + 8], edx
call fcn.004933c0
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc0], ecx
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0x625260]
mov dword [esp], ebp
call fcn.0040c2d0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x40]
mov dword [eax + 4], ecx
mov ecx, dword [0x860560]
test ecx, ecx
jne 0x4d6334
mov ecx, dword [esp + 0xa4]
jmp 0x4d6342
call fcn.00467c40
mov ecx, dword [esp + 0xa4]
mov dword [edi], ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0xc0]
mov dword [eax + 8], ecx
mov ecx, dword [0x860560]
test ecx, ecx
jne 0x4d6361
mov ecx, dword [esp + 0xc4]
jmp 0x4d636f
call fcn.00467c40
mov ecx, dword [esp + 0xc4]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x78]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x100]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x4d63d0
mov dword [esp], ecx
lea edx, [0x689e98]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004d2ef0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x100]
mov dword [edx + 0x3c], eax
mov eax, dword [0x860560]
test eax, eax
je 0x4d63cd
call fcn.00467c50
mov dword [edi], ecx
mov eax, dword [edx + 0x40]
mov dword [edi + 4], eax
mov dword [edx + 0x40], ecx
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
add esp, 0xfc
ret
mov eax, dword [esp + 0x110]
mov dword [esp], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 8], eax
call fcn.004933c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov edx, dword [esp + 0x104]
mov dword [esp], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x10c]
mov dword [esp + 8], edx
call fcn.00409b90
mov eax, dword [esp + 0xc]
lea ecx, [0x607340]
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc8]
test eax, eax
je 0x4d649f
mov eax, dword [eax + 4]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf8], eax
lea eax, [0x64b84e]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c9020
mov eax, dword [esp + 0x100]
mov ecx, dword [eax + 0x3c]
nop
test ecx, ecx
jne 0x4d6538
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004d2ef0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x100]
mov dword [edx + 0x3c], eax
mov eax, dword [0x860560]
test eax, eax
je 0x4d6535
call fcn.00467c50
mov dword [edi], ecx
mov eax, dword [edx + 0x40]
mov dword [edi + 4], eax
mov dword [edx + 0x40], ecx
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
add esp, 0xfc
ret
mov dword [esp + 0xac], ecx
mov dword [esp + 0x58], eax
mov dword [esp], edx
mov eax, dword [esp + 0x108]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x10c]
mov dword [esp + 8], ecx
call fcn.004d8cb0
movzx eax, byte [esp + 0x18]
test al, al
jne 0x4d66b0
movzx eax, byte [esp + 0x11c]
test al, al
je 0x4d84f0
mov eax, dword [esp + 0x110]
mov dword [esp], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 8], eax
call fcn.004933c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov edx, dword [esp + 0x104]
mov dword [esp], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x10c]
mov dword [esp + 8], edx
call fcn.00409b90
mov eax, dword [esp + 0xc]
lea ecx, [0x607340]
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc8]
test eax, eax
je 0x4d664d
mov eax, dword [eax + 4]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf8], eax
lea eax, [0x64b84e]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c9020
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], ecx
add esp, 0xfc
ret
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x58]
mov ecx, dword [ecx + 0x10]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0xac]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], ecx
add esp, 0xfc
ret
mov eax, dword [esp + 0x104]
movzx ecx, byte [eax]
mov edx, dword [esp + 0x20]
mov dword [esp + 0xbc], edx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x74], ebx
mov ebp, dword [esp + 0x24]
mov dword [esp + 0xb8], ebp
cmp cl, 0x66
ja 0x4d6f8d
cmp cl, 0x22
je 0x4d673c
cmp cl, 0x66
je 0x4d712e
jmp 0x4d76d1
mov dword [esp], eax
mov ecx, dword [esp + 0x108]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x10c]
mov dword [esp + 8], edx
call fcn.004d8cb0
movzx eax, byte [esp + 0x18]
mov ecx, dword [esp + 0x14]
test al, al
je 0x4d6e6b
mov eax, dword [esp + 0x74]
mov edx, eax
and eax, 0x1f
nop
mov ebx, dword [esp + 0xc]
mov dword [esp + 0xa0], ebx
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x38], ebp
nop
cmp eax, 0x14
je 0x4d6c9e
cmp eax, 0x17
je 0x4d6a17
cmp eax, 0x18
jne 0x4d691f
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004933c0
mov eax, dword [esp + 0xc]
cmp dword [0x839ea8], eax
je 0x4d67d2
xor eax, eax
jmp 0x4d6834
mov ecx, dword [0x839eac]
mov edx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004040e0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4d67f9
xor eax, eax
jmp 0x4d6834
lea eax, [esp + 0x7c]
mov dword [esp], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x38]
mov dword [esp + 8], ecx
call fcn.00451850
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004dbf00
movzx eax, byte [esp + 8]
xor eax, 1
test al, al
jne 0x4d687e
mov dword [esp], 0
mov eax, dword [esp + 0xa0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 8], eax
call fcn.00451850
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.00492f40
jmp 0x4d8454
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
mov eax, dword [esp + 0x104]
mov dword [esp], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 8], eax
call fcn.00409b90
mov eax, dword [esp + 0xc]
lea ecx, [0x607340]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe8], eax
lea eax, [0x64af7a]
mov dword [esp], eax
mov dword [esp + 4], 0x40
lea eax, [esp + 0xe4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004c9020
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], ecx
add esp, 0xfc
ret
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.004933c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc0], ecx
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0x625260]
mov dword [esp], ebp
call fcn.0040c2d0
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x6396a9]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc4]
mov dword [eax + 8], ecx
mov ecx, dword [0x860560]
test ecx, ecx
jne 0x4d699f
mov ecx, dword [esp + 0xc0]
jmp 0x4d69ad
call fcn.00467c40
mov ecx, dword [esp + 0xc0]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x78]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x100]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x4d8454
mov dword [esp], ecx
lea edx, [0x689e98]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004d2ef0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x100]
mov dword [edx + 0x3c], eax
mov eax, dword [0x860560]
test eax, eax
je 0x4d6a0f
call fcn.00467c50
mov dword [edi], ecx
mov eax, dword [edx + 0x40]
mov dword [edi + 4], eax
mov dword [edx + 0x40], ecx
jmp 0x4d8454
mov dword [esp + 0x3c], ecx
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004933c0
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 0x4d6ba2
mov eax, dword [0x839c10]
cmp dword [eax + 0x140], 0xffffffff
jne 0x4d6a8c
mov eax, dword [esp + 0x38]
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 0x4d6a96
mov eax, dword [esp + 0x38]
shr eax, 2
lea ecx, [eax + eax*2]
mov dword [esp + 0x30], ecx
lea eax, [0x60dc80]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.0044da60
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb4], eax
mov ecx, dword [0x839c10]
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 + 0xa0]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x18], edx
call fcn.0049d2d0
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4d6b58
mov eax, dword [esp + 0x100]
mov ecx, dword [eax + 0x3c]
nop
test ecx, ecx
jne 0x4d8454
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004d2ef0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x100]
mov dword [edx + 0x3c], eax
mov eax, dword [0x860560]
test eax, eax
je 0x4d6b50
call fcn.00467c50
mov dword [edi], ecx
mov eax, dword [edx + 0x40]
mov dword [edi + 4], eax
mov dword [edx + 0x40], ecx
jmp 0x4d8454
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x30]
cmp edx, ecx
jb 0x4d84eb
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.00492430
jmp 0x4d8454
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.004933c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc0], ecx
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0x625260]
mov dword [esp], ebp
call fcn.0040c2d0
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x6396a9]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc4]
mov dword [eax + 8], ecx
mov ecx, dword [0x860560]
test ecx, ecx
jne 0x4d6c26
mov ecx, dword [esp + 0xc0]
jmp 0x4d6c34
call fcn.00467c40
mov ecx, dword [esp + 0xc0]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x78]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x100]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x4d8454
mov dword [esp], ecx
lea edx, [0x689e98]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004d2ef0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x100]
mov dword [edx + 0x3c], eax
mov eax, dword [0x860560]
test eax, eax
je 0x4d6c96
call fcn.00467c50
mov dword [edi], ecx
mov eax, dword [edx + 0x40]
mov dword [edi + 4], eax
mov dword [edx + 0x40], ecx
jmp 0x4d8454
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00491f30
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4d6d6f
mov dword [esp], 0
mov eax, dword [esp + 0xa0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 8], eax
call fcn.00451850
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409b10
mov eax, dword [esp + 8]
nop
lea ecx, [0x60d940]
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], eax
mov ecx, dword [esp + 0xd4]
test ecx, ecx
je 0x4d6d36
movzx edx, byte [ecx + 0xf]
nop
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4d6d3c
or edx, 0x80
jmp 0x4d6d3c
xor edx, edx
xor ecx, ecx
xor eax, eax
mov ebx, dword [esp + 0xbc]
mov dword [esp], ebx
mov ebx, dword [esp + 0xb8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.00492250
jmp 0x4d8454
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.004933c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc0], ecx
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0x625260]
mov dword [esp], ebp
call fcn.0040c2d0
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x6396a9]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc4]
mov dword [eax + 8], ecx
mov ecx, dword [0x860560]
test ecx, ecx
jne 0x4d6df3
mov ecx, dword [esp + 0xc0]
jmp 0x4d6e01
call fcn.00467c40
mov ecx, dword [esp + 0xc0]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x78]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x100]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x4d8454
mov dword [esp], ecx
lea edx, [0x689e98]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004d2ef0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x100]
mov dword [edx + 0x3c], eax
mov eax, dword [0x860560]
test eax, eax
je 0x4d6e63
call fcn.00467c50
mov dword [edi], ecx
mov eax, dword [edx + 0x40]
mov dword [edi + 4], eax
mov dword [edx + 0x40], ecx
jmp 0x4d8454
movzx eax, byte [esp + 0x11c]
test al, al
je 0x4d84d3
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.004933c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov edx, dword [esp + 0x104]
mov dword [esp], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x10c]
mov dword [esp + 8], edx
call fcn.00409b90
mov eax, dword [esp + 0xc]
lea ecx, [0x607340]
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc8]
test eax, eax
je 0x4d6f2a
mov eax, dword [eax + 4]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf8], eax
lea eax, [0x64b84e]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c9020
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], ecx
add esp, 0xfc
ret
cmp cl, 0x6e
jne 0x4d7125
movzx ecx, byte [esp + 0x11c]
test cl, cl
je 0x4d70fd
mov ecx, dword [esp + 0x108]
cmp ecx, 4
jne 0x4d6fbe
cmp dword [eax], 0x6c6c756e
je 0x4d70fd
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.004933c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov edx, dword [esp + 0x104]
mov dword [esp], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x10c]
mov dword [esp + 8], edx
call fcn.00409b90
mov eax, dword [esp + 0xc]
lea ecx, [0x607340]
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc8]
test eax, eax
je 0x4d705b
mov eax, dword [eax + 4]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf8], eax
lea eax, [0x64b84e]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c9020
mov eax, dword [esp + 0x100]
mov ecx, dword [eax + 0x3c]
nop
test ecx, ecx
jne 0x4d8454
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004d2ef0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x100]
mov dword [edx + 0x3c], eax
mov eax, dword [0x860560]
test eax, eax
je 0x4d70f5
call fcn.00467c50
mov dword [edi], ecx
mov eax, dword [edx + 0x40]
mov dword [edi + 4], eax
mov dword [edx + 0x40], ecx
jmp 0x4d8454
mov eax, ebx
and ebx, 0x1f
lea ecx, [ebx - 0x14]
nop
nop
cmp ecx, 3
ja 0x4d8454
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.004915d0
jmp 0x4d8454
cmp cl, 0x74
jne 0x4d76d1
movzx esi, byte [esp + 0x11c]
xchg esi, eax
test al, al
xchg esi, eax
je 0x4d72ae
mov edi, dword [esp + 0x108]
cmp edi, 4
jne 0x4d7158
cmp dword [eax], 0x65757274
je 0x4d72b5
cmp edi, 5
jne 0x4d716f
cmp dword [eax], 0x736c6166
jne 0x4d716f
cmp byte [eax + 4], 0x65
je 0x4d72b5
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.004933c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov edx, dword [esp + 0x104]
mov dword [esp], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x10c]
mov dword [esp + 8], edx
call fcn.00409b90
mov eax, dword [esp + 0xc]
lea ecx, [0x607340]
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc8]
test eax, eax
je 0x4d720c
mov eax, dword [eax + 4]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf8], eax
lea eax, [0x64b84e]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c9020
mov eax, dword [esp + 0x100]
mov ecx, dword [eax + 0x3c]
nop
test ecx, ecx
jne 0x4d8454
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004d2ef0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x100]
mov dword [edx + 0x3c], eax
mov eax, dword [0x860560]
test eax, eax
je 0x4d72a6
call fcn.00467c50
mov dword [edi], ecx
mov eax, dword [edx + 0x40]
mov dword [edi + 4], eax
mov dword [edx + 0x40], ecx
jmp 0x4d8454
mov edi, dword [esp + 0x108]
and ebx, 0x1f
nop
nop
cmp cl, 0x74
sete cl
cmp ebx, 1
je 0x4d76b4
cmp ebx, 0x14
je 0x4d750d
xchg esi, eax
test al, al
xchg esi, eax
je 0x4d741f
mov dword [esp], edx
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.004933c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov edx, dword [esp + 0x104]
mov dword [esp], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x10c]
mov dword [esp + 8], edx
call fcn.00409b90
mov eax, dword [esp + 0xc]
lea ecx, [0x607340]
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc8]
test eax, eax
je 0x4d737d
mov eax, dword [eax + 4]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf8], eax
lea eax, [0x64b84e]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c9020
mov eax, dword [esp + 0x100]
mov ecx, dword [eax + 0x3c]
nop
test ecx, ecx
jne 0x4d8454
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004d2ef0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x100]
mov dword [edx + 0x3c], eax
mov eax, dword [0x860560]
test eax, eax
je 0x4d7417
call fcn.00467c50
mov dword [edi], ecx
mov eax, dword [edx + 0x40]
mov dword [edi + 4], eax
mov dword [edx + 0x40], ecx
jmp 0x4d8454
mov dword [esp], edx
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.004933c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc0], ecx
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0x625260]
mov dword [esp], ebp
call fcn.0040c2d0
mov eax, dword [esp + 4]
mov dword [eax + 4], 4
lea ecx, [0x6392f8]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc4]
mov dword [eax + 8], ecx
mov ecx, dword [0x860560]
test ecx, ecx
jne 0x4d7495
mov ecx, dword [esp + 0xc0]
jmp 0x4d74a3
call fcn.00467c40
mov ecx, dword [esp + 0xc0]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x78]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x100]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x4d8454
mov dword [esp], ecx
lea edx, [0x689e98]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004d2ef0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x100]
mov dword [edx + 0x3c], eax
mov eax, dword [0x860560]
test eax, eax
je 0x4d7505
call fcn.00467c50
mov dword [edi], ecx
mov eax, dword [edx + 0x40]
mov dword [edi + 4], eax
mov dword [edx + 0x40], ecx
jmp 0x4d8454
mov byte [esp + 0x2f], cl
mov dword [esp], edx
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.00491f30
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4d75b8
movzx eax, byte [esp + 0x2f]
movzx eax, al
lea ecx, [0x8253c0]
lea eax, [ecx + eax*8]
lea ecx, [0x60d980]
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xdc]
test eax, eax
je 0x4d757f
movzx ecx, byte [eax + 0xf]
nop
mov edx, ecx
and ecx, 0x1f
test dl, 0x20
jne 0x4d7576
or ecx, 0x80
mov edx, dword [esp + 0xe0]
jmp 0x4d7585
xor ecx, ecx
xor eax, eax
xor edx, edx
mov ebx, dword [esp + 0xbc]
mov dword [esp], ebx
mov ebx, dword [esp + 0xb8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
call fcn.00492250
jmp 0x4d8454
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.004933c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc0], ecx
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0x625260]
mov dword [esp], ebp
call fcn.0040c2d0
mov eax, dword [esp + 4]
mov dword [eax + 4], 4
lea ecx, [0x6392f8]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc4]
mov dword [eax + 8], ecx
mov ecx, dword [0x860560]
test ecx, ecx
jne 0x4d763c
mov ecx, dword [esp + 0xc0]
jmp 0x4d764a
call fcn.00467c40
mov ecx, dword [esp + 0xc0]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x78]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x100]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x4d8454
mov dword [esp], ecx
lea edx, [0x689e98]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004d2ef0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x100]
mov dword [edx + 0x3c], eax
mov eax, dword [0x860560]
test eax, eax
je 0x4d76ac
call fcn.00467c50
mov dword [edi], ecx
mov eax, dword [edx + 0x40]
mov dword [edi + 4], eax
mov dword [edx + 0x40], ecx
jmp 0x4d8454
mov dword [esp], edx
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
mov byte [esp + 0xc], cl
call fcn.00492370
jmp 0x4d8454
cmp cl, 0x2d
je 0x4d77f6
add ecx, 0xffffffd0
cmp cl, 9
jbe 0x4d77f6
movzx ecx, byte [esp + 0x11c]
test cl, cl
je 0x4d84bb
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.004933c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov edx, dword [esp + 0x104]
mov dword [esp], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x10c]
mov dword [esp + 8], edx
call fcn.00409b90
mov eax, dword [esp + 0xc]
lea ecx, [0x607340]
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc8]
test eax, eax
je 0x4d7793
mov eax, dword [eax + 4]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf8], eax
lea eax, [0x64b84e]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c9020
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], ecx
add esp, 0xfc
ret
mov dword [esp], 0
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x108]
mov dword [esp + 8], ecx
call fcn.00451850
mov eax, dword [esp + 0x74]
mov ecx, eax
and eax, 0x1f
nop
mov edx, dword [esp + 0xc]
mov dword [esp + 0x9c], edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x34], ebx
nop
cmp eax, 0xc
ja 0x4d7d2c
lea ebp, [eax - 2]
cmp ebp, 4
jbe 0x4d7aaa
cmp eax, 7
jb 0x4d7d3e
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.004803c0
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4d7926
mov eax, dword [esp + 0x10]
mov dword [esp + 0x48], eax
mov edx, dword [esp + 0x14]
mov dword [esp + 0x54], edx
mov ebx, dword [esp + 0xbc]
mov ebp, dword [ebx]
shl ebp, 3
lea ecx, [ebp - 0x40]
neg ecx
mov dword [esp + 0x70], ecx
shl edx, cl
mov esi, eax
shl eax, cl
lea edi, [ecx - 0x20]
mov ecx, edi
shl esi, cl
mov dword [esp + 0x6c], esi
neg ecx
mov dword [esp + 0x68], ecx
mov ebx, dword [esp + 0x48]
shr ebx, cl
mov ebp, dword [esp + 0x70]
cmp ebp, 0x20
sbb esi, esi
mov dword [esp + 0x64], esi
and eax, esi
and edx, esi
mov ecx, ebp
shr eax, cl
and eax, esi
mov esi, dword [esp + 0x68]
cmp esi, 0x20
sbb ecx, ecx
and ebx, ecx
or edx, ebx
cmp edi, 0x20
sbb ebx, ebx
mov ebp, dword [esp + 0x6c]
and ebp, ebx
or edx, ebp
mov ebp, ecx
mov ecx, esi
mov esi, edx
shl edx, cl
and edx, ebp
or eax, edx
mov ecx, edi
mov edx, esi
shr esi, cl
and esi, ebx
or eax, esi
mov ecx, dword [esp + 0x70]
shr edx, cl
mov ebx, dword [esp + 0x64]
and edx, ebx
mov ebx, dword [esp + 0x54]
cmp ebx, edx
setne dl
mov ebp, dword [esp + 0x48]
cmp ebp, eax
setne al
or edx, eax
test dl, dl
je 0x4d7a7b
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.004933c0
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc0], ecx
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0x625260]
mov dword [esp], ebp
call fcn.0040c2d0
mov eax, dword [esp + 4]
mov dword [esp + 0xb0], eax
mov dword [esp], 0
lea ecx, [0x639914]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x10], ecx
call fcn.004515b0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xb0]
mov dword [edx + 4], eax
mov eax, dword [0x860560]
test eax, eax
je 0x4d79de
call fcn.00467c50
mov dword [edi], ecx
mov eax, dword [edx]
mov dword [edi + 4], eax
mov dword [edx], ecx
mov eax, dword [esp + 0xc0]
mov dword [edx + 8], eax
mov eax, dword [0x860560]
test eax, eax
jne 0x4d79fd
mov eax, dword [esp + 0xc4]
jmp 0x4d7a11
call fcn.00467c50
mov eax, dword [esp + 0xc4]
mov dword [edi], eax
mov ecx, dword [edx + 0xc]
mov dword [edi + 4], ecx
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x78]
dec eax
mov dword [edx + 0x10], eax
sar eax, 0x1f
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0x100]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x4d8454
mov dword [esp], eax
lea ecx, [0x689e98]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004d2ef0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x100]
mov dword [edx + 0x3c], eax
mov eax, dword [0x860560]
test eax, eax
je 0x4d7a73
call fcn.00467c50
mov dword [edi], ecx
mov eax, dword [edx + 0x40]
mov dword [edi + 4], eax
mov dword [edx + 0x40], ecx
jmp 0x4d8454
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], ebp
call fcn.00492e40
jmp 0x4d8454
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.00480de0
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4d7ba4
mov eax, dword [esp + 0x10]
mov dword [esp + 0x4c], eax
mov edx, dword [esp + 0x14]
mov dword [esp + 0x50], edx
mov ebx, dword [esp + 0xbc]
mov ebp, dword [ebx]
shl ebp, 3
lea ecx, [ebp - 0x40]
neg ecx
mov dword [esp + 0x70], ecx
shl edx, cl
mov esi, eax
shl eax, cl
lea edi, [ecx - 0x20]
mov ecx, edi
shl esi, cl
neg ecx
mov dword [esp + 0x6c], ecx
mov ebx, dword [esp + 0x4c]
shr ebx, cl
mov ebp, dword [esp + 0x70]
shr ebp, 5
mov dword [esp + 0x68], ebp
cmp ecx, 0x20
sbb ebp, ebp
mov dword [esp + 0x64], ebp
and ebx, ebp
cmp edi, 0x20
sbb ebp, ebp
and esi, ebp
xchg ebp, ebx
not ebx
xchg ebp, ebx
or ebp, edi
mov dword [esp + 0x60], ebp
mov edi, dword [esp + 0x70]
cmp edi, 0x20
sbb ebp, ebp
sbb ecx, ecx
and eax, ebp
and edx, ebp
or edx, ebx
or edx, esi
mov ebx, ecx
mov ecx, edi
shr eax, cl
mov ecx, dword [esp + 0x6c]
mov esi, edx
shl edx, cl
mov ecx, edi
mov edi, dword [esp + 0x64]
and edx, edi
and eax, ebp
mov ebp, ecx
mov ecx, dword [esp + 0x60]
mov edi, esi
sar esi, cl
or eax, edx
not ebx
or ebp, ebx
mov ecx, ebp
sar edi, cl
mov edx, dword [esp + 0x68]
cmp edx, 1
sbb edx, edx
xor edx, 0xffffffff
and edx, esi
or edx, eax
mov eax, dword [esp + 0x4c]
cmp eax, edx
setne dl
mov ebx, dword [esp + 0x50]
cmp ebx, edi
setne bl
or ebx, edx
test bl, bl
je 0x4d7cf9
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.004933c0
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc0], ecx
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0x625260]
mov dword [esp], ebp
call fcn.0040c2d0
mov eax, dword [esp + 4]
mov dword [esp + 0xb0], eax
mov dword [esp], 0
lea ecx, [0x639914]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x10], ecx
call fcn.004515b0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xb0]
mov dword [edx + 4], eax
mov eax, dword [0x860560]
test eax, eax
je 0x4d7c5c
call fcn.00467c50
mov dword [edi], ecx
mov eax, dword [edx]
mov dword [edi + 4], eax
mov dword [edx], ecx
mov eax, dword [esp + 0xc0]
mov dword [edx + 8], eax
mov eax, dword [0x860560]
test eax, eax
jne 0x4d7c7b
mov eax, dword [esp + 0xc4]
jmp 0x4d7c8f
call fcn.00467c50
mov eax, dword [esp + 0xc4]
mov dword [edi], eax
mov ecx, dword [edx + 0xc]
mov dword [edi + 4], ecx
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x78]
dec eax
mov dword [edx + 0x10], eax
sar eax, 0x1f
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0x100]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x4d8454
mov dword [esp], eax
lea ecx, [0x689e98]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004d2ef0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x100]
mov dword [edx + 0x3c], eax
mov eax, dword [0x860560]
test eax, eax
je 0x4d7cf1
call fcn.00467c50
mov dword [edi], ecx
mov eax, dword [edx + 0x40]
mov dword [edi + 4], eax
mov dword [edx + 0x40], ecx
jmp 0x4d8454
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xbc]
mov dword [esp], edx
mov edx, dword [esp + 0xb8]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x74]
mov dword [esp + 8], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
call fcn.00492860
jmp 0x4d8454
cmp eax, 0xe
jbe 0x4d823e
cmp eax, 0x14
je 0x4d7fec
cmp eax, 0x18
je 0x4d7d47
xor eax, eax
jmp 0x4d7da3
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
mov edx, dword [esp + 0xb8]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004933c0
mov eax, dword [esp + 0xc]
cmp dword [0x839ea8], eax
je 0x4d7d75
xor eax, eax
jmp 0x4d7d94
mov ecx, dword [0x839eac]
mov edx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004040e0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x34]
test al, al
jne 0x4d7fc1
movzx eax, byte [esp + 0x11c]
test al, al
je 0x4d7ec9
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004933c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov edx, dword [esp + 0x104]
mov dword [esp], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x10c]
mov dword [esp + 8], edx
call fcn.00409b90
mov eax, dword [esp + 0xc]
lea ecx, [0x607340]
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc8]
test eax, eax
je 0x4d7e66
mov eax, dword [eax + 4]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf8], eax
lea eax, [0x64b84e]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c9020
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], ecx
add esp, 0xfc
ret
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004933c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc0], ecx
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0x625260]
mov dword [esp], ebp
call fcn.0040c2d0
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x6396a3]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc4]
mov dword [eax + 8], ecx
mov ecx, dword [0x860560]
test ecx, ecx
jne 0x4d7f49
mov ecx, dword [esp + 0xc0]
jmp 0x4d7f57
call fcn.00467c40
mov ecx, dword [esp + 0xc0]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x78]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x100]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x4d8454
mov dword [esp], ecx
lea edx, [0x689e98]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004d2ef0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x100]
mov dword [edx + 0x3c], eax
mov eax, dword [0x860560]
test eax, eax
je 0x4d7fb9
call fcn.00467c50
mov dword [edi], ecx
mov eax, dword [edx + 0x40]
mov dword [edi + 4], eax
mov dword [edx + 0x40], ecx
jmp 0x4d8454
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.00492f40
jmp 0x4d8454
mov eax, dword [esp + 0x100]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.004d5e90
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
test eax, eax
je 0x4d8073
mov eax, dword [esp + 0x100]
mov ecx, dword [eax + 0x3c]
nop
test ecx, ecx
jne 0x4d8454
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004d2ef0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x100]
mov dword [edx + 0x3c], eax
mov eax, dword [0x860560]
test eax, eax
je 0x4d806b
call fcn.00467c50
mov dword [edi], ecx
mov eax, dword [edx + 0x40]
mov dword [edi + 4], eax
mov dword [edx + 0x40], ecx
jmp 0x4d8454
mov dword [esp + 0xc4], edx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0x44], ecx
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x74]
mov dword [esp + 8], edx
call fcn.00491f30
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4d8142
nop
mov eax, dword [esp + 0x44]
test eax, eax
je 0x4d8109
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0xcc]
test eax, eax
je 0x4d8101
movzx ecx, byte [eax + 0xf]
nop
mov edx, ecx
and ecx, 0x1f
test dl, 0x20
jne 0x4d80f8
or ecx, 0x80
mov edx, dword [esp + 0xd0]
jmp 0x4d810f
xor ecx, ecx
xor eax, eax
xor edx, edx
jmp 0x4d810f
xor ecx, ecx
xor eax, eax
xor edx, edx
mov ebx, dword [esp + 0xbc]
mov dword [esp], ebx
mov ebx, dword [esp + 0xb8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
call fcn.00492250
jmp 0x4d8454
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.004933c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc0], ecx
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0x625260]
mov dword [esp], ebp
call fcn.0040c2d0
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x6396a3]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc4]
mov dword [eax + 8], ecx
mov ecx, dword [0x860560]
test ecx, ecx
jne 0x4d81c6
mov ecx, dword [esp + 0xc0]
jmp 0x4d81d4
call fcn.00467c40
mov ecx, dword [esp + 0xc0]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x78]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x100]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x4d8454
mov dword [esp], ecx
lea edx, [0x689e98]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004d2ef0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x100]
mov dword [edx + 0x3c], eax
mov eax, dword [0x860560]
test eax, eax
je 0x4d8236
call fcn.00467c50
mov dword [edi], ecx
mov eax, dword [edx + 0x40]
mov dword [edi + 4], eax
mov dword [edx + 0x40], ecx
jmp 0x4d8454
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
mov edx, dword [esp + 0xb8]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004933c0
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 + 0x9c]
mov dword [esp], ecx
mov edx, dword [esp + 0x34]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0047fc20
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4d82e4
mov eax, dword [esp + 0x5c]
cmp eax, 0xd
jne 0x4d8432
movsd xmm0, qword [esp + 0xc]
nop
xorps xmm1, xmm1
ucomisd xmm1, xmm0
jbe 0x4d82c0
movsd xmm1, qword [0x6894a0]
pxor xmm0, xmm1
movsd xmm1, qword [0x689490]
ucomisd xmm0, xmm1
jbe 0x4d8432
movsd xmm1, qword [0x689498]
ucomisd xmm1, xmm0
jb 0x4d8432
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.004933c0
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc0], ecx
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0x625260]
mov dword [esp], ebp
call fcn.0040c2d0
mov eax, dword [esp + 4]
mov dword [esp + 0xb0], eax
mov dword [esp], 0
lea ecx, [0x639914]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x10], ecx
call fcn.004515b0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xb0]
mov dword [edx + 4], eax
mov eax, dword [0x860560]
test eax, eax
je 0x4d839c
call fcn.00467c50
mov dword [edi], ecx
mov eax, dword [edx]
mov dword [edi + 4], eax
mov dword [edx], ecx
mov eax, dword [esp + 0xc0]
mov dword [edx + 8], eax
mov eax, dword [0x860560]
test eax, eax
jne 0x4d83bb
mov eax, dword [esp + 0xc4]
jmp 0x4d83cf
call fcn.00467c50
mov eax, dword [esp + 0xc4]
mov dword [edi], eax
mov ecx, dword [edx + 0xc]
mov dword [edi + 4], ecx
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x78]
dec eax
mov dword [edx + 0x10], eax
sar eax, 0x1f
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0x100]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x4d8454
mov dword [esp], eax
lea ecx, [0x689e98]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004d2ef0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x100]
mov dword [edx + 0x3c], eax
mov eax, dword [0x860560]
test eax, eax
je 0x4d842d
call fcn.00467c50
mov dword [edi], ecx
mov eax, dword [edx + 0x40]
mov dword [edi + 4], eax
mov dword [edx + 0x40], ecx
jmp 0x4d8454
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.004927a0
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
add esp, 0xfc
ret
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], ecx
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x108]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0xc], ecx
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], ecx
add esp, 0xfc
ret
lea eax, [0x60d940]
mov dword [esp], eax
lea eax, [0x6894b0]
mov dword [esp + 4], eax
call fcn.00438060
lea eax, [0x60d940]
mov dword [esp], eax
lea eax, [0x6894b0]
mov dword [esp + 4], eax
call fcn.00438060
call fcn.00467cf0
lea eax, [0x60d940]
mov dword [esp], eax
lea eax, [0x6894b0]
mov dword [esp + 4], eax
call fcn.00438060
nop
call fcn.00466840
jmp fcn.004d6070