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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xf0]
cmp eax, dword [ecx + 8]
jbe 0x60b2d2
sub esp, 0x170
mov eax, 0
lea edi, [esp + 0x128]
call fcn.0044ca8a
mov eax, dword [esp + 0x178]
mov dword [esp], eax
mov ecx, dword [esp + 0x17c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x180]
mov dword [esp + 8], edx
mov byte [esp + 0xc], 0
call fcn.00608500
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
test edx, edx
jne 0x60b195
test eax, eax
jne 0x60b08f
mov dword [esp + 0xac], ebx
mov dword [esp + 0x11c], ebp
mov dword [esp + 0x118], esi
mov eax, ebx
and ebx, 0x1f
mov dword [esp + 0xa8], ebx
cmp ebx, 0x14
je 0x60af51
cmp ebx, 0x15
je 0x60ac92
cmp ebx, 0x19
jne 0x60aba1
xor ecx, ecx
xor edx, edx
xor edi, edi
jmp 0x609b28
mov eax, dword [esp + 0x78]
lea esi, [eax + 1]
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
mov ebp, dword [esp + 0xec]
mov edi, dword [esp + 0x7c]
mov eax, edi
mov edx, dword [esp + 0x68]
mov edi, ebx
mov ebx, dword [esp + 0x64]
cmp esi, eax
jge 0x60aa61
jae 0x60b2bd
mov dword [esp + 0x78], esi
mov dword [esp + 0xfc], edi
imul eax, esi, 0x34
mov dword [esp + 0xa0], eax
mov edi, dword [ecx + eax + 0x10]
mov esi, dword [ecx + eax + 8]
mov eax, dword [ecx + eax + 0xc]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], edx
call fcn.004021c0
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xf4]
lea edx, [ecx + eax]
movzx ebx, byte [esp + 0x18]
test bl, bl
jne 0x609607
mov ebx, dword [esp + 0xfc]
test ebx, ebx
jne 0x6094fd
mov dword [esp + 0xf8], edx
mov edx, dword [ecx + eax + 0x14]
mov ebx, dword [ecx + eax + 0x10]
mov ebp, dword [ecx + eax + 0xc]
mov eax, dword [ecx + eax + 8]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov eax, dword [esp + 0xec]
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x10], ebx
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x14], ebp
mov esi, dword [edx]
call esi
movzx eax, byte [esp + 0x18]
test al, al
je 0x6095f4
mov ecx, dword [esp + 0xf4]
mov ebx, dword [esp + 0xf8]
jmp 0x6094fd
mov ecx, dword [esp + 0xf4]
mov ebx, dword [esp + 0xfc]
jmp 0x6094fd
test edx, edx
je 0x60a97e
mov dword [esp + 0x114], edx
movzx ecx, byte [edx + 0x31]
mov byte [esp + 0x2f], cl
mov ebx, dword [edx + 0x1c]
mov dword [esp + 0x110], ebx
mov ebp, dword [edx + 0x20]
mov dword [esp + 0xa0], ebp
mov esi, dword [esp + 0xac]
mov eax, dword [esp + 0x11c]
mov edi, dword [esp + 0x118]
mov dword [esp + 0xb0], eax
xor eax, eax
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xb0]
jmp 0x6096bd
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0xc], eax
call fcn.004a4890
mov eax, dword [esp + 0x9c]
inc eax
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x110]
mov ebx, dword [esp + 0xa0]
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x110]
mov ebp, dword [esp + 0xa0]
mov dword [esp + 0x9c], eax
mov eax, ecx
movzx ecx, byte [esp + 0x2f]
mov edx, dword [esp + 0x9c]
cmp edx, ebp
jge 0x60a96e
mov dword [esp + 0x44], esi
mov ecx, dword [ebx + edx*4]
mov dword [esp + 0x74], ecx
and esi, 0x1f
cmp esi, 0x16
jne 0x60a961
lea ebx, [esi - 0x15]
cmp ebx, 1
ja 0x60a91a
mov ebx, dword [esp + 0x44]
test ebx, 0x200
je 0x60971c
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.004a4710
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
jmp 0x609660
test ebx, 0x80
je 0x60a913
mov esi, dword [eax]
test esi, esi
xchg esi, ebx
setne bl
xchg esi, ebx
xor esi, 1
xchg esi, eax
test al, al
xchg esi, eax
je 0x6096fb
mov esi, ebx
and ebx, 0x160
cmp ebx, 0x100
jne 0x6097e3
mov dword [esp + 0xc0], eax
mov dword [esp + 0xb8], edi
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.004a7b40
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 + 8]
mov ecx, dword [esp + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004a8c80
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0xb8]
mov dword [esp], ebx
mov ebp, dword [esp + 0xc0]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x44]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.004a6ad0
mov eax, dword [esp + 0xc0]
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0xb8]
jmp 0x6096fb
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.004a7b40
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 + 8]
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x609812
mov ecx, dword [ecx + 4]
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0
mov dword [esp + 0x150], ecx
mov dword [esp + 0x154], eax
lea eax, [0x84ea79]
mov dword [esp], eax
mov dword [esp + 4], 0x3a
lea ecx, [esp + 0x150]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004b4cd0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x174]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00607ef0
xor eax, eax
xor ecx, ecx
xor edx, edx
xor ebx, ebx
mov dword [esp + 0x50], ecx
mov dword [esp + 0xd4], edx
mov dword [esp + 0xd0], ebx
mov byte [esp + 0x2f], al
mov ebp, dword [esp + 0x114]
mov esi, dword [ebp]
mov ebp, dword [ebp + 4]
mov ecx, dword [esp + 0x174]
mov dword [ecx + 0x44], ebp
mov ebp, dword [0xb92b90]
test ebp, ebp
jne 0x60a902
mov dword [ecx + 0x40], esi
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xac]
mov dword [esp + 8], edx
call fcn.004a7b40
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x60]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x174]
mov dword [edx + 0x3c], eax
mov eax, dword [0xb92b90]
test eax, eax
jne 0x60a8f3
mov dword [edx + 0x38], ecx
movzx eax, byte [esp + 0x2f]
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0xd0]
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0xc4]
mov esi, dword [esp + 0xbc]
mov dword [esp + 0xe0], esi
mov esi, dword [esp + 0x40]
mov dword [esp + 0x5c], esi
mov dword [esp + 0xe4], edi
mov dword [esp + 0x50], ecx
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd0], ebp
mov byte [esp + 0x2f], al
mov esi, dword [edx + 0x10]
cmp esi, 9
je 0x60a8b9
mov esi, dword [edx + 0x10]
cmp esi, 3
jne 0x60a898
mov dword [esp], edx
mov dword [esp + 4], 9
call fcn.00608150
movzx eax, byte [esp + 0x2f]
test al, al
je 0x60a83b
mov eax, dword [esp + 0x174]
mov dword [esp], eax
call fcn.006083d0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
test ebx, ebx
jne 0x60a826
test eax, eax
je 0x60a7a6
mov edx, dword [eax + 8]
cmp edx, 0xe0ff5cb4
jne 0x609a01
lea edx, [0x7b48a0]
cmp edx, eax
jne 0x60a797
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
je 0x60a709
mov eax, dword [esp + 0xd0]
mov dword [esp], eax
mov ecx, dword [esp + 0xd4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x50]
mov dword [esp + 8], edx
call fcn.004a7b40
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x609a32
mov ecx, dword [ecx + 4]
mov dword [esp + 0x140], 0
mov dword [esp + 0x144], 0
mov dword [esp + 0x140], ecx
mov dword [esp + 0x144], eax
lea eax, [0x850fe7]
mov dword [esp], eax
mov dword [esp + 4], 0x53
lea ecx, [esp + 0x140]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004b4cd0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x174]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00607ef0
mov eax, dword [esp + 0xa8]
cmp eax, 0x15
je 0x609d02
mov ecx, dword [esp + 0x174]
mov edx, dword [ecx + 0x10]
cmp edx, 9
je 0x609cdf
mov edx, dword [ecx + 0x10]
cmp edx, 5
je 0x609cc2
cmp edx, 4
jne 0x609ca1
mov dword [ecx + 0x3c], 0
mov edx, dword [0xb92b90]
test edx, edx
jne 0x609c8e
mov dword [ecx + 0x38], 0
mov dword [ecx + 0x44], 0
mov edx, dword [0xb92b90]
test edx, edx
jne 0x609c7b
mov dword [ecx + 0x40], 0
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0xe4]
mov edi, dword [esp + 0xe0]
mov dword [esp + 0x40], ecx
mov dword [esp + 0xc4], edx
mov dword [esp + 0xbc], edi
mov eax, dword [esp + 0x174]
mov dword [esp], eax
mov dword [esp + 4], 9
call fcn.00608150
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x10]
cmp ecx, 5
je 0x609cc2
cmp ecx, 1
jne 0x60ab80
mov ecx, dword [eax + 0xc]
mov dword [esp + 0xa4], ecx
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00608150
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 8]
mov edx, dword [eax]
mov ebx, dword [esp + 0xa4]
lea ebp, [ebx - 1]
mov esi, dword [eax + 0xc]
dec esi
cmp ebp, esi
ja 0x60b2c4
cmp esi, ecx
ja 0x60b2c4
sub ecx, ebp
mov dword [esp + 0x70], ecx
mov eax, ecx
neg ecx
sar ecx, 0x1f
and ecx, ebp
add ecx, edx
mov dword [esp + 0xf0], ecx
mov dword [esp], ecx
sub esi, ebp
mov dword [esp + 0x6c], esi
mov dword [esp + 4], esi
mov dword [esp + 8], eax
call fcn.0060e200
movzx eax, byte [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x14]
test al, al
je 0x60ab5f
mov dword [esp + 0x64], ecx
mov dword [esp + 0xec], edx
mov dword [esp + 0x68], ebx
mov eax, dword [esp + 0xa8]
cmp eax, 0x15
je 0x60aa68
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xac]
mov dword [esp + 8], edx
call fcn.004a7b40
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00614a30
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0xf4], ecx
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0xec]
xor esi, esi
xor edi, edi
jmp 0x609523
lea edi, [ecx + 0x40]
mov edx, eax
xor eax, eax
call fcn.0044c990
mov eax, edx
jmp 0x609b16
lea edi, [ecx + 0x38]
mov edx, eax
xor eax, eax
call fcn.0044c990
mov eax, edx
jmp 0x609afa
mov eax, dword [0xb8025c]
mov ecx, dword [0xb80258]
mov dword [esp + 0x184], ecx
mov dword [esp + 0x188], eax
add esp, 0x170
ret
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], 0
add esp, 0x170
ret
mov dword [esp], ecx
mov dword [esp + 4], 9
call fcn.00608150
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x174]
jmp 0x609ac9
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xac]
mov dword [esp + 8], edx
call fcn.004a7b40
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x4c]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0xe8], ecx
mov edx, dword [eax + 0x50]
mov dword [esp], ecx
call edx
mov eax, dword [esp + 4]
cmp eax, 0x18
jne 0x609eb2
mov eax, dword [esp + 0xec]
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x15c], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x160], eax
lea eax, [0x7948e0]
mov dword [esp], eax
lea ecx, [esp + 0x158]
mov dword [esp + 4], ecx
call fcn.00407530
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x609ea7
movzx edx, byte [0xb80c38]
test dl, dl
je 0x609dd1
mov dword [0xb80c3c], ecx
mov edx, dword [0xb92b90]
test edx, edx
jne 0x609e97
mov dword [0xb80c40], eax
mov dword [esp + 0x130], ecx
mov dword [esp + 0x134], eax
mov ecx, dword [esp + 0x130]
test ecx, ecx
je 0x609e8c
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x609e02
or edx, 0x80
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [esp + 0x60]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x10], eax
call fcn.004a90b0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x118]
mov dword [esp], ebx
mov ebp, dword [esp + 0x11c]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xac]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x20], eax
call fcn.004a7110
mov eax, dword [esp + 0xa8]
jmp 0x609ab6
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x609e02
lea edi, [0xb80c40]
call fcn.0044c990
jmp 0x609dd1
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x609e02
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov ecx, dword [esp + 0xe8]
mov dword [esp + 4], ecx
call fcn.0049e8c0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov eax, dword [eax + 0x40]
mov edx, dword [0xb8027c]
mov ebx, dword [0xb80278]
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp], ecx
call eax
movzx eax, byte [esp + 0xc]
test al, al
je 0x609ff6
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xac]
mov dword [esp + 8], edx
call fcn.004a7b40
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x4c]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004a8c80
mov eax, dword [esp + 0x10]
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x10c], ecx
mov edx, dword [esp + 8]
mov dword [esp + 0x108], edx
mov ebx, dword [esp + 0x174]
mov dword [esp], ebx
mov ebp, dword [esp + 0xf0]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x6c]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x70]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
mov byte [esp + 0x1c], 1
call fcn.0060b4c0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
test eax, eax
jne 0x609fe1
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 8], eax
call fcn.004a4710
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
jmp 0x609e31
mov dword [esp + 0x184], eax
mov dword [esp + 0x188], ecx
add esp, 0x170
ret
mov eax, dword [esp + 0x60]
mov ecx, dword [eax + 0x50]
mov edx, dword [esp + 0xe8]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
lea ecx, [eax - 2]
cmp ecx, 4
jbe 0x60a36b
add eax, 0xfffffff9
cmp eax, 5
ja 0x60b2a3
mov dword [esp], 0
mov eax, dword [esp + 0xec]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc], eax
call fcn.0043beb0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xdc], ecx
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.004534c0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x60a230
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov ecx, dword [esp + 0xe8]
mov dword [esp + 4], ecx
call fcn.004a8bc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 8]
and eax, 0x1f
lea edx, [eax - 7]
cmp edx, 5
ja 0x60a324
mov eax, dword [ecx]
shl eax, 3
add eax, 0xffffffc0
neg eax
lea ecx, [eax - 0x20]
mov edx, dword [esp + 0x34]
mov ebx, edx
shl edx, cl
cmp ecx, 0x20
sbb ebp, ebp
and edx, ebp
mov esi, ecx
neg ecx
mov dword [esp + 0x94], ecx
shr ebx, cl
cmp ecx, 0x20
sbb edi, edi
mov dword [esp + 0x90], edi
and ebx, edi
mov ecx, eax
mov edi, dword [esp + 0x38]
shl edi, cl
cmp eax, 0x20
sbb eax, eax
and edi, eax
or edi, ebx
or edi, edx
mov edx, ecx
mov ecx, esi
mov ebx, edi
shr edi, cl
and edi, ebp
mov ecx, dword [esp + 0x94]
mov ebp, ebx
shl ebx, cl
mov esi, dword [esp + 0x90]
and ebx, esi
mov ecx, edx
mov esi, dword [esp + 0x34]
shl esi, cl
and esi, eax
shr esi, cl
and esi, eax
or esi, ebx
or esi, edi
shr ebp, cl
and ebp, eax
mov eax, dword [esp + 0x38]
cmp ebp, eax
setne dl
mov ebx, dword [esp + 0x34]
cmp esi, ebx
xchg ebp, ebx
setne bl
xchg ebp, ebx
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x60a230
lea ecx, [0x7b4b20]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.00407430
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x60a228
movzx edx, byte [0xb80c38]
test dl, dl
je 0x60a1ac
mov dword [0xb80c3c], ecx
mov edx, dword [0xb92b90]
test edx, edx
jne 0x60a21b
mov dword [0xb80c40], eax
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], eax
mov ecx, dword [esp + 0x138]
test ecx, ecx
je 0x60a213
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x60a1d9
or edx, 0x80
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [esp + 0x60]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x10], eax
call fcn.004a90b0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ebx, eax
mov eax, ecx
mov ecx, ebx
jmp 0x609e31
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x60a1d9
lea edi, [0xb80c40]
call fcn.0044c990
jmp 0x60a1ac
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x60a1d9
lea eax, [0x7f9d20]
mov dword [esp], eax
call fcn.00409c40
mov eax, dword [esp + 4]
mov dword [esp + 0x104], eax
mov dword [esp], 0
lea ecx, [0x83609a]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x10], ecx
call fcn.0043bd30
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x104]
mov dword [edi + 4], ecx
mov ecx, dword [0xb92b90]
test ecx, ecx
jne 0x60a31a
mov dword [edi], eax
mov ecx, dword [esp + 0x60]
mov dword [edi + 8], ecx
mov ecx, dword [0xb92b90]
test ecx, ecx
jne 0x60a301
mov eax, dword [esp + 0xe8]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0xa4]
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x174]
mov dword [esp], eax
lea eax, [0x8b27f0]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.00607ef0
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], 0
add esp, 0x170
ret
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xe8]
call fcn.0044c990
mov edi, edx
jmp 0x60a2b7
call fcn.0044c990
jmp 0x60a29c
mov dword [esp + 0xac], eax
lea eax, [0x7ddda0]
mov dword [esp], eax
call fcn.00409c40
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x1a
mov eax, dword [0xb92b90]
test eax, eax
jne 0x60a35b
lea eax, [0x841035]
mov dword [edi], eax
jmp 0x60b22b
lea eax, [0x841035]
call fcn.0044c990
jmp 0x60b22b
mov dword [esp], 0
mov eax, dword [esp + 0xec]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc], eax
call fcn.0043beb0
mov eax, dword [esp + 0x10]
mov dword [esp + 0xd8], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x58], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.00453cf0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x60a5ce
mov dword [esp + 0x30], ecx
mov dword [esp + 0x3c], edx
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov ecx, dword [esp + 0xe8]
mov dword [esp + 4], ecx
call fcn.004a8bc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 8]
and eax, 0x1f
lea edx, [eax - 2]
cmp edx, 4
ja 0x60a6c2
mov eax, dword [ecx]
shl eax, 3
lea ecx, [eax - 0x40]
neg ecx
mov dword [esp + 0x8c], ecx
mov eax, dword [esp + 0x30]
mov edx, eax
shl eax, cl
cmp ecx, 0x20
sbb ebx, ebx
mov dword [esp + 0x94], ebx
and eax, ebx
shr eax, cl
mov dword [esp + 0x90], eax
cmp ecx, 0x20
sbb ebp, ebp
xchg ebp, ebx
not ebx
xchg ebp, ebx
or ebp, ecx
mov dword [esp + 0x88], ebp
lea esi, [ecx - 0x20]
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
mov ecx, esi
shr edx, cl
cmp edi, 0x20
sbb ebp, ebp
mov dword [esp + 0x84], ebp
xchg ebp, ebx
not ebx
xchg ebp, ebx
or ebp, edi
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x3c]
shl eax, cl
and eax, ebx
cmp esi, 0x20
sbb ebx, ebx
mov dword [esp + 0x80], ebx
and edx, ebx
or eax, edx
mov edx, ecx
mov ecx, edi
mov ebx, dword [esp + 0x30]
mov edi, ebx
shl ebx, cl
mov ecx, edi
mov edi, dword [esp + 0x84]
and ebx, edi
or ebx, eax
mov eax, ecx
mov ecx, ebp
mov edi, ebx
sar ebx, cl
shr edx, 5
cmp edx, 1
sbb edx, edx
xor edx, 0xffffffff
and edx, ebx
mov ecx, esi
mov ebx, edi
shl edi, cl
mov ebp, dword [esp + 0x80]
and edi, ebp
mov ebp, dword [esp + 0x90]
mov esi, dword [esp + 0x94]
and ebp, esi
or ebp, edi
or edx, ebp
mov ecx, dword [esp + 0x88]
sar ebx, cl
cmp edx, eax
setne dl
mov ebp, dword [esp + 0x3c]
cmp ebx, ebp
setne bl
or ebx, edx
test bl, bl
jne 0x60a5ce
lea ecx, [0x7b40a0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.00407430
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x60a5c6
movzx edx, byte [0xb80c38]
test dl, dl
je 0x60a54a
mov dword [0xb80c3c], eax
mov edx, dword [0xb92b90]
test edx, edx
jne 0x60a5b3
mov dword [0xb80c40], ecx
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], ecx
mov eax, dword [esp + 0x128]
test eax, eax
je 0x60a5ab
movzx edx, byte [eax + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x60a577
or edx, 0x80
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov eax, dword [esp + 0x60]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x10], eax
call fcn.004a90b0
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
jmp 0x60a208
xor ecx, ecx
xor eax, eax
xor edx, edx
jmp 0x60a577
lea edi, [0xb80c40]
mov edx, eax
mov eax, ecx
call fcn.0044c990
mov eax, edx
jmp 0x60a54a
xor ecx, ecx
xor eax, eax
xor edx, edx
jmp 0x60a577
lea eax, [0x7f9d20]
mov dword [esp], eax
call fcn.00409c40
mov eax, dword [esp + 4]
mov dword [esp + 0x104], eax
mov dword [esp], 0
lea ecx, [0x83609a]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x10], ecx
call fcn.0043bd30
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x104]
mov dword [edi + 4], ecx
mov ecx, dword [0xb92b90]
test ecx, ecx
jne 0x60a6b8
mov dword [edi], eax
mov ecx, dword [esp + 0x60]
mov dword [edi + 8], ecx
mov ecx, dword [0xb92b90]
test ecx, ecx
jne 0x60a69f
mov eax, dword [esp + 0xe8]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0xa4]
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x174]
mov dword [esp], eax
lea eax, [0x8b27f0]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.00607ef0
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], 0
add esp, 0x170
ret
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xe8]
call fcn.0044c990
mov edi, edx
jmp 0x60a655
call fcn.0044c990
jmp 0x60a63a
mov dword [esp + 0xac], eax
lea eax, [0x7ddda0]
mov dword [esp], eax
call fcn.00409c40
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x19
mov eax, dword [0xb92b90]
test eax, eax
jne 0x60a6f9
lea eax, [0x8406c0]
mov dword [edi], eax
jmp 0x60b249
lea eax, [0x8406c0]
call fcn.0044c990
jmp 0x60b249
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0043c000
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x174]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x18], edx
mov byte [esp + 0x1c], 1
call fcn.0060b4c0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
test eax, eax
jne 0x60a782
mov eax, dword [esp + 0xa8]
cmp eax, 0x15
jmp 0x609ab0
mov dword [esp + 0x184], eax
mov dword [esp + 0x188], ecx
add esp, 0x170
ret
mov ecx, 0
mov eax, 0
jmp 0x6099fb
mov eax, dword [esp + 0x174]
mov dword [esp], eax
mov ecx, dword [0xb78c78]
mov edx, dword [0xb78c70]
mov ebx, dword [0xb78c74]
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0xd4]
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x18], ebx
mov byte [esp + 0x1c], 0
call fcn.0060b4c0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x60a811
mov eax, dword [esp + 0xa8]
cmp eax, 0x15
jmp 0x609ab0
mov dword [esp + 0x184], ecx
mov dword [esp + 0x188], eax
add esp, 0x170
ret
mov dword [esp + 0x184], ebx
mov dword [esp + 0x188], edx
add esp, 0x170
ret
mov eax, dword [esp + 0x174]
mov dword [esp], eax
mov ecx, dword [esp + 0xd0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xd4]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0xc], ebx
call fcn.00608220
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x60a883
mov eax, dword [esp + 0xa8]
cmp eax, 0x15
jmp 0x609ab0
mov dword [esp + 0x184], ecx
mov dword [esp + 0x188], eax
add esp, 0x170
ret
mov eax, dword [0xb8025c]
mov ecx, dword [0xb80258]
mov dword [esp + 0x184], ecx
mov dword [esp + 0x188], eax
add esp, 0x170
ret
mov dword [esp], edx
mov dword [esp + 4], 9
call fcn.00608150
movzx eax, byte [esp + 0x2f]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x174]
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0xd0]
mov edi, dword [esp + 0xe4]
jmp 0x609985
lea edi, [edx + 0x38]
mov eax, ecx
call fcn.0044c990
jmp 0x609924
lea ebp, [ecx + 0x40]
mov edi, ebp
mov eax, esi
call fcn.0044c990
jmp 0x6098cc
mov esi, eax
jmp 0x60972a
mov dword [esp + 0xac], esi
lea eax, [0x7ddda0]
mov dword [esp], eax
call fcn.00409c40
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x13
mov eax, dword [0xb92b90]
test eax, eax
jne 0x60a951
lea eax, [0x83cf1d]
mov dword [edi], eax
jmp 0x60b267
lea eax, [0x83cf1d]
call fcn.0044c990
jmp 0x60b267
mov ecx, eax
mov edx, edi
mov eax, dword [esp + 0x44]
jmp 0x609660
mov ecx, esi
mov edx, eax
mov ebx, edi
movzx eax, byte [esp + 0x2f]
jmp 0x60988e
mov eax, dword [esp + 0x174]
movzx ecx, byte [eax + 0x51]
test cl, cl
jne 0x60a99c
mov edx, eax
xor eax, eax
xor ecx, ecx
xor ebx, ebx
xor ebp, ebp
jmp 0x60993b
mov eax, dword [esp + 0xec]
mov dword [esp + 0x164], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x168], ecx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x16c], edx
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0
lea ebx, [0x7948e0]
mov dword [esp], ebx
lea ebp, [esp + 0x164]
mov dword [esp + 4], ebp
call fcn.00407530
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x148], ecx
mov dword [esp + 0x14c], eax
lea eax, [0x83e972]
mov dword [esp], eax
mov dword [esp + 4], 0x16
lea ecx, [esp + 0x148]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004b4cd0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x174]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00607ef0
mov eax, dword [esp + 0x174]
jmp 0x60a98d
mov edx, edi
jmp 0x609607
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xac]
mov dword [esp + 8], edx
call fcn.004a7b40
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 + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x40]
test edx, edx
je 0x60ab29
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004a8bc0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xbc]
mov dword [esp], ebx
mov ebp, dword [esp + 0xc4]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x40]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004a6ad0
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0x40]
mov esi, edx
mov edi, eax
mov dword [esp + 0xe0], ecx
xor eax, eax
mov ecx, esi
mov ebx, edi
mov ebp, dword [esp + 0xe0]
mov edx, dword [esp + 0x174]
jmp 0x609958
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004a8c80
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004a4710
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
jmp 0x60ab05
mov eax, dword [0xb8025c]
mov ecx, dword [0xb80258]
mov dword [esp + 0x184], ecx
mov dword [esp + 0x188], eax
add esp, 0x170
ret
mov eax, dword [0xb8025c]
mov ecx, dword [0xb80258]
mov dword [esp + 0x184], ecx
mov dword [esp + 0x188], eax
add esp, 0x170
ret
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.004a7b40
mov eax, dword [esp + 0x10]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x8c], ecx
lea edx, [0x7f9d20]
mov dword [esp], edx
call fcn.00409c40
mov edi, dword [esp + 4]
mov dword [edi + 4], 6
mov eax, dword [0xb92b90]
test eax, eax
jne 0x60ac82
lea ecx, [0x835148]
mov dword [edi], ecx
mov ecx, dword [esp + 0x8c]
mov dword [edi + 8], ecx
mov ecx, dword [0xb92b90]
test ecx, ecx
jne 0x60ac69
mov eax, dword [esp + 0x100]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0xc]
mov dword [edi + 0x10], ecx
sar ecx, 0x1f
mov dword [edi + 0x14], ecx
mov dword [esp], eax
lea ecx, [0x8b27f0]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.00607ef0
mov eax, dword [esp + 0x174]
mov dword [esp], eax
call fcn.00608020
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], 0
add esp, 0x170
ret
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x100]
call fcn.0044c990
mov edi, edx
jmp 0x60ac14
lea eax, [0x835148]
call fcn.0044c990
jmp 0x60abf6
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.004a7b40
mov eax, dword [esp + 0xc]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xcc], ecx
mov edx, dword [eax + 0x4c]
mov dword [esp], ecx
call edx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
lea ecx, [eax - 2]
cmp ecx, 0xa
ja 0x60adea
mov eax, dword [esp + 0xa8]
lea ecx, [eax - 0x15]
cmp ecx, 1
ja 0x60adaa
mov ecx, dword [esp + 0xac]
test ecx, 0x200
je 0x60ad1b
mov eax, ecx
mov ebx, dword [esp + 0xa8]
mov ebp, dword [esp + 0x11c]
mov esi, dword [esp + 0x118]
jmp 0x6094f2
test ecx, 0x80
je 0x60ad9f
mov edx, dword [esp + 0x11c]
mov ebx, dword [edx]
test ebx, ebx
setne bl
xor ebx, 1
test bl, bl
je 0x60acff
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 4], eax
call fcn.004a8960
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x118]
mov dword [esp], ebx
mov ebp, dword [esp + 0x11c]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xac]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
call fcn.004a6ad0
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
jmp 0x60acff
mov edx, dword [esp + 0x11c]
mov ebx, edx
jmp 0x60ad2c
lea eax, [0x7ddda0]
mov dword [esp], eax
call fcn.00409c40
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x13
mov eax, dword [0xb92b90]
test eax, eax
jne 0x60adda
lea eax, [0x83cf1d]
mov dword [edi], eax
jmp 0x60b285
lea eax, [0x83cf1d]
call fcn.0044c990
jmp 0x60b285
cmp eax, 0x18
je 0x60acdd
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 0x4c]
mov edx, dword [esp + 0xcc]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0049e8c0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov eax, dword [eax + 0x40]
mov edx, dword [0xb8027c]
mov ebx, dword [0xb80278]
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp], ecx
call eax
movzx eax, byte [esp + 0xc]
test al, al
jne 0x60acdd
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 8], eax
call fcn.004a7b40
mov eax, dword [esp + 0x10]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x8c], ecx
lea edx, [0x7f9d20]
mov dword [esp], edx
call fcn.00409c40
mov edi, dword [esp + 4]
mov dword [edi + 4], 6
mov eax, dword [0xb92b90]
test eax, eax
jne 0x60af41
lea ecx, [0x835148]
mov dword [edi], ecx
mov ecx, dword [esp + 0x8c]
mov dword [edi + 8], ecx
mov ecx, dword [0xb92b90]
test ecx, ecx
jne 0x60af28
mov eax, dword [esp + 0x100]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0xc]
mov dword [edi + 0x10], ecx
sar ecx, 0x1f
mov dword [edi + 0x14], ecx
mov dword [esp], eax
lea ecx, [0x8b27f0]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.00607ef0
mov eax, dword [esp + 0x174]
mov dword [esp], eax
call fcn.00608020
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], 0
add esp, 0x170
ret
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x100]
call fcn.0044c990
mov edi, edx
jmp 0x60aed3
lea eax, [0x835148]
call fcn.0044c990
jmp 0x60aeb5
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.004a5e00
mov eax, dword [esp + 0xc]
test eax, eax
je 0x60af8a
mov eax, dword [esp + 0xac]
mov ebx, dword [esp + 0xa8]
mov ebp, dword [esp + 0x11c]
mov esi, dword [esp + 0x118]
jmp 0x6094e0
mov eax, dword [esp + 0x174]
mov dword [esp], eax
call fcn.0060dbe0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
test edx, edx
jne 0x60b07a
movzx ecx, byte [0xb80c38]
test cl, cl
je 0x60b06f
lea ecx, [0x7ba380]
mov dword [0xb80c3c], ecx
mov edx, dword [0xb92b90]
test edx, edx
jne 0x60b05f
mov dword [0xb80c40], eax
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], eax
mov ecx, dword [esp + 0x120]
test ecx, ecx
je 0x60b057
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x60b009
or edx, 0x80
mov ebx, dword [esp + 0x118]
mov dword [esp], ebx
mov ebx, dword [esp + 0x11c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xac]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004a6ad0
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], 0
add esp, 0x170
ret
xor ecx, ecx
xor edx, edx
xor eax, eax
jmp 0x60b009
lea edi, [0xb80c40]
call fcn.0044c990
jmp 0x60afdc
lea ecx, [0x7ba380]
jmp 0x60afdc
mov dword [esp + 0x184], edx
mov dword [esp + 0x188], ecx
add esp, 0x170
ret
mov eax, dword [esp + 0x178]
mov dword [esp], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x180]
mov dword [esp + 8], eax
call fcn.004a7b40
mov eax, dword [esp + 0x10]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x8c], ecx
lea edx, [0x7f9d20]
mov dword [esp], edx
call fcn.00409c40
mov edi, dword [esp + 4]
mov dword [edi + 4], 6
mov eax, dword [0xb92b90]
test eax, eax
jne 0x60b185
lea ecx, [0x835148]
mov dword [edi], ecx
mov ecx, dword [esp + 0x8c]
mov dword [edi + 8], ecx
mov ecx, dword [0xb92b90]
test ecx, ecx
jne 0x60b16c
mov eax, dword [esp + 0x100]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0xc]
mov dword [edi + 0x10], ecx
sar ecx, 0x1f
mov dword [edi + 0x14], ecx
mov dword [esp], eax
lea ecx, [0x8b27f0]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.00607ef0
mov eax, dword [esp + 0x174]
mov dword [esp], eax
call fcn.00608020
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], 0
add esp, 0x170
ret
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x100]
call fcn.0044c990
mov edi, edx
jmp 0x60b117
lea eax, [0x835148]
call fcn.0044c990
jmp 0x60b0f9
mov dword [esp + 0xc8], ecx
mov dword [esp + 0x48], edx
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0xa4], ecx
mov dword [esp], eax
call fcn.00608020
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 8]
mov edx, dword [eax]
mov eax, dword [eax + 0xc]
mov ebx, dword [esp + 0xa4]
dec ebx
cmp ebx, eax
ja 0x60b2cb
cmp eax, ecx
ja 0x60b2cb
mov ebp, dword [esp + 0x48]
mov ebp, dword [ebp + 0x10]
sub ecx, ebx
mov esi, ecx
neg ecx
sar ecx, 0x1f
and ecx, ebx
add ecx, edx
mov dword [esp + 4], ecx
sub eax, ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
call ebp
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x184], ecx
mov dword [esp + 0x188], eax
add esp, 0x170
ret
mov eax, dword [esp + 0xac]
mov dword [edi + 8], eax
lea eax, [0x7c83a0]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.004273c0
ud2
mov eax, dword [esp + 0xac]
mov dword [edi + 8], eax
lea eax, [0x7c83a0]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.004273c0
ud2
mov eax, dword [esp + 0xac]
mov dword [edi + 8], eax
lea eax, [0x7c83a0]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.004273c0
ud2
mov eax, dword [esp + 0xa8]
mov dword [edi + 8], eax
lea eax, [0x7c83a0]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.004273c0
ud2
lea eax, [0x7b48a0]
mov dword [esp], eax
lea eax, [0x8b0e38]
mov dword [esp + 4], eax
call fcn.004273c0
ud2
call fcn.004264e0
ud2
call fcn.004265e0
ud2
call fcn.004265e0
ud2
call fcn.0044b230
jmp fcn.00609430