Function at 0x4b3f00
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 0x4b6524
sub esp, 0x104
mov eax, dword [esp + 0x110]
test eax, eax
jne 0x4b4096
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.0047c890
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.00408a30
mov eax, dword [esp + 0xc]
lea ecx, [0x4d4400]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4b3fe4
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x4f1547]
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.004a5600
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x4b4079
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004b0880
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e83b0]
test ecx, ecx
jne 0x4b4071
mov dword [edx + 0x40], eax
jmp 0x4b4079
lea edi, [edx + 0x40]
call fcn.00459fb0
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.004b0f60
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x28]
test eax, eax
jne 0x4b6490
test edx, edx
je 0x4b459d
mov eax, dword [esp + 0x10c]
movzx ecx, byte [eax]
cmp cl, 0x22
je 0x4b43fa
movzx edx, byte [esp + 0x124]
test dl, dl
jne 0x4b4296
cmp cl, 0x66
je 0x4b413d
cmp cl, 0x6e
jne 0x4b4138
lea eax, [0x4e6838]
mov ecx, 4
jmp 0x4b4155
cmp cl, 0x74
jne 0x4b414a
lea eax, [0x4e67ec]
mov ecx, 4
jmp 0x4b4155
lea eax, [0x4e6bd0]
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.0047c890
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, [0x4df120]
mov dword [esp], ebp
call fcn.0040af50
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x34]
mov dword [edi + 4], eax
mov eax, dword [0x7e83b0]
test eax, eax
jne 0x4b41da
mov ecx, dword [esp + 0xa4]
mov dword [edi], ecx
jmp 0x4b41e6
mov eax, dword [esp + 0xa4]
call fcn.00459fb0
mov ecx, dword [esp + 0xc8]
mov dword [edi + 8], ecx
mov ecx, dword [0x7e83b0]
test ecx, ecx
jne 0x4b4206
mov eax, dword [esp + 0xcc]
mov dword [edi + 0xc], eax
jmp 0x4b421b
lea ecx, [edi + 0xc]
mov eax, dword [esp + 0xcc]
mov edx, edi
mov edi, ecx
call fcn.00459fb0
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 0x4b4279
mov dword [esp], eax
lea ecx, [0x50f8d0]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.004b0880
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e83b0]
test ecx, ecx
jne 0x4b4271
mov dword [edx + 0x40], eax
jmp 0x4b4279
lea edi, [edx + 0x40]
call fcn.00459fb0
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.0047c890
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.00408a30
mov eax, dword [esp + 0xc]
lea ecx, [0x4d4400]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4b4348
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x4f1547]
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.004a5600
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x4b43dd
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004b0880
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e83b0]
test ecx, ecx
jne 0x4b43d5
mov dword [edx + 0x40], eax
jmp 0x4b43dd
lea edi, [edx + 0x40]
call fcn.00459fb0
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0x104
ret
mov dword [esp + 0xa8], ebx
mov dword [esp + 0x38], edx
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.004b6ce0
movzx eax, byte [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test al, al
jne 0x4b4561
movzx eax, byte [esp + 0x124]
test al, al
je 0x4b650b
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.0047c890
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.00408a30
mov eax, dword [esp + 0xc]
lea ecx, [0x4d4400]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4b44fe
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x4f1547]
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.004a5600
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], ebp
mov dword [esp + 0xc0], esi
mov dword [esp + 0x60], edi
mov eax, dword [esp + 0x10c]
movzx ecx, byte [eax]
cmp cl, 0x66
ja 0x4b4e80
cmp cl, 0x22
je 0x4b45d5
cmp cl, 0x66
je 0x4b506e
jmp 0x4b5651
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.004b6ce0
movzx eax, byte [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x14]
test al, al
je 0x4b4d5e
mov dword [esp + 0x5c], ecx
mov dword [esp + 0xb0], edx
nop
nop
mov eax, dword [esp + 0x60]
mov ebp, eax
and eax, 0x1f
cmp eax, 0x14
je 0x4b4b50
cmp eax, 0x17
je 0x4b48be
cmp eax, 0x18
jne 0x4b47bb
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.0047c890
mov eax, dword [esp + 0xc]
mov ecx, dword [0x7c24b4]
mov edx, dword [esp + 0x10]
cmp dword [0x7c24b0], eax
je 0x4b4675
xor eax, eax
jmp 0x4b46d0
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00403220
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4b4692
xor eax, eax
jmp 0x4b46d0
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.00447480
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004b97f0
movzx eax, byte [esp + 8]
xor eax, 1
test al, al
jne 0x4b471a
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.00447480
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.0047c480
jmp 0x4b6473
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.00408a30
mov eax, dword [esp + 0xc]
lea ecx, [0x4d4400]
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], eax
lea eax, [0x4f143a]
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.004a5600
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.0047c890
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, [0x4df120]
mov dword [esp], ebp
call fcn.0040af50
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x4e6c00]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e83b0]
test ecx, ecx
jne 0x4b4841
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x4b4854
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.00459fb0
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 0x4b6473
mov dword [esp], ecx
lea edx, [0x50f8d0]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004b0880
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e83b0]
test ecx, ecx
jne 0x4b48b1
mov dword [edx + 0x40], eax
jmp 0x4b6473
lea edi, [edx + 0x40]
call fcn.00459fb0
jmp 0x4b6473
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.0047c890
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 0x4b4a49
mov eax, dword [0x7c2018]
cmp dword [eax + 0x140], 0xffffffff
jne 0x4b4933
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 0x4b493d
mov eax, dword [esp + 0x5c]
shr eax, 2
lea ecx, [eax + eax*2]
mov dword [esp + 0x30], ecx
lea eax, [0x4d7300]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00443dd0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xbc], eax
mov ecx, dword [0x7c2018]
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.00480e20
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
test eax, eax
je 0x4b4a03
nop
mov eax, dword [esp + 0x108]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x4b6473
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.004b0880
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e83b0]
test ecx, ecx
jne 0x4b49f6
mov dword [edx + 0x40], eax
jmp 0x4b6473
lea edi, [edx + 0x40]
call fcn.00459fb0
jmp 0x4b6473
mov edx, dword [esp + 0x30]
cmp edx, ecx
jb 0x4b6506
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.0047bc30
jmp 0x4b6473
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.0047c890
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, [0x4df120]
mov dword [esp], ebp
call fcn.0040af50
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x4e6c00]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e83b0]
test ecx, ecx
jne 0x4b4ad3
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x4b4ae6
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.00459fb0
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 0x4b6473
mov dword [esp], ecx
lea edx, [0x50f8d0]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004b0880
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e83b0]
test ecx, ecx
jne 0x4b4b43
mov dword [edx + 0x40], eax
jmp 0x4b6473
lea edi, [edx + 0x40]
call fcn.00459fb0
jmp 0x4b6473
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.0047b7a0
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4b4c57
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.00447480
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004089b0
mov eax, dword [esp + 8]
nop
movzx ecx, byte [0x7c26b8]
test cl, cl
je 0x4b4be8
lea ecx, [0x4d7140]
mov dword [0x7c26bc], ecx
mov edx, dword [0x7e83b0]
test edx, edx
jne 0x4b4bdb
mov dword [0x7c26c0], eax
jmp 0x4b4bee
lea edi, [0x7c26c0]
call fcn.00459fb0
jmp 0x4b4bee
lea ecx, [0x4d7140]
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], eax
mov ecx, dword [esp + 0xd4]
test ecx, ecx
je 0x4b4c1e
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4b4c24
or edx, 0x80
jmp 0x4b4c24
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.0047ba60
jmp 0x4b6473
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.0047c890
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, [0x4df120]
mov dword [esp], ebp
call fcn.0040af50
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x4e6c00]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e83b0]
test ecx, ecx
jne 0x4b4ce1
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x4b4cf4
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.00459fb0
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 0x4b6473
mov dword [esp], ecx
lea edx, [0x50f8d0]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004b0880
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e83b0]
test ecx, ecx
jne 0x4b4d51
mov dword [edx + 0x40], eax
jmp 0x4b6473
lea edi, [edx + 0x40]
call fcn.00459fb0
jmp 0x4b6473
movzx eax, byte [esp + 0x124]
test al, al
je 0x4b64ee
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.0047c890
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.00408a30
mov eax, dword [esp + 0xc]
lea ecx, [0x4d4400]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4b4e1d
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x4f1547]
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.004a5600
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], ecx
add esp, 0x104
ret
cmp cl, 0x6e
jne 0x4b5065
movzx ecx, byte [esp + 0x124]
test cl, cl
je 0x4b4fef
mov ecx, dword [esp + 0x110]
cmp ecx, 4
jne 0x4b4eb1
cmp dword [eax], 0x6c6c756e
je 0x4b4fef
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
call fcn.0047c890
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.00408a30
mov eax, dword [esp + 0xc]
lea ecx, [0x4d4400]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4b4f4e
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x4f1547]
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.004a5600
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x4b6473
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004b0880
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e83b0]
test ecx, ecx
jne 0x4b4fe2
mov dword [edx + 0x40], eax
jmp 0x4b6473
lea edi, [edx + 0x40]
call fcn.00459fb0
jmp 0x4b6473
nop
mov eax, edi
and edi, 0x1f
lea ecx, [edi - 0x14]
nop
cmp ecx, 3
ja 0x4b6473
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.0047c890
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0047d060
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.0047ba60
jmp 0x4b6473
cmp cl, 0x74
jne 0x4b5651
movzx edx, byte [esp + 0x124]
test dl, dl
je 0x4b51eb
mov ebx, dword [esp + 0x110]
cmp ebx, 4
jne 0x4b5096
cmp dword [eax], 0x65757274
je 0x4b51f2
cmp ebx, 5
jne 0x4b50ad
cmp dword [eax], 0x736c6166
jne 0x4b50ad
cmp byte [eax + 4], 0x65
je 0x4b51f2
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
call fcn.0047c890
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.00408a30
mov eax, dword [esp + 0xc]
lea ecx, [0x4d4400]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4b514a
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x4f1547]
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.004a5600
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x4b6473
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004b0880
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e83b0]
test ecx, ecx
jne 0x4b51de
mov dword [edx + 0x40], eax
jmp 0x4b6473
lea edi, [edx + 0x40]
call fcn.00459fb0
jmp 0x4b6473
mov ebx, dword [esp + 0x110]
cmp cl, 0x74
sete cl
nop
nop
and edi, 0x1f
cmp edi, 1
je 0x4b5634
cmp edi, 0x14
je 0x4b5452
test dl, dl
je 0x4b5359
mov dword [esp], esi
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.0047c890
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.00408a30
mov eax, dword [esp + 0xc]
lea ecx, [0x4d4400]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4b52b8
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x4f1547]
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.004a5600
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x4b6473
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004b0880
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e83b0]
test ecx, ecx
jne 0x4b534c
mov dword [edx + 0x40], eax
jmp 0x4b6473
lea edi, [edx + 0x40]
call fcn.00459fb0
jmp 0x4b6473
mov dword [esp], esi
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.0047c890
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, [0x4df120]
mov dword [esp], ebp
call fcn.0040af50
mov eax, dword [esp + 4]
mov dword [eax + 4], 4
lea ecx, [0x4e67ec]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e83b0]
test ecx, ecx
jne 0x4b53d5
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x4b53e8
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.00459fb0
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 0x4b6473
mov dword [esp], ecx
lea edx, [0x50f8d0]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004b0880
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e83b0]
test ecx, ecx
jne 0x4b5445
mov dword [edx + 0x40], eax
jmp 0x4b6473
lea edi, [edx + 0x40]
call fcn.00459fb0
jmp 0x4b6473
mov byte [esp + 0x2f], cl
mov dword [esp], esi
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.0047b7a0
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4b552d
movzx ecx, byte [esp + 0x2f]
movzx ecx, cl
lea edx, [0x595c60]
lea eax, [edx + ecx*8]
nop
movzx ecx, byte [0x7c26b8]
test cl, cl
je 0x4b54be
lea ecx, [0x4d6380]
mov dword [0x7c26bc], ecx
mov edx, dword [0x7e83b0]
test edx, edx
jne 0x4b54b1
mov dword [0x7c26c0], eax
jmp 0x4b54c4
lea edi, [0x7c26c0]
call fcn.00459fb0
jmp 0x4b54c4
lea ecx, [0x4d6380]
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xe0], eax
mov ecx, dword [esp + 0xdc]
test ecx, ecx
je 0x4b54f4
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4b54fa
or edx, 0x80
jmp 0x4b54fa
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.0047ba60
jmp 0x4b6473
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.0047c890
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, [0x4df120]
mov dword [esp], ebp
call fcn.0040af50
mov eax, dword [esp + 4]
mov dword [eax + 4], 4
lea ecx, [0x4e67ec]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e83b0]
test ecx, ecx
jne 0x4b55b7
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x4b55ca
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.00459fb0
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 0x4b6473
mov dword [esp], ecx
lea edx, [0x50f8d0]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004b0880
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e83b0]
test ecx, ecx
jne 0x4b5627
mov dword [edx + 0x40], eax
jmp 0x4b6473
lea edi, [edx + 0x40]
call fcn.00459fb0
jmp 0x4b6473
mov dword [esp], esi
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
mov byte [esp + 0xc], cl
call fcn.0047bb70
jmp 0x4b6473
cmp cl, 0x2d
je 0x4b5776
add ecx, 0xffffffd0
cmp cl, 9
jbe 0x4b5776
movzx ecx, byte [esp + 0x124]
test cl, cl
je 0x4b64d6
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
call fcn.0047c890
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.00408a30
mov eax, dword [esp + 0xc]
lea ecx, [0x4d4400]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4b5713
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x4f1547]
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.004a5600
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], eax
mov ecx, dword [esp + 0x110]
mov dword [esp + 8], ecx
call fcn.00447480
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 0x4b5cf2
lea ebp, [edx - 2]
cmp ebp, 4
jbe 0x4b5a39
cmp edx, 7
jb 0x4b5d04
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.00465d50
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x4b58b3
mov dword [esp + 0x54], edx
mov dword [esp + 0x4c], ecx
mov eax, dword [esp + 0xc0]
mov ebx, dword [eax]
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 eax, eax
mov dword [esp + 0x70], eax
cmp ebx, 0x20
sbb eax, eax
mov ecx, edi
mov ebp, dword [esp + 0x4c]
shl ebp, cl
and ebp, esi
mov ecx, ebx
shl edx, cl
and edx, eax
mov ecx, dword [esp + 0x74]
mov esi, dword [esp + 0x4c]
shr esi, cl
mov edi, dword [esp + 0x70]
and esi, edi
or edx, esi
or edx, ebp
mov ebp, ecx
mov ecx, ebx
mov esi, dword [esp + 0x4c]
shl esi, cl
and esi, eax
shr esi, cl
and esi, eax
mov ecx, ebp
mov ebp, edx
shl edx, cl
and edx, edi
or esi, edx
mov ecx, dword [esp + 0x7c]
mov edx, ebp
shr ebp, cl
mov edi, dword [esp + 0x78]
and ebp, edi
or esi, ebp
mov ebp, dword [esp + 0x4c]
cmp ebp, esi
xchg esi, ebx
setne bl
xchg esi, ebx
mov ecx, ebx
shr edx, cl
and edx, eax
mov eax, dword [esp + 0x54]
cmp eax, edx
setne dl
or edx, esi
test dl, dl
je 0x4b5a0a
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.0047c890
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, [0x4df120]
mov dword [esp], ebp
call fcn.0040af50
mov eax, dword [esp + 4]
mov dword [esp + 0xb8], eax
mov dword [esp], 0
lea ecx, [0x4e6e0c]
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.004471d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0xb8]
mov dword [edi + 4], ecx
mov ecx, dword [0x7e83b0]
test ecx, ecx
jne 0x4b5966
mov dword [edi], eax
jmp 0x4b596b
call fcn.00459fb0
mov ecx, dword [esp + 0xc8]
mov dword [edi + 8], ecx
mov ecx, dword [0x7e83b0]
test ecx, ecx
jne 0x4b598b
mov eax, dword [esp + 0xcc]
mov dword [edi + 0xc], eax
jmp 0x4b59a0
lea ecx, [edi + 0xc]
mov eax, dword [esp + 0xcc]
mov edx, edi
mov edi, ecx
call fcn.00459fb0
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 0x4b6473
mov dword [esp], eax
lea ecx, [0x50f8d0]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.004b0880
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e83b0]
test ecx, ecx
jne 0x4b59fd
mov dword [edx + 0x40], eax
jmp 0x4b6473
lea edi, [edx + 0x40]
call fcn.00459fb0
jmp 0x4b6473
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 dword [esp + 0x10], eax
mov dword [esp + 0xc], ebp
call fcn.0047c380
jmp 0x4b6473
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.00466530
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
test eax, eax
jne 0x4b5b68
mov dword [esp + 0x50], edx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x58], ebx
mov eax, dword [esp + 0xc0]
mov ebp, dword [eax]
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 edx, edx
mov dword [esp + 0x74], edx
xchg esi, ebx
neg ebx
xchg esi, ebx
cmp esi, 0x20
sbb eax, eax
mov dword [esp + 0x70], eax
shr ebp, 5
cmp ebp, 1
sbb ebp, ebp
mov dword [esp + 0x68], ebp
mov ebp, dword [esp + 0x6c]
cmp ebp, 0x20
sbb eax, eax
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x48]
shl eax, cl
and eax, edi
mov ecx, ebp
shl ebx, cl
and ebx, edx
mov ecx, esi
mov edi, dword [esp + 0x48]
shr edi, cl
mov esi, dword [esp + 0x70]
and edi, esi
or ebx, edi
or ebx, eax
mov eax, ecx
mov ecx, ebp
mov edi, dword [esp + 0x48]
shl edi, cl
and edi, edx
mov edx, dword [esp + 0x78]
not edx
mov ebp, dword [esp + 0x7c]
or edx, ebp
mov ebp, ecx
mov ecx, edx
mov edx, ebx
sar ebx, cl
mov ecx, ebp
mov ebp, dword [esp + 0x68]
xor ebp, 0xffffffff
and ebp, ebx
mov ebx, ecx
mov ecx, eax
mov eax, edx
shl edx, cl
and edx, esi
mov ecx, ebx
shr edi, cl
mov esi, dword [esp + 0x74]
and edi, esi
or edi, edx
or ebp, edi
mov edx, dword [esp + 0x48]
cmp edx, 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 eax, cl
mov ebx, dword [esp + 0x58]
cmp ebx, eax
setne al
or eax, ebp
test al, al
je 0x4b5cbf
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.0047c890
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, [0x4df120]
mov dword [esp], ebp
call fcn.0040af50
mov eax, dword [esp + 4]
mov dword [esp + 0xb8], eax
mov dword [esp], 0
lea ecx, [0x4e6e0c]
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.004471d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0xb8]
mov dword [edi + 4], ecx
mov ecx, dword [0x7e83b0]
test ecx, ecx
jne 0x4b5c1b
mov dword [edi], eax
jmp 0x4b5c20
call fcn.00459fb0
mov ecx, dword [esp + 0xc8]
mov dword [edi + 8], ecx
mov ecx, dword [0x7e83b0]
test ecx, ecx
jne 0x4b5c40
mov eax, dword [esp + 0xcc]
mov dword [edi + 0xc], eax
jmp 0x4b5c55
lea ecx, [edi + 0xc]
mov eax, dword [esp + 0xcc]
mov edx, edi
mov edi, ecx
call fcn.00459fb0
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 0x4b6473
mov dword [esp], eax
lea ecx, [0x50f8d0]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.004b0880
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e83b0]
test ecx, ecx
jne 0x4b5cb2
mov dword [edx + 0x40], eax
jmp 0x4b6473
lea edi, [edx + 0x40]
call fcn.00459fb0
jmp 0x4b6473
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 + 0x50]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
call fcn.0047bf30
jmp 0x4b6473
cmp edx, 0xe
jbe 0x4b625e
cmp edx, 0x14
je 0x4b5fbf
cmp edx, 0x18
je 0x4b5d0d
xor edx, edx
jmp 0x4b5d6b
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.0047c890
mov eax, dword [esp + 0xc]
mov ecx, dword [0x7c24b4]
mov edx, dword [esp + 0x10]
cmp dword [0x7c24b0], eax
je 0x4b5d45
xor eax, eax
jmp 0x4b5d5a
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00403220
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 0x4b5f94
movzx eax, byte [esp + 0x124]
test al, al
je 0x4b5e91
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.0047c890
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.00408a30
mov eax, dword [esp + 0xc]
lea ecx, [0x4d4400]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4b5e2e
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x4f1547]
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.004a5600
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.0047c890
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, [0x4df120]
mov dword [esp], ebp
call fcn.0040af50
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x4e6bd0]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e83b0]
test ecx, ecx
jne 0x4b5f17
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x4b5f2a
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.00459fb0
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 0x4b6473
mov dword [esp], ecx
lea edx, [0x50f8d0]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004b0880
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e83b0]
test ecx, ecx
jne 0x4b5f87
mov dword [edx + 0x40], eax
jmp 0x4b6473
lea edi, [edx + 0x40]
call fcn.00459fb0
jmp 0x4b6473
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.0047c480
jmp 0x4b6473
mov edx, dword [esp + 0x108]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004b3d30
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
test eax, eax
je 0x4b6046
nop
mov eax, dword [esp + 0x108]
mov ebx, dword [eax + 0x3c]
test ebx, ebx
jne 0x4b6473
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004b0880
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e83b0]
test ecx, ecx
jne 0x4b6039
mov dword [edx + 0x40], eax
jmp 0x4b6473
lea edi, [edx + 0x40]
call fcn.00459fb0
jmp 0x4b6473
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.0047b7a0
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4b6157
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x4b611e
nop
movzx ecx, byte [0x7c26b8]
test cl, cl
je 0x4b60d8
mov ecx, dword [esp + 0xcc]
mov dword [0x7c26bc], ecx
mov edx, dword [0x7e83b0]
test edx, edx
jne 0x4b60c4
mov eax, dword [esp + 0xb4]
mov dword [0x7c26c0], eax
jmp 0x4b60e6
lea edi, [0x7c26c0]
mov eax, dword [esp + 0xb4]
call fcn.00459fb0
jmp 0x4b60e6
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe8], eax
mov ecx, dword [esp + 0xe4]
test ecx, ecx
je 0x4b6116
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4b6124
or edx, 0x80
jmp 0x4b6124
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x4b6124
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.0047ba60
jmp 0x4b6473
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.0047c890
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, [0x4df120]
mov dword [esp], ebp
call fcn.0040af50
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x4e6bd0]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e83b0]
test ecx, ecx
jne 0x4b61e1
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x4b61f4
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.00459fb0
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 0x4b6473
mov dword [esp], ecx
lea edx, [0x50f8d0]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004b0880
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e83b0]
test ecx, ecx
jne 0x4b6251
mov dword [edx + 0x40], eax
jmp 0x4b6473
lea edi, [edx + 0x40]
call fcn.00459fb0
jmp 0x4b6473
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.0047c890
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.004656c0
movsd xmm0, qword [esp + 0xc]
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4b6304
mov eax, dword [esp + 0x64]
cmp eax, 0xd
jne 0x4b6451
nop
xorps xmm1, xmm1
ucomisd xmm1, xmm0
jbe 0x4b62e0
movsd xmm1, qword [0x50ecdc]
pxor xmm0, xmm1
movsd xmm1, qword [0x50ecc4]
ucomisd xmm0, xmm1
jbe 0x4b6451
movsd xmm1, qword [0x50eccc]
ucomisd xmm1, xmm0
jb 0x4b6451
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.0047c890
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, [0x4df120]
mov dword [esp], ebp
call fcn.0040af50
mov eax, dword [esp + 4]
mov dword [esp + 0xb8], eax
mov dword [esp], 0
lea ecx, [0x4e6e0c]
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.004471d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0xb8]
mov dword [edi + 4], ecx
mov ecx, dword [0x7e83b0]
test ecx, ecx
jne 0x4b63b7
mov dword [edi], eax
jmp 0x4b63bc
call fcn.00459fb0
mov ecx, dword [esp + 0xc8]
mov dword [edi + 8], ecx
mov ecx, dword [0x7e83b0]
test ecx, ecx
jne 0x4b63dc
mov eax, dword [esp + 0xcc]
mov dword [edi + 0xc], eax
jmp 0x4b63f1
lea ecx, [edi + 0xc]
mov eax, dword [esp + 0xcc]
mov edx, edi
mov edi, ecx
call fcn.00459fb0
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 0x4b6473
mov dword [esp], eax
lea ecx, [0x50f8d0]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.004b0880
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e83b0]
test ecx, ecx
jne 0x4b6447
mov dword [edx + 0x40], eax
jmp 0x4b6473
lea edi, [edx + 0x40]
call fcn.00459fb0
jmp 0x4b6473
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.0047be70
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0x104
ret
mov eax, dword [eax + 0x10]
mov dword [esp], ecx
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, [0x4d7140]
mov dword [esp], eax
lea eax, [0x50ed1c]
mov dword [esp + 4], eax
call fcn.004319f0
lea eax, [0x4d7140]
mov dword [esp], eax
lea eax, [0x50ed1c]
mov dword [esp + 4], eax
call fcn.004319f0
call fcn.0045a070
lea eax, [0x4d7140]
mov dword [esp], eax
lea eax, [0x50ed1c]
mov dword [esp + 4], eax
call fcn.004319f0
nop
call fcn.00458b70
jmp fcn.004b3f00