Function at 0x651560
Capabilities:
Check http status code

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x1f8]
cmp eax, dword [ecx + 8]
jbe 0x6533b7
sub esp, 0x278
mov dword [esp + 0x2a0], 0
mov dword [esp + 0x2a4], 0
mov dword [esp + 0x2a8], 0
lea eax, [esp + 0x288]
mov dword [esp], eax
call fcn.00653990
lea edi, [esp + 0x17c]
lea esi, [esp + 4]
call fcn.00464b0a
lea eax, [0x680540]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00404bb0
mov eax, dword [esp + 8]
mov dword [esp + 0x15c], eax
lea ecx, [0x6805c0]
mov dword [esp], ecx
mov dword [esp + 4], 1
call fcn.00404bb0
mov eax, dword [esp + 8]
mov dword [esp + 0x158], eax
lea ecx, [0x6806c0]
mov dword [esp], ecx
mov dword [esp + 4], 0
call fcn.00404bb0
mov eax, dword [esp + 8]
mov dword [esp + 0x154], eax
lea ecx, [0x680340]
mov dword [esp], ecx
mov dword [esp + 4], 1
call fcn.00404bb0
mov eax, dword [esp + 8]
mov dword [esp + 0x150], eax
lea ecx, [0x6806c0]
mov dword [esp], ecx
mov dword [esp + 4], 0
call fcn.00404bb0
mov eax, dword [esp + 8]
mov dword [esp + 0x14c], eax
lea ecx, [0x6b67c0]
mov dword [esp], ecx
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x651690
mov ecx, dword [esp + 0x27c]
mov dword [eax + 8], ecx
jmp 0x6516aa
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x27c]
call fcn.004643a0
mov eax, ecx
mov ecx, dword [esp + 0x27c]
lea edi, [eax + 0xc]
mov edx, dword [0x8d9190]
test edx, edx
jne 0x6516f7
lea esi, [esp + 0x17c]
call fcn.00464b0a
mov ecx, dword [esp + 0x15c]
mov dword [eax + 0x44], ecx
mov ecx, dword [esp + 0x158]
mov dword [eax + 0x48], ecx
mov ecx, dword [esp + 0x154]
mov dword [eax + 0x4c], ecx
mov ecx, dword [esp + 0x150]
mov dword [eax + 0x5c], ecx
mov ecx, dword [esp + 0x14c]
mov dword [eax + 0x60], ecx
jmp 0x651771
mov dword [esp + 0x148], eax
lea eax, [0x6a7080]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x17c]
mov dword [esp + 8], eax
call fcn.00411360
mov eax, dword [esp + 0x148]
lea edi, [eax + 0x44]
mov ecx, eax
mov eax, dword [esp + 0x15c]
call fcn.004643a0
lea edi, [ecx + 0x48]
mov eax, dword [esp + 0x158]
call fcn.004643a0
lea edi, [ecx + 0x4c]
mov eax, dword [esp + 0x154]
call fcn.004643a0
lea edi, [ecx + 0x5c]
mov eax, dword [esp + 0x150]
call fcn.004643a0
lea edi, [ecx + 0x60]
mov eax, dword [esp + 0x14c]
call fcn.004643a0
mov eax, ecx
mov dword [esp + 0x2a0], eax
nop
mov eax, dword [esp + 0x280]
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x284]
mov dword [esp], edx
lea ebx, [0x68ab40]
mov dword [esp + 4], ebx
lea ebx, [0x8d8e54]
mov dword [esp + 8], ebx
call ecx
mov eax, dword [esp + 0x10]
lea ecx, [0x694960]
cmp dword [esp + 0xc], ecx
je 0x6517b5
xor eax, eax
mov ecx, dword [esp + 0x288]
test ecx, ecx
je 0x6517c7
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
jmp 0x6517d5
mov edx, dword [esp + 0x28c]
mov ebx, dword [esp + 0x290]
mov dword [esp + 0xe8], eax
cmp ebx, 5
jne 0x651be8
cmp dword [edx], 0x70747468
jne 0x651bdd
cmp byte [edx + 4], 0x73
jne 0x651bd2
mov edx, dword [esp + 0x27c]
mov ebx, dword [edx + 0x5c]
test ebx, ebx
je 0x65180d
test ecx, ecx
jmp 0x65181a
mov ebx, dword [edx + 0x58]
test ebx, ebx
je 0x651bce
test ecx, ecx
jne 0x65182c
mov ecx, dword [esp + 0x294]
mov ebx, dword [esp + 0x298]
jmp 0x651843
mov dword [esp], ecx
call fcn.00657970
mov ecx, dword [esp + 4]
mov ebx, dword [esp + 8]
mov edx, dword [esp + 0x27c]
mov dword [esp], edx
mov eax, dword [esp + 0x280]
mov dword [esp + 4], eax
mov ebp, dword [esp + 0x284]
mov dword [esp + 8], ebp
lea esi, [0x6bf9e9]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ebx
call fcn.0064fb90
mov eax, dword [esp + 0x2a0]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
mov dword [eax + 0x28], edx
mov edx, dword [0x8d9190]
test edx, edx
jne 0x6518a8
mov dword [eax + 0x2c], ecx
jmp 0x6518b2
lea edi, [eax + 0x2c]
mov eax, ecx
call fcn.004643a0
test ebx, ebx
jne 0x651b24
mov eax, dword [esp + 0x2a0]
mov ecx, dword [eax + 0x2c]
lea ebx, [0x728a6c]
cmp dword [eax + 0x28], ebx
je 0x6518d4
mov ecx, 0
je 0x6518e2
mov ecx, dword [esp + 0xe8]
jmp 0x651ec3
mov dword [esp + 0xf0], ecx
mov eax, dword [esp + 0xe8]
test eax, eax
je 0x651906
mov edx, dword [eax + 0x28]
test edx, edx
je 0x651906
mov eax, dword [edx]
call eax
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
mov eax, dword [esp + 0x280]
mov dword [esp + 4], eax
mov edx, dword [esp + 0x284]
mov dword [esp + 8], edx
call fcn.005dc860
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
test eax, eax
jne 0x651a2d
lea eax, [0x6b0d00]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov dword [esp + 0x168], eax
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
call fcn.005dcfb0
mov eax, dword [0x8d9190]
test eax, eax
jne 0x651985
mov edi, dword [esp + 0x168]
lea esi, [esp + 4]
call fcn.00464a6a
mov ecx, dword [esp + 0xe8]
test ecx, ecx
jmp 0x6519c4
lea edi, [esp + 0x21c]
lea esi, [esp + 4]
call fcn.00464a6a
lea eax, [0x6b0d00]
mov dword [esp], eax
mov eax, dword [esp + 0x168]
mov dword [esp + 4], eax
lea ecx, [esp + 0x21c]
mov dword [esp + 8], ecx
call fcn.00411360
mov eax, dword [esp + 0xe8]
test eax, eax
mov ecx, eax
je 0x6519f7
mov edx, dword [ecx + 0x2c]
test edx, edx
je 0x6519f7
mov eax, dword [edx]
lea edi, [esp]
mov esi, dword [esp + 0x168]
call fcn.00464a6a
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
call eax
mov ecx, dword [esp + 0xe8]
mov ebx, dword [esp + 0x2a0]
test byte [ebx], al
mov ebp, dword [0x8d9190]
test ebp, ebp
jne 0x651a19
mov eax, dword [esp + 0x168]
mov dword [ebx + 0x30], eax
jmp 0x651ec3
lea edi, [ebx + 0x30]
mov eax, dword [esp + 0x168]
call fcn.004643a0
jmp 0x651ec3
mov dword [esp + 0x144], ecx
mov dword [esp + 0xdc], edx
mov eax, dword [esp + 0x2a0]
mov ecx, dword [eax + 0x28]
mov dword [esp + 0xa8], ecx
test byte [ecx], al
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x140], eax
lea edx, [0x68fc20]
mov dword [esp], edx
call fcn.0040bd00
mov eax, dword [esp + 4]
lea ecx, [0x653800]
mov dword [eax], ecx
mov ecx, dword [esp + 0xa8]
mov dword [eax + 4], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x651a92
mov ecx, dword [esp + 0x140]
mov dword [eax + 8], ecx
jmp 0x651aa5
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x140]
call fcn.004643a0
mov eax, ecx
mov dword [esp], eax
call fcn.00441ac0
mov eax, dword [esp + 0xe8]
test eax, eax
je 0x651af1
mov edx, dword [eax + 0x2c]
test edx, edx
je 0x651af1
mov ecx, dword [edx]
mov dword [esp + 0xa8], ecx
lea edi, [esp]
xor eax, eax
call fcn.00464629
mov ecx, dword [esp + 0x144]
mov dword [esp + 0x5c], ecx
mov ebx, dword [esp + 0xdc]
mov dword [esp + 0x60], ebx
mov ebp, dword [esp + 0xa8]
call ebp
mov dword [esp + 0x2a0], 0
mov eax, dword [esp + 0x144]
mov dword [esp + 0x2a4], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x2a8], eax
call fcn.00435720
add esp, 0x278
ret
mov eax, dword [esp + 0x288]
test eax, eax
je 0x651ba9
mov dword [esp + 0x144], esi
mov dword [esp + 0x114], ebp
lea eax, [0x6a6600]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov dword [eax + 4], 0xc
lea ecx, [0x6c1e52]
mov dword [eax], ecx
mov dword [eax + 0xc], 3
lea ecx, [0x6bf9e9]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x144]
mov dword [eax + 0x20], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x651b8e
mov ecx, dword [esp + 0x114]
mov dword [eax + 0x24], ecx
jmp 0x651ba1
lea edi, [eax + 0x24]
mov ecx, eax
mov eax, dword [esp + 0x114]
call fcn.004643a0
mov eax, ecx
lea ebx, [0x7272f8]
mov ebp, eax
mov dword [esp + 0x2a0], 0
mov dword [esp + 0x2a4], ebx
mov dword [esp + 0x2a8], ebp
call fcn.00435720
add esp, 0x278
ret
test ecx, ecx
jmp 0x651bf1
test ecx, ecx
mov edx, dword [esp + 0x27c]
jmp 0x651bf1
test ecx, ecx
mov edx, dword [esp + 0x27c]
jmp 0x651bf1
test ecx, ecx
mov edx, dword [esp + 0x27c]
jne 0x651c03
mov ecx, dword [esp + 0x294]
mov ebx, dword [esp + 0x298]
jmp 0x651c1a
mov dword [esp], ecx
call fcn.00657970
mov ecx, dword [esp + 4]
mov ebx, dword [esp + 8]
mov edx, dword [esp + 0x27c]
mov dword [esp], edx
mov eax, dword [esp + 0x280]
mov dword [esp + 4], eax
mov ebp, dword [esp + 0x284]
mov dword [esp + 8], ebp
lea esi, [0x6bf9e9]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ebx
call fcn.0064f650
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x24]
test eax, eax
jne 0x652407
mov ecx, dword [esp + 0x2a0]
mov dword [ecx + 0x28], ebx
mov ebx, dword [0x8d9190]
test ebx, ebx
jne 0x651c87
mov dword [ecx + 0x2c], edx
jmp 0x651c91
lea edi, [ecx + 0x2c]
mov eax, edx
call fcn.004643a0
mov eax, dword [esp + 0x288]
test eax, eax
je 0x651ca3
mov ecx, dword [eax]
mov ebx, dword [eax + 4]
jmp 0x651cb1
mov ecx, dword [esp + 0x28c]
mov ebx, dword [esp + 0x290]
cmp ebx, 5
jne 0x651ebc
cmp dword [ecx], 0x70747468
jne 0x651ebc
cmp byte [ecx + 4], 0x73
jne 0x651ebc
test eax, eax
jne 0x651ce4
mov eax, dword [esp + 0x294]
mov ecx, dword [esp + 0x298]
jmp 0x651cf4
mov dword [esp], eax
call fcn.00657970
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.005a1680
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
test edx, edx
je 0x651dc6
mov eax, dword [esp + 0x288]
test eax, eax
je 0x651da1
mov dword [esp + 0x110], ebx
mov dword [esp + 0x144], ebp
lea eax, [0x6a6600]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov dword [eax + 4], 0xc
lea ecx, [0x6c1e52]
mov dword [eax], ecx
mov dword [eax + 0xc], 3
lea ecx, [0x6bf9e9]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x144]
mov dword [eax + 0x20], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x651d86
mov ecx, dword [esp + 0x110]
mov dword [eax + 0x24], ecx
jmp 0x651d99
lea edi, [eax + 0x24]
mov ecx, eax
mov eax, dword [esp + 0x110]
call fcn.004643a0
mov eax, ecx
lea edx, [0x7272f8]
mov ebx, eax
mov dword [esp + 0x2a0], 0
mov dword [esp + 0x2a4], edx
mov dword [esp + 0x2a8], ebx
call fcn.00435720
add esp, 0x278
ret
mov edx, dword [esp + 0x2a0]
mov dword [esp], edx
mov edx, dword [esp + 0x280]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x284]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x14], eax
call fcn.00650f30
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
test eax, eax
je 0x651ebc
mov ebx, dword [esp + 0x288]
test ebx, ebx
je 0x651e97
mov dword [esp + 0x110], ecx
mov dword [esp + 0x144], edx
lea eax, [0x6a6600]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov dword [eax + 4], 0xc
lea ecx, [0x6c1e52]
mov dword [eax], ecx
mov dword [eax + 0xc], 3
lea ecx, [0x6bf9e9]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x144]
mov dword [eax + 0x20], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x651e7c
mov ecx, dword [esp + 0x110]
mov dword [eax + 0x24], ecx
jmp 0x651e8f
lea edi, [eax + 0x24]
mov ecx, eax
mov eax, dword [esp + 0x110]
call fcn.004643a0
mov eax, ecx
mov ecx, eax
lea eax, [0x7272f8]
mov dword [esp + 0x2a0], 0
mov dword [esp + 0x2a4], eax
mov dword [esp + 0x2a8], ecx
call fcn.00435720
add esp, 0x278
ret
mov ecx, dword [esp + 0xe8]
mov eax, dword [esp + 0x288]
test eax, eax
je 0x6524b1
mov ebx, dword [eax]
cmp dword [eax + 4], 6
jne 0x652190
cmp dword [ebx], 0x6b636f73
jne 0x652190
cmp word [ebx + 4], 0x3573
jne 0x652190
mov eax, dword [esp + 0x2a0]
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x9c], ecx
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x128], eax
mov edx, dword [ecx + 0x1c]
mov dword [esp], eax
call edx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x14]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0xa0], ecx
lea edi, [esp + 0x198]
mov edx, eax
xor eax, eax
call fcn.00464636
lea eax, [0x6bf9e9]
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], 3
mov dword [esp + 0x1a4], edx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x1a8], ecx
mov dword [esp + 0x198], 1
mov ecx, dword [esp + 0x288]
mov ecx, dword [ecx + 0x10]
test ecx, ecx
je 0x6520c0
mov dword [esp + 0xe4], ecx
mov eax, dword [ecx]
mov dword [esp + 0xd8], eax
mov edx, dword [ecx + 4]
mov dword [esp + 0x68], edx
lea ebx, [0x6981e0]
mov dword [esp], ebx
call fcn.0040bd00
mov edi, dword [esp + 4]
mov dword [edi + 0xc], 0
mov eax, dword [0x8d9190]
lea ecx, [edi + 8]
test eax, eax
jne 0x651fd8
mov dword [edi + 8], 0
jmp 0x651fe5
xor eax, eax
mov edx, edi
mov edi, ecx
call fcn.004643a0
mov edi, edx
mov edx, dword [esp + 0x68]
mov dword [edi + 4], edx
mov edx, dword [0x8d9190]
test edx, edx
jne 0x652001
mov edx, dword [esp + 0xd8]
mov dword [edi], edx
jmp 0x65200d
mov eax, dword [esp + 0xd8]
call fcn.004643a0
mov dword [esp + 0x12c], edi
mov edx, dword [esp + 0xe4]
mov eax, dword [edx + 8]
mov edx, dword [edx + 0xc]
mov dword [edi + 0xc], edx
mov edx, dword [0x8d9190]
test edx, edx
jne 0x652033
mov dword [edi + 8], eax
jmp 0x65203a
mov edi, ecx
call fcn.004643a0
lea eax, [0x682d00]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov dword [eax + 4], 2
mov dword [esp + 0x1b4], 2
mov dword [esp + 0x1b8], 2
mov dword [esp + 0x1b0], eax
lea eax, [0x68f440]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
lea ecx, [0x65fb00]
mov dword [eax], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x6520a0
mov ecx, dword [esp + 0x12c]
mov dword [eax + 4], ecx
jmp 0x6520b3
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x12c]
call fcn.004643a0
mov eax, ecx
mov dword [esp + 0x1bc], eax
lea eax, [0x6bf9e9]
mov ecx, dword [esp + 0x294]
mov edx, dword [esp + 0x298]
lea ebx, [esp + 0x198]
mov dword [esp], ebx
mov ebx, dword [esp + 0x280]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x284]
mov dword [esp + 8], ebp
mov esi, dword [esp + 0x9c]
mov dword [esp + 0xc], esi
mov edi, dword [esp + 0x128]
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 3
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
call fcn.00645c30
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
test eax, eax
jne 0x652139
mov ecx, dword [esp + 0xe8]
jmp 0x6524b1
mov dword [esp + 0x144], ecx
mov dword [esp + 0x10c], edx
mov eax, dword [esp + 0x9c]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x128]
mov dword [esp], ecx
call eax
mov dword [esp + 0x2a0], 0
mov eax, dword [esp + 0x144]
mov dword [esp + 0x2a4], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x2a8], eax
call fcn.00435720
add esp, 0x278
ret
mov ebx, dword [esp + 0x28c]
mov ebp, dword [esp + 0x290]
cmp ebp, 4
jne 0x65226a
cmp dword [ebx], 0x70747468
jne 0x65226a
mov eax, dword [esp + 0x2a0]
mov byte [eax + 0x50], 1
lea eax, [esp + 0x288]
mov dword [esp], eax
call fcn.0064dbb0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test eax, eax
je 0x65225e
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x84], eax
lea eax, [0x690100]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
lea ecx, [0x653710]
mov dword [eax], ecx
mov ecx, dword [esp + 0x84]
mov dword [eax + 8], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x652225
mov ecx, dword [esp + 0xfc]
mov dword [eax + 4], ecx
jmp 0x652238
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xfc]
call fcn.004643a0
mov eax, ecx
mov ecx, dword [esp + 0x2a0]
test byte [ecx], al
mov edx, dword [0x8d9190]
test edx, edx
jne 0x652253
mov dword [ecx + 0x9c], eax
jmp 0x65225e
lea edi, [ecx + 0x9c]
call fcn.004643a0
mov ecx, dword [esp + 0xe8]
jmp 0x6524b1
cmp ebp, 5
jne 0x6524b1
cmp dword [ebx], 0x70747468
jne 0x6524b1
cmp byte [ebx + 4], 0x73
jne 0x6524b1
mov ebx, dword [esp + 0x2a0]
mov ebp, dword [ebx + 0x28]
mov dword [esp + 0x98], ebp
mov ebx, dword [ebx + 0x2c]
mov dword [esp + 0x124], ebx
mov esi, dword [esp + 0x27c]
mov edx, dword [esi + 0x9c]
test edx, edx
jne 0x6522bd
mov eax, dword [esi + 0x98]
jmp 0x652324
mov ecx, dword [edx]
mov ebx, dword [esp + 0x294]
mov ebp, dword [esp + 0x298]
mov esi, dword [esp + 0x280]
mov dword [esp], esi
mov edi, dword [esp + 0x284]
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
test ecx, ecx
jne 0x6523b0
mov ecx, dword [esp + 0xe8]
mov ebx, dword [esp + 0x124]
mov ebp, dword [esp + 0x98]
mov esi, dword [esp + 0x27c]
test eax, eax
jne 0x652330
call fcn.0040c7e0
mov eax, dword [esp]
mov dword [esp + 0x104], eax
lea ecx, [esp + 0x288]
mov dword [esp], ecx
call fcn.0064dbb0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test eax, eax
je 0x6523a4
mov dword [esp + 0xf8], ecx
mov dword [esp + 0x80], eax
mov edx, dword [esp + 0x104]
test edx, edx
je 0x65239d
lea edi, [esp + 0x1ec]
xor eax, eax
call fcn.00464634
lea ecx, [0x6b3f40]
mov dword [esp], ecx
mov dword [esp + 4], edx
lea ebx, [esp + 0x1ec]
mov dword [esp + 8], ebx
call fcn.0040d980
xor eax, eax
jmp 0x653177
xor edx, edx
jmp 0x653067
mov eax, dword [esp + 0x104]
jmp 0x652a71
mov dword [esp + 0x144], ebx
mov dword [esp + 0x108], ebp
mov eax, dword [esp + 0x98]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x124]
mov dword [esp], ecx
call eax
mov dword [esp + 0x2a0], 0
mov eax, dword [esp + 0x144]
mov dword [esp + 0x2a4], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 0x2a8], eax
call fcn.00435720
add esp, 0x278
ret
mov edx, dword [esp + 0x288]
test edx, edx
je 0x65248c
mov dword [esp + 0x144], ebp
mov dword [esp + 0x110], ecx
lea eax, [0x6a6600]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov dword [eax + 4], 0xc
lea ecx, [0x6c1e52]
mov dword [eax], ecx
mov dword [eax + 0xc], 3
lea ecx, [0x6bf9e9]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x144]
mov dword [eax + 0x20], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x652471
mov ecx, dword [esp + 0x110]
mov dword [eax + 0x24], ecx
jmp 0x652484
lea edi, [eax + 0x24]
mov ecx, eax
mov eax, dword [esp + 0x110]
call fcn.004643a0
mov eax, ecx
mov ecx, eax
lea eax, [0x7272f8]
mov dword [esp + 0x2a0], 0
mov dword [esp + 0x2a4], eax
mov dword [esp + 0x2a8], ecx
call fcn.00435720
add esp, 0x278
ret
mov eax, dword [esp + 0x288]
test eax, eax
je 0x65256f
mov eax, dword [esp + 0x28c]
cmp dword [esp + 0x290], 5
jne 0x65256f
cmp dword [eax], 0x70747468
jne 0x65256f
cmp byte [eax + 4], 0x73
jne 0x65256f
lea eax, [esp + 0x288]
mov dword [esp], eax
call fcn.00653ab0
mov eax, dword [esp + 0x2a0]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
mov dword [esp], eax
mov eax, dword [esp + 0x280]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x284]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x14], eax
call fcn.00650f30
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test eax, eax
je 0x65256f
mov dword [esp + 0x2a0], 0
mov dword [esp + 0x2a4], ecx
mov dword [esp + 0x2a8], edx
call fcn.00435720
add esp, 0x278
ret
mov eax, dword [esp + 0x2a0]
mov eax, dword [eax + 0x30]
test eax, eax
je 0x65275e
movzx ecx, byte [eax + 0x10]
test cl, cl
je 0x65275e
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 8]
test ecx, ecx
je 0x65275e
mov edx, dword [esp + 0x27c]
mov ebx, dword [edx + 0x94]
lea ebp, [0x689160]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.00410580
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
movzx eax, byte [esp + 0x14]
test al, al
je 0x65275e
mov eax, dword [esp + 0x2a0]
mov ecx, dword [eax + 0x28]
mov eax, dword [eax + 0x2c]
mov ebx, dword [0x728a70]
lea ebp, [0x728a6c]
cmp ecx, ebp
jne 0x652a5b
mov ecx, dword [edx]
mov ebx, dword [esp + 0x294]
mov ebp, dword [esp + 0x298]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call ecx
mov eax, dword [esp + 0xc]
mov dword [esp + 0x144], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x130], ecx
lea ebx, [0x68f0e0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409850
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x652729
lea eax, [0x6b67c0]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x652677
mov ecx, dword [esp + 0x27c]
mov dword [eax + 8], ecx
jmp 0x65268a
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x27c]
call fcn.004643a0
mov eax, ecx
mov ecx, dword [esp + 0x2a0]
test byte [ecx], al
mov edx, dword [0x8d9190]
lea edi, [eax + 0xc]
lea esi, [ecx + 0xc]
test edx, edx
jne 0x6526aa
call fcn.00464b0a
jmp 0x6526ce
mov dword [esp + 0x148], eax
lea eax, [0x6a7080]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], esi
call fcn.00411360
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x144]
mov dword [eax], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x6526ed
mov ecx, dword [esp + 0x130]
mov dword [eax + 4], ecx
jmp 0x652700
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x130]
call fcn.004643a0
mov eax, ecx
mov dword [esp + 0x2a0], eax
mov dword [esp + 0x2a4], 0
mov dword [esp + 0x2a8], 0
call fcn.00435720
add esp, 0x278
ret
mov eax, dword [eax + 0x10]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x2a0], 0
mov dword [esp + 0x2a4], eax
mov dword [esp + 0x2a8], ecx
call fcn.00435720
add esp, 0x278
ret
mov eax, dword [esp + 0x27c]
mov ecx, dword [eax + 0xac]
test ecx, ecx
jg 0x652774
mov ecx, 0x1000
mov edx, dword [esp + 0x2a0]
mov dword [esp + 0x148], edx
cmp ecx, 0x10
jge 0x65278c
mov ecx, 0x10
mov dword [esp + 0x7c], ecx
lea eax, [0x6aad00]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov dword [esp + 0xe0], eax
lea ecx, [0x6873e0]
mov dword [esp], ecx
mov edx, dword [esp + 0x7c]
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.0044aea0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x13c], eax
lea edi, [esp + 0x1c0]
xor eax, eax
call fcn.00464635
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x1c0], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1c8], eax
lea eax, [0x7273d4]
mov dword [esp + 0x1cc], eax
mov eax, dword [esp + 0x148]
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x1e4], 0xffffffff
mov dword [esp + 0x1e8], 0xffffffff
mov eax, dword [0x8d9190]
test eax, eax
jne 0x65284c
mov edi, dword [esp + 0xe0]
lea esi, [esp + 0x1c0]
call fcn.00464ae2
jmp 0x652870
lea eax, [0x6aad00]
mov dword [esp], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 4], eax
lea ecx, [esp + 0x1c0]
mov dword [esp + 8], ecx
call fcn.00411360
mov ecx, dword [esp + 0x2a0]
test byte [ecx], al
mov edx, dword [0x8d9190]
test edx, edx
jne 0x65288f
mov eax, dword [esp + 0xe0]
mov dword [ecx + 0x34], eax
jmp 0x65289e
lea edi, [ecx + 0x34]
mov eax, dword [esp + 0xe0]
call fcn.004643a0
mov eax, dword [esp + 0x2a0]
mov ecx, dword [esp + 0x27c]
mov ecx, dword [ecx + 0xa8]
test ecx, ecx
jg 0x6528bb
mov ecx, 0x1000
mov dword [esp + 0x148], eax
test ecx, ecx
jg 0x6528cb
mov ecx, 0x1000
mov dword [esp + 0x78], ecx
lea eax, [0x6873e0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.0044aea0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x13c], eax
lea ecx, [0x6a15c0]
mov dword [esp], ecx
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x78]
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x652922
mov ecx, dword [esp + 0x13c]
mov dword [eax + 8], ecx
jmp 0x652935
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x13c]
call fcn.004643a0
mov eax, ecx
lea ecx, [0x727910]
mov dword [eax + 0x18], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x652954
mov ecx, dword [esp + 0x148]
mov dword [eax + 0x1c], ecx
jmp 0x652967
lea edi, [eax + 0x1c]
mov ecx, eax
mov eax, dword [esp + 0x148]
call fcn.004643a0
mov eax, ecx
mov ecx, dword [esp + 0x2a0]
test byte [ecx], al
mov edx, dword [0x8d9190]
test edx, edx
jne 0x65297f
mov dword [ecx + 0x38], eax
jmp 0x652987
lea edi, [ecx + 0x38]
call fcn.004643a0
mov eax, dword [esp + 0x2a0]
mov dword [esp + 0x148], eax
lea ecx, [0x68fc80]
mov dword [esp], ecx
call fcn.0040bd00
mov eax, dword [esp + 4]
lea ecx, [0x653410]
mov dword [eax], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x6529c5
mov ecx, dword [esp + 0x148]
mov dword [eax + 4], ecx
jmp 0x6529d8
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x148]
call fcn.004643a0
mov eax, ecx
mov dword [esp], eax
call fcn.00441ac0
mov eax, dword [esp + 0x2a0]
mov dword [esp + 0x148], eax
lea ecx, [0x68fce0]
mov dword [esp], ecx
call fcn.0040bd00
mov eax, dword [esp + 4]
lea ecx, [0x6533d0]
mov dword [eax], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x652a1e
mov ecx, dword [esp + 0x148]
mov dword [eax + 4], ecx
jmp 0x652a31
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x148]
call fcn.004643a0
mov eax, ecx
mov dword [esp], eax
call fcn.00441ac0
mov dword [esp + 0x2a4], 0
mov dword [esp + 0x2a8], 0
call fcn.00435720
add esp, 0x278
ret
mov dword [esp], ecx
mov dword [esp + 4], ebx
lea eax, [0x6a7000]
mov dword [esp + 8], eax
call fcn.00409330
mov dword [esp + 0x104], eax
lea ecx, [0x6b5980]
mov dword [esp], ecx
call fcn.0040bd00
mov eax, dword [esp + 4]
mov dword [esp + 0x11c], eax
mov dword [eax + 4], 7
lea ecx, [0x6c02a0]
mov dword [eax], ecx
lea ecx, [0x6af8e0]
mov dword [esp], ecx
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x298]
mov edx, dword [esp + 0x294]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x652adc
mov dword [eax + 8], edx
mov ecx, dword [esp + 0x11c]
mov dword [ecx + 8], eax
jmp 0x652afb
lea edi, [eax + 8]
mov ecx, eax
mov eax, edx
call fcn.004643a0
mov edx, dword [esp + 0x11c]
lea edi, [edx + 8]
mov eax, ecx
call fcn.004643a0
mov ecx, edx
mov eax, dword [esp + 0x294]
mov edx, dword [esp + 0x298]
mov dword [ecx + 0x48], edx
mov edx, dword [0x8d9190]
test edx, edx
jne 0x652b25
mov dword [ecx + 0x44], eax
mov eax, dword [esp + 0x104]
mov dword [ecx + 0x1c], eax
jmp 0x652b3c
lea edi, [ecx + 0x44]
call fcn.004643a0
lea edi, [ecx + 0x1c]
mov eax, dword [esp + 0x104]
call fcn.004643a0
mov eax, dword [esp + 0x280]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x284]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
test eax, eax
je 0x652b6a
mov eax, dword [esp + 0x280]
mov ecx, dword [esp + 0x284]
jmp 0x652bda
mov eax, dword [esp + 0x280]
mov dword [esp], eax
mov ecx, dword [esp + 0x284]
mov dword [esp + 4], ecx
mov dword [esp + 0xc], 0xd
mov dword [esp + 8], 0xf8475800
call fcn.004eef30
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x94], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x120], edx
mov dword [esp + 0xc0], eax
lea eax, [esp + 0xb4]
mov dword [esp], eax
call fcn.00435150
test eax, eax
jne 0x65305b
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x120]
mov dword [esp + 0x94], eax
mov dword [esp + 0x120], ecx
lea edx, [0x6806c0]
mov dword [esp], edx
mov dword [esp + 4], 0
call fcn.00404bb0
mov eax, dword [esp + 8]
mov dword [esp + 0x118], eax
lea ecx, [0x6ac8a0]
mov dword [esp], ecx
call fcn.0040bd00
mov eax, dword [esp + 4]
mov dword [esp + 0x160], eax
lea ecx, [0x68eae0]
mov dword [esp], ecx
call fcn.0040bd00
mov eax, dword [esp + 4]
mov dword [esp + 0x164], eax
mov dword [eax], 0
mov dword [eax + 4], 0
lea ecx, [0x6a5880]
mov dword [esp], ecx
call fcn.0040bd00
mov eax, dword [esp + 4]
lea ecx, [0x653450]
mov dword [eax], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x652c8c
mov ecx, dword [esp + 0x118]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x164]
mov dword [eax + 8], edx
mov ebx, dword [esp + 0x11c]
mov dword [eax + 0xc], ebx
jmp 0x652ccc
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x118]
call fcn.004643a0
lea edi, [ecx + 8]
mov edx, eax
mov eax, dword [esp + 0x164]
call fcn.004643a0
lea edi, [ecx + 0xc]
mov ebx, eax
mov eax, dword [esp + 0x11c]
call fcn.004643a0
mov eax, ecx
mov ecx, edx
mov edx, ebx
mov ebx, dword [esp + 0x11c]
mov ebp, dword [esp + 0x98]
mov dword [eax + 0x10], ebp
mov esi, dword [0x8d9190]
test esi, esi
jne 0x652cf6
mov esi, dword [esp + 0x124]
mov dword [eax + 0x14], esi
mov edi, dword [esp + 0x160]
mov dword [eax + 0x18], edi
jmp 0x652d18
lea edi, [eax + 0x14]
mov esi, eax
mov eax, dword [esp + 0x124]
call fcn.004643a0
lea edi, [esi + 0x18]
mov eax, dword [esp + 0x160]
call fcn.004643a0
mov eax, esi
mov dword [esp], eax
call fcn.00441ac0
mov eax, dword [esp + 0x94]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x120]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov dword [esp + 0x16c], 0
mov dword [esp + 0x170], 0
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov dword [esp + 0x174], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 0x16c], eax
lea ecx, [esp + 0x16c]
mov dword [esp], ecx
lea ecx, [esp + 0xac]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 2
mov byte [esp + 0x14], 1
call fcn.00447c00
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x652feb
mov eax, dword [esp + 0x164]
mov ecx, dword [eax]
test ecx, ecx
jne 0x652fa4
mov ecx, dword [esp + 0x27c]
mov edx, dword [ecx + 0x4c]
test edx, edx
je 0x652e52
mov eax, dword [edx]
mov ecx, dword [esp + 0x160]
mov ebx, dword [ecx]
mov ebp, dword [esp + 0x288]
mov esi, dword [esp + 0x280]
mov dword [esp], esi
mov edi, dword [esp + 0x284]
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x11c]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x164]
mov dword [ebx], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x652e39
mov dword [ebx + 4], eax
jmp 0x652e41
lea edi, [ebx + 4]
call fcn.004643a0
mov ecx, dword [ebx]
test ecx, ecx
jne 0x652f7f
mov ecx, dword [esp + 0x27c]
mov eax, dword [esp + 0x160]
mov eax, dword [eax]
cmp dword [eax + 8], 0xc8
jne 0x652e70
mov ecx, dword [esp + 0xe8]
jmp 0x6524b1
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x7253ec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
call fcn.004d77e0
movzx eax, byte [esp + 0x20]
mov byte [esp + 0x67], al
mov ecx, dword [esp + 0x98]
mov ecx, dword [ecx + 0x10]
mov edx, dword [esp + 0x18]
mov dword [esp + 0xec], edx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x70], ebx
mov ebp, dword [esp + 0x124]
mov dword [esp], ebp
call ecx
movzx eax, byte [esp + 0x67]
test al, al
je 0x652f33
lea eax, [0x690d00]
mov dword [esp], eax
call fcn.0040bd00
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x70]
mov dword [edi + 4], eax
mov eax, dword [0x8d9190]
test eax, eax
jne 0x652efc
mov eax, dword [esp + 0xec]
mov dword [edi], eax
jmp 0x652f08
mov eax, dword [esp + 0xec]
call fcn.004643a0
mov dword [esp + 0x2a0], 0
lea eax, [0x727230]
mov dword [esp + 0x2a4], eax
mov dword [esp + 0x2a8], edi
call fcn.00435720
add esp, 0x278
ret
lea eax, [0x690d00]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x13
lea ecx, [0x6c4c4e]
mov dword [eax], ecx
mov dword [esp + 0x2a0], 0
lea ecx, [0x727230]
mov dword [esp + 0x2a4], ecx
mov dword [esp + 0x2a8], eax
call fcn.00435720
add esp, 0x278
ret
mov dword [esp + 0x2a0], 0
mov dword [esp + 0x2a4], ecx
mov dword [esp + 0x2a8], eax
call fcn.00435720
add esp, 0x278
ret
mov eax, dword [esp + 0x98]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x124]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0x164]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x2a0], 0
mov dword [esp + 0x2a4], ecx
mov dword [esp + 0x2a8], eax
call fcn.00435720
add esp, 0x278
ret
mov eax, dword [esp + 0x98]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x124]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004057d0
mov eax, dword [esp + 0x94]
mov eax, dword [eax + 0x18]
mov ecx, dword [esp + 0x120]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x2a0], 0
mov dword [esp + 0x2a4], eax
mov dword [esp + 0x2a8], ecx
call fcn.00435720
add esp, 0x278
ret
call fcn.00435720
add esp, 0x278
ret
mov dword [esp + 0x104], edx
nop
lea eax, [0x6c45ff]
mov dword [esp], eax
mov dword [esp + 4], 0x13
call fcn.00605ec0
mov eax, dword [esp + 8]
mov dword [esp + 0x144], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xa4], ecx
lea edx, [0x682800]
mov dword [esp], edx
call fcn.0040bd00
mov edi, dword [esp + 4]
mov dword [esp + 0x138], edi
mov eax, dword [esp + 0x80]
mov dword [edi + 4], eax
mov eax, dword [0x8d9190]
test eax, eax
jne 0x6530d3
mov eax, dword [esp + 0xf8]
mov dword [edi], eax
jmp 0x6530df
mov eax, dword [esp + 0xf8]
call fcn.004643a0
lea eax, [0x6ab980]
mov dword [esp], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x144]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0xc], ecx
call fcn.004108e0
mov edi, dword [esp + 0x10]
mov dword [edi + 4], 1
mov dword [edi + 8], 1
mov eax, dword [0x8d9190]
test eax, eax
jne 0x653135
mov eax, dword [esp + 0x138]
mov dword [edi], eax
jmp 0x653141
mov eax, dword [esp + 0x138]
call fcn.004643a0
mov eax, dword [esp + 0x104]
jmp 0x652a71
mov eax, dword [esp + 0x1f0]
mov eax, dword [eax + 4]
mov dword [esp + 0x6c], eax
lea ecx, [esp + 0x1ec]
mov dword [esp], ecx
call fcn.0040dbb0
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x88]
add eax, ecx
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0x1ec]
test ecx, ecx
jne 0x65314d
lea ecx, [0x6871e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.0044aea0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x13c], eax
mov ecx, dword [esp + 0x104]
mov edx, dword [ecx]
lea ebx, [0x6b3f40]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], 0
call fcn.0040c860
mov eax, dword [esp + 0xc]
mov dword [esp + 0x134], eax
lea edi, [esp + 0x1ec]
xor eax, eax
call fcn.00464634
lea eax, [0x6b3f40]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea ecx, [esp + 0x1ec]
mov dword [esp + 8], ecx
call fcn.0040d980
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x13c]
jmp 0x65323f
mov dword [esp + 0x74], ebx
mov dword [esp + 0xf4], ecx
lea eax, [esp + 0x1ec]
mov dword [esp], eax
call fcn.0040dbb0
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0xf4]
mov edx, dword [esp + 0x1ec]
test edx, edx
je 0x6533a0
mov dword [esp + 0x74], eax
mov dword [esp + 0xf4], ecx
mov ebx, dword [esp + 0x1f0]
mov ebp, dword [ebx]
mov esi, dword [edx]
mov edx, dword [edx + 4]
mov ebx, dword [ebx + 4]
test ebp, ebp
je 0x653344
mov dword [esp + 0x90], edx
mov dword [esp + 0x100], esi
lea edx, [0x6871e0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00411470
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x74]
cmp ebx, edx
jb 0x6533b1
mov dword [esp + 0x8c], edx
lea eax, [0x6b3f40]
mov dword [esp], eax
mov ecx, dword [esp + 0x134]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x100]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x90]
mov dword [esp + 0xc], edx
call fcn.004108e0
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x8c]
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x653310
mov edx, dword [esp + 0xf4]
mov dword [edi], edx
mov ecx, dword [esp + 0x74]
cmp ecx, eax
jmp 0x65332c
mov ecx, eax
mov eax, dword [esp + 0xf4]
call fcn.004643a0
mov edx, dword [esp + 0x74]
cmp edx, ecx
mov ebx, eax
mov eax, ecx
mov ecx, edx
mov edx, ebx
jb 0x6533ac
sub ecx, eax
mov ebx, ecx
neg ecx
shl eax, 3
sar ecx, 0x1f
and eax, ecx
lea ecx, [edx + eax]
jmp 0x65321a
lea eax, [0x6b3f40]
mov dword [esp], eax
mov ecx, dword [esp + 0x134]
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
call fcn.004108e0
mov edi, dword [esp + 0x10]
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [0x8d9190]
test eax, eax
jne 0x653389
mov dword [edi], 0
jmp 0x653390
xor eax, eax
call fcn.004643a0
mov ebx, dword [esp + 0x74]
mov ecx, dword [esp + 0xf4]
jmp 0x65321a
mov edx, dword [esp + 0x134]
jmp 0x653067
call fcn.00464480
call fcn.004644c0
nop
call fcn.00462f90
jmp fcn.00651560