Function at 0x4d85a0
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 0x4dabe4
sub esp, 0x104
mov eax, dword [esp + 0x110]
test eax, eax
jne 0x4d8736
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.00482420
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.00408b20
mov eax, dword [esp + 0xc]
lea ecx, [0x4f3a00]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4d8684
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x518384]
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.004aaad0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x4d8719
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004d4f10
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x609a90]
test ecx, ecx
jne 0x4d8711
mov dword [edx + 0x40], eax
jmp 0x4d8719
lea edi, [edx + 0x40]
call fcn.0045dbb0
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.004d55f0
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 0x4dab50
test esi, esi
je 0x4d8c3d
mov eax, dword [esp + 0x10c]
movzx ecx, byte [eax]
cmp cl, 0x22
je 0x4d8a9a
movzx edx, byte [esp + 0x124]
test dl, dl
jne 0x4d8936
cmp cl, 0x66
je 0x4d87dd
cmp cl, 0x6e
jne 0x4d87d8
lea eax, [0x50d0ce]
mov ecx, 4
jmp 0x4d87f5
cmp cl, 0x74
jne 0x4d87ea
lea eax, [0x50d06e]
mov ecx, 4
jmp 0x4d87f5
lea eax, [0x50d473]
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.00482420
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, [0x502ec0]
mov dword [esp], ebp
call fcn.0040b030
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x34]
mov dword [edi + 4], eax
mov eax, dword [0x609a90]
test eax, eax
jne 0x4d887a
mov ecx, dword [esp + 0xa4]
mov dword [edi], ecx
jmp 0x4d8886
mov eax, dword [esp + 0xa4]
call fcn.0045dbb0
mov ecx, dword [esp + 0xc8]
mov dword [edi + 8], ecx
mov ecx, dword [0x609a90]
test ecx, ecx
jne 0x4d88a6
mov eax, dword [esp + 0xcc]
mov dword [edi + 0xc], eax
jmp 0x4d88bb
lea ecx, [edi + 0xc]
mov eax, dword [esp + 0xcc]
mov edx, edi
mov edi, ecx
call fcn.0045dbb0
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 0x4d8919
mov dword [esp], eax
lea ecx, [0x53a124]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.004d4f10
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x609a90]
test ecx, ecx
jne 0x4d8911
mov dword [edx + 0x40], eax
jmp 0x4d8919
lea edi, [edx + 0x40]
call fcn.0045dbb0
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.00482420
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.00408b20
mov eax, dword [esp + 0xc]
lea ecx, [0x4f3a00]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4d89e8
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x518384]
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.004aaad0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x4d8a7d
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004d4f10
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x609a90]
test ecx, ecx
jne 0x4d8a75
mov dword [edx + 0x40], eax
jmp 0x4d8a7d
lea edi, [edx + 0x40]
call fcn.0045dbb0
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.004db3a0
movzx eax, byte [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test al, al
jne 0x4d8c01
movzx eax, byte [esp + 0x124]
test al, al
je 0x4dabcb
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.00482420
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.00408b20
mov eax, dword [esp + 0xc]
lea ecx, [0x4f3a00]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4d8b9e
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x518384]
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.004aaad0
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 0x4d9526
xchg ebp, eax
cmp al, 0x22
xchg ebp, eax
je 0x4d8c7b
xchg ebp, eax
cmp al, 0x66
xchg ebp, eax
je 0x4d971a
jmp 0x4d9d0b
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.004db3a0
mov eax, dword [esp + 0xc]
movzx ecx, byte [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test cl, cl
je 0x4d9404
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 0x4d91f6
cmp ecx, 0x17
je 0x4d8f64
cmp ecx, 0x18
jne 0x4d8e61
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.00482420
mov eax, dword [esp + 0xc]
mov ecx, dword [0x5e37bc]
mov edx, dword [esp + 0x10]
cmp dword [0x5e37b8], eax
je 0x4d8d1b
xor eax, eax
jmp 0x4d8d76
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00403110
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4d8d38
xor eax, eax
jmp 0x4d8d76
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.0044a7c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004de200
movzx eax, byte [esp + 8]
xor eax, 1
test al, al
jne 0x4d8dc0
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.0044a7c0
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.00482010
jmp 0x4dab33
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.00408b20
mov eax, dword [esp + 0xc]
lea ecx, [0x4f3a00]
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], eax
lea eax, [0x518277]
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.004aaad0
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.00482420
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, [0x502ec0]
mov dword [esp], ebp
call fcn.0040b030
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x50d49d]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x609a90]
test ecx, ecx
jne 0x4d8ee7
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x4d8efa
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.0045dbb0
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 0x4dab33
mov dword [esp], ecx
lea edx, [0x53a124]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004d4f10
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x609a90]
test ecx, ecx
jne 0x4d8f57
mov dword [edx + 0x40], eax
jmp 0x4dab33
lea edi, [edx + 0x40]
call fcn.0045dbb0
jmp 0x4dab33
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.00482420
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 0x4d90ef
mov eax, dword [0x5e3344]
cmp dword [eax + 0x140], 0xffffffff
jne 0x4d8fd9
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 0x4d8fe3
mov eax, dword [esp + 0x5c]
shr eax, 2
lea ecx, [eax + eax*2]
mov dword [esp + 0x30], ecx
lea eax, [0x4f7380]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00446f60
mov eax, dword [esp + 0xc]
mov dword [esp + 0xbc], eax
mov ecx, dword [0x5e3344]
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.004d3700
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
test ebx, ebx
je 0x4d90a9
nop
mov ecx, dword [esp + 0x108]
mov ebx, dword [ecx + 0x3c]
test ebx, ebx
jne 0x4dab33
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.004d4f10
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x609a90]
test ecx, ecx
jne 0x4d909c
mov dword [edx + 0x40], eax
jmp 0x4dab33
lea edi, [edx + 0x40]
call fcn.0045dbb0
jmp 0x4dab33
mov edx, dword [esp + 0x30]
cmp edx, ecx
jb 0x4dabc6
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.00481630
jmp 0x4dab33
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.00482420
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, [0x502ec0]
mov dword [esp], ebp
call fcn.0040b030
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x50d49d]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x609a90]
test ecx, ecx
jne 0x4d9179
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x4d918c
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.0045dbb0
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 0x4dab33
mov dword [esp], ecx
lea edx, [0x53a124]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004d4f10
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x609a90]
test ecx, ecx
jne 0x4d91e9
mov dword [edx + 0x40], eax
jmp 0x4dab33
lea edi, [edx + 0x40]
call fcn.0045dbb0
jmp 0x4dab33
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.00481170
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4d92fd
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.0044a7c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00408aa0
mov eax, dword [esp + 8]
nop
movzx ecx, byte [0x5e3b10]
test cl, cl
je 0x4d928e
lea ecx, [0x4f71c0]
mov dword [0x5e3b14], ecx
mov edx, dword [0x609a90]
test edx, edx
jne 0x4d9281
mov dword [0x5e3b18], eax
jmp 0x4d9294
lea edi, [0x5e3b18]
call fcn.0045dbb0
jmp 0x4d9294
lea ecx, [0x4f71c0]
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xe0], eax
mov ecx, dword [esp + 0xdc]
test ecx, ecx
je 0x4d92c4
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4d92ca
or edx, 0x80
jmp 0x4d92ca
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.00481460
jmp 0x4dab33
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.00482420
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, [0x502ec0]
mov dword [esp], ebp
call fcn.0040b030
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x50d49d]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x609a90]
test ecx, ecx
jne 0x4d9387
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x4d939a
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.0045dbb0
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 0x4dab33
mov dword [esp], ecx
lea edx, [0x53a124]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004d4f10
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x609a90]
test ecx, ecx
jne 0x4d93f7
mov dword [edx + 0x40], eax
jmp 0x4dab33
lea edi, [edx + 0x40]
call fcn.0045dbb0
jmp 0x4dab33
movzx eax, byte [esp + 0x124]
test al, al
je 0x4dabae
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.00482420
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.00408b20
mov eax, dword [esp + 0xc]
lea ecx, [0x4f3a00]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4d94c3
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x518384]
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.004aaad0
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 0x4d970f
movzx ebp, byte [esp + 0x124]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4d9699
mov ebp, dword [esp + 0x110]
cmp ebp, 4
jne 0x4d955b
cmp dword [ebx], 0x6c6c756e
je 0x4d9699
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00482420
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.00408b20
mov eax, dword [esp + 0xc]
lea ecx, [0x4f3a00]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4d95f8
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x518384]
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.004aaad0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x4dab33
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004d4f10
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x609a90]
test ecx, ecx
jne 0x4d968c
mov dword [edx + 0x40], eax
jmp 0x4dab33
lea edi, [edx + 0x40]
call fcn.0045dbb0
jmp 0x4dab33
nop
mov ebx, ecx
and ecx, 0x1f
add ecx, 0xffffffec
nop
cmp ecx, 3
ja 0x4dab33
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00482420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00482bf0
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.00481460
jmp 0x4dab33
xchg ebp, eax
cmp al, 0x74
xchg ebp, eax
jne 0x4d9d0b
movzx esi, byte [esp + 0x124]
xchg esi, eax
test al, al
xchg esi, eax
je 0x4d9899
mov edi, dword [esp + 0x110]
cmp edi, 4
jne 0x4d9744
cmp dword [ebx], 0x65757274
je 0x4d98a0
cmp edi, 5
jne 0x4d975b
cmp dword [ebx], 0x736c6166
jne 0x4d975b
cmp byte [ebx + 4], 0x65
je 0x4d98a0
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00482420
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.00408b20
mov eax, dword [esp + 0xc]
lea ecx, [0x4f3a00]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4d97f8
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x518384]
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.004aaad0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x4dab33
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004d4f10
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x609a90]
test ecx, ecx
jne 0x4d988c
mov dword [edx + 0x40], eax
jmp 0x4dab33
lea edi, [edx + 0x40]
call fcn.0045dbb0
jmp 0x4dab33
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 0x4d9cec
cmp ecx, 0x14
je 0x4d9b08
xchg esi, eax
test al, al
xchg esi, eax
je 0x4d9a0f
mov dword [esp], eax
mov dword [esp + 4], edx
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.00482420
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.00408b20
mov eax, dword [esp + 0xc]
lea ecx, [0x4f3a00]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4d996e
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x518384]
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.004aaad0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x4dab33
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004d4f10
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x609a90]
test ecx, ecx
jne 0x4d9a02
mov dword [edx + 0x40], eax
jmp 0x4dab33
lea edi, [edx + 0x40]
call fcn.0045dbb0
jmp 0x4dab33
mov dword [esp], eax
mov dword [esp + 4], edx
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.00482420
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, [0x502ec0]
mov dword [esp], ebp
call fcn.0040b030
mov eax, dword [esp + 4]
mov dword [eax + 4], 4
lea ecx, [0x50d06e]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x609a90]
test ecx, ecx
jne 0x4d9a8b
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x4d9a9e
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.0045dbb0
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 0x4dab33
mov dword [esp], ecx
lea edx, [0x53a124]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004d4f10
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x609a90]
test ecx, ecx
jne 0x4d9afb
mov dword [edx + 0x40], eax
jmp 0x4dab33
lea edi, [edx + 0x40]
call fcn.0045dbb0
jmp 0x4dab33
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.00481170
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4d9be5
movzx ecx, byte [esp + 0x2f]
movzx ecx, cl
lea edx, [0x5d8f40]
lea eax, [edx + ecx*8]
nop
movzx ecx, byte [0x5e3b10]
test cl, cl
je 0x4d9b76
lea ecx, [0x4f64c0]
mov dword [0x5e3b14], ecx
mov edx, dword [0x609a90]
test edx, edx
jne 0x4d9b69
mov dword [0x5e3b18], eax
jmp 0x4d9b7c
lea edi, [0x5e3b18]
call fcn.0045dbb0
jmp 0x4d9b7c
lea ecx, [0x4f64c0]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe8], eax
mov ecx, dword [esp + 0xe4]
test ecx, ecx
je 0x4d9bac
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4d9bb2
or edx, 0x80
jmp 0x4d9bb2
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.00481460
jmp 0x4dab33
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.00482420
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, [0x502ec0]
mov dword [esp], ebp
call fcn.0040b030
mov eax, dword [esp + 4]
mov dword [eax + 4], 4
lea ecx, [0x50d06e]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x609a90]
test ecx, ecx
jne 0x4d9c6f
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x4d9c82
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.0045dbb0
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 0x4dab33
mov dword [esp], ecx
lea edx, [0x53a124]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004d4f10
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x609a90]
test ecx, ecx
jne 0x4d9cdf
mov dword [edx + 0x40], eax
jmp 0x4dab33
lea edi, [edx + 0x40]
call fcn.0045dbb0
jmp 0x4dab33
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.00481570
jmp 0x4dab33
xchg ebp, eax
cmp al, 0x2d
xchg ebp, eax
je 0x4d9e36
add ebp, 0xffffffd0
xchg ebp, eax
cmp al, 9
xchg ebp, eax
jbe 0x4d9e36
movzx ebp, byte [esp + 0x124]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4dab96
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00482420
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.00408b20
mov eax, dword [esp + 0xc]
lea ecx, [0x4f3a00]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4d9dd3
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x518384]
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.004aaad0
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.0044a7c0
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 0x4da3b2
lea ebp, [edx - 2]
cmp ebp, 4
jbe 0x4da0f9
cmp edx, 7
jb 0x4da3c4
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.0046ff60
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
test edx, edx
jne 0x4d9f73
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 0x4da0ca
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.00482420
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, [0x502ec0]
mov dword [esp], ebp
call fcn.0040b030
mov eax, dword [esp + 4]
mov dword [esp + 0xb8], eax
mov dword [esp], 0
lea ecx, [0x50d703]
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.0044a510
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0xb8]
mov dword [edi + 4], ecx
mov ecx, dword [0x609a90]
test ecx, ecx
jne 0x4da026
mov dword [edi], eax
jmp 0x4da02b
call fcn.0045dbb0
mov ecx, dword [esp + 0xc8]
mov dword [edi + 8], ecx
mov ecx, dword [0x609a90]
test ecx, ecx
jne 0x4da04b
mov eax, dword [esp + 0xcc]
mov dword [edi + 0xc], eax
jmp 0x4da060
lea ecx, [edi + 0xc]
mov eax, dword [esp + 0xcc]
mov edx, edi
mov edi, ecx
call fcn.0045dbb0
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 0x4dab33
mov dword [esp], eax
lea ecx, [0x53a124]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.004d4f10
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x609a90]
test ecx, ecx
jne 0x4da0bd
mov dword [edx + 0x40], eax
jmp 0x4dab33
lea edi, [edx + 0x40]
call fcn.0045dbb0
jmp 0x4dab33
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.00481f10
jmp 0x4dab33
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.00470740
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
test edx, edx
jne 0x4da228
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 0x4da37f
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.00482420
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, [0x502ec0]
mov dword [esp], ebp
call fcn.0040b030
mov eax, dword [esp + 4]
mov dword [esp + 0xb8], eax
mov dword [esp], 0
lea ecx, [0x50d703]
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.0044a510
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0xb8]
mov dword [edi + 4], ecx
mov ecx, dword [0x609a90]
test ecx, ecx
jne 0x4da2db
mov dword [edi], eax
jmp 0x4da2e0
call fcn.0045dbb0
mov ecx, dword [esp + 0xc8]
mov dword [edi + 8], ecx
mov ecx, dword [0x609a90]
test ecx, ecx
jne 0x4da300
mov eax, dword [esp + 0xcc]
mov dword [edi + 0xc], eax
jmp 0x4da315
lea ecx, [edi + 0xc]
mov eax, dword [esp + 0xcc]
mov edx, edi
mov edi, ecx
call fcn.0045dbb0
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 0x4dab33
mov dword [esp], eax
lea ecx, [0x53a124]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.004d4f10
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x609a90]
test ecx, ecx
jne 0x4da372
mov dword [edx + 0x40], eax
jmp 0x4dab33
lea edi, [edx + 0x40]
call fcn.0045dbb0
jmp 0x4dab33
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.00481930
jmp 0x4dab33
cmp edx, 0xe
jbe 0x4da91e
cmp edx, 0x14
je 0x4da67f
cmp edx, 0x18
je 0x4da3cd
xor edx, edx
jmp 0x4da42b
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.00482420
mov eax, dword [esp + 0xc]
mov ecx, dword [0x5e37bc]
mov edx, dword [esp + 0x10]
cmp dword [0x5e37b8], eax
je 0x4da405
xor eax, eax
jmp 0x4da41a
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00403110
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 0x4da654
movzx eax, byte [esp + 0x124]
test al, al
je 0x4da551
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.00482420
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.00408b20
mov eax, dword [esp + 0xc]
lea ecx, [0x4f3a00]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4da4ee
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x518384]
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.004aaad0
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.00482420
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, [0x502ec0]
mov dword [esp], ebp
call fcn.0040b030
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x50d473]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x609a90]
test ecx, ecx
jne 0x4da5d7
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x4da5ea
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.0045dbb0
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 0x4dab33
mov dword [esp], ecx
lea edx, [0x53a124]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004d4f10
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x609a90]
test ecx, ecx
jne 0x4da647
mov dword [edx + 0x40], eax
jmp 0x4dab33
lea edi, [edx + 0x40]
call fcn.0045dbb0
jmp 0x4dab33
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.00482010
jmp 0x4dab33
mov edx, dword [esp + 0x108]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004d83d0
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 0x4da706
nop
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x4dab33
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004d4f10
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x609a90]
test ecx, ecx
jne 0x4da6f9
mov dword [edx + 0x40], eax
jmp 0x4dab33
lea edi, [edx + 0x40]
call fcn.0045dbb0
jmp 0x4dab33
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.00481170
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4da817
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x4da7de
nop
movzx ecx, byte [0x5e3b10]
test cl, cl
je 0x4da798
mov ecx, dword [esp + 0xcc]
mov dword [0x5e3b14], ecx
mov edx, dword [0x609a90]
test edx, edx
jne 0x4da784
mov eax, dword [esp + 0xb4]
mov dword [0x5e3b18], eax
jmp 0x4da7a6
lea edi, [0x5e3b18]
mov eax, dword [esp + 0xb4]
call fcn.0045dbb0
jmp 0x4da7a6
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 0x4da7d6
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4da7e4
or edx, 0x80
jmp 0x4da7e4
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x4da7e4
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.00481460
jmp 0x4dab33
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.00482420
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, [0x502ec0]
mov dword [esp], ebp
call fcn.0040b030
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x50d473]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x609a90]
test ecx, ecx
jne 0x4da8a1
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x4da8b4
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.0045dbb0
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 0x4dab33
mov dword [esp], ecx
lea edx, [0x53a124]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004d4f10
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x609a90]
test ecx, ecx
jne 0x4da911
mov dword [edx + 0x40], eax
jmp 0x4dab33
lea edi, [edx + 0x40]
call fcn.0045dbb0
jmp 0x4dab33
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.00482420
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.0046f8c0
movsd xmm0, qword [esp + 0xc]
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4da9c4
mov eax, dword [esp + 0x64]
cmp eax, 0xd
jne 0x4dab11
nop
xorps xmm1, xmm1
ucomisd xmm1, xmm0
jbe 0x4da9a0
movsd xmm1, qword [0x539cb8]
pxor xmm0, xmm1
movsd xmm1, qword [0x539ca0]
ucomisd xmm0, xmm1
jbe 0x4dab11
movsd xmm1, qword [0x539ca8]
ucomisd xmm1, xmm0
jb 0x4dab11
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.00482420
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, [0x502ec0]
mov dword [esp], ebp
call fcn.0040b030
mov eax, dword [esp + 4]
mov dword [esp + 0xb8], eax
mov dword [esp], 0
lea ecx, [0x50d703]
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.0044a510
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0xb8]
mov dword [edi + 4], ecx
mov ecx, dword [0x609a90]
test ecx, ecx
jne 0x4daa77
mov dword [edi], eax
jmp 0x4daa7c
call fcn.0045dbb0
mov ecx, dword [esp + 0xc8]
mov dword [edi + 8], ecx
mov ecx, dword [0x609a90]
test ecx, ecx
jne 0x4daa9c
mov eax, dword [esp + 0xcc]
mov dword [edi + 0xc], eax
jmp 0x4daab1
lea ecx, [edi + 0xc]
mov eax, dword [esp + 0xcc]
mov edx, edi
mov edi, ecx
call fcn.0045dbb0
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 0x4dab33
mov dword [esp], eax
lea ecx, [0x53a124]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.004d4f10
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x609a90]
test ecx, ecx
jne 0x4dab07
mov dword [edx + 0x40], eax
jmp 0x4dab33
lea edi, [edx + 0x40]
call fcn.0045dbb0
jmp 0x4dab33
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.00481870
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, [0x4f71c0]
mov dword [esp], eax
lea eax, [0x539d60]
mov dword [esp + 4], eax
call fcn.00433300
lea eax, [0x4f71c0]
mov dword [esp], eax
lea eax, [0x539d60]
mov dword [esp + 4], eax
call fcn.00433300
call fcn.0045dc70
lea eax, [0x4f71c0]
mov dword [esp], eax
lea eax, [0x539d60]
mov dword [esp + 4], eax
call fcn.00433300
nop
call fcn.0045c7a0
jmp fcn.004d85a0