Function at 0x590784
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff74
push ebx
push esi
push edi
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], eax
mov dword [ebp - 0x14], 0xfffffffc
mov eax, dword [ebp + 8]
xor edx, edx
mov dword [eax], edx
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x94c]
dec eax
test eax, eax
jl 0x5918e2
inc eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x948]
mov edx, dword [ebp - 0x18]
mov edx, dword [eax + edx*4]
mov eax, dword [ebp - 8]
call fcn.00580474
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
mov eax, dword [ebp - 8]
call fcn.0062cd90
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x80]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 8]
call fcn.0062cf0c
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x80]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 8]
call fcn.0062cd90
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x80]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 8]
call fcn.0062cf0c
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x80]
mov edx, dword [eax + 8]
inc edx
mov eax, dword [ebp - 8]
call fcn.0062cd90
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x80]
mov edx, dword [eax + 0xc]
inc edx
mov eax, dword [ebp - 8]
call fcn.0062cf0c
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp - 8]
push dword [eax + 0x3fc]
push dword [eax + 0x3f8]
lea ecx, [ebp - 0x1c]
mov eax, dword [ebp - 4]
mov edx, eax
mov eax, dword [ebp - 8]
call fcn.0059db7c
mov eax, dword [ebp - 8]
push dword [eax + 0x3f4]
push dword [eax + 0x3f0]
mov eax, dword [ebp - 4]
mov edx, eax
mov eax, dword [ebp - 8]
call fcn.0059f3b4
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
je 0x5908c7
mov eax, dword [ebp - 0x5c]
add dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x5c]
add dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x5c]
add dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x5c]
add dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x5c]
add dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x5c]
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x80]
cmp byte [eax + 0x10], 3
jne 0x5908fa
cmp dword [ebp - 0x5c], 0
jle 0x5908fa
mov eax, dword [ebp - 8]
fld qword [eax + 0x3f0]
fcomp dword [0x5918f0]
fnstsw ax
sahf
jne 0x5908fa
sub dword [ebp - 0x24], 2
sub dword [ebp - 0x28], 2
sub dword [ebp - 0x2c], 2
sub dword [ebp - 0x30], 2
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x3c]
lea edx, [ebp - 0x38]
lea eax, [ebp - 0x34]
call fcn.005eaff8
xor eax, eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], 0x408f4000
mov eax, dword [ebp - 0x28]
push eax
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x414]
push ebx
mov eax, dword [ebp - 8]
mov esi, dword [eax + 0x418]
push esi
mov eax, dword [ebp - 8]
add ebx, dword [eax + 0x41c]
push ebx
mov eax, dword [ebp - 8]
add esi, dword [eax + 0x420]
push esi
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
call fcn.0063e704
test al, al
jne 0x59099e
push ebp
call fcn.00590364
pop ecx
test al, al
jne 0x59099e
push ebp
call fcn.00590444
pop ecx
test al, al
jne 0x59099e
push ebp
call fcn.00590534
pop ecx
test al, al
jne 0x59099e
push ebp
call fcn.005906a0
pop ecx
test al, al
je 0x5918d6
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x80]
mov dl, byte [eax + 0x10]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
call fcn.00580ce8
test al, al
je 0x5909cc
mov eax, dword [ebp + 8]
mov dword [eax], 1
mov eax, dword [ebp - 0x28]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x80]
mov dl, byte [eax + 0x10]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 8]
call fcn.00580ce8
test al, al
je 0x5909fa
mov eax, dword [ebp + 8]
mov dword [eax], 2
mov eax, dword [ebp - 0x80]
mov bl, byte [eax + 0x10]
cmp bl, 1
je 0x590b6c
cmp bl, 7
je 0x590b6c
cmp bl, 0xb
je 0x590b6c
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x68]
push eax
mov edx, ebx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 8]
call fcn.00580ce8
test al, al
je 0x590a45
mov eax, dword [ebp + 8]
mov dword [eax], 4
mov eax, dword [ebp - 0x28]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x80]
mov dl, byte [eax + 0x10]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
call fcn.00580ce8
test al, al
je 0x590a73
mov eax, dword [ebp + 8]
mov dword [eax], 5
mov eax, dword [ebp - 0x80]
cmp byte [eax + 0x10], 8
jne 0x590a8c
mov eax, dword [ebp - 0x80]
cmp byte [eax + 0x196], 0
jne 0x590b6c
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x28]
sar eax, 1
jns 0x590a99
adc eax, 0
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x80]
mov dl, byte [eax + 0x10]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
call fcn.00580ce8
test al, al
je 0x590ac4
mov eax, dword [ebp + 8]
mov dword [eax], 6
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x28]
sar eax, 1
jns 0x590ad1
adc eax, 0
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x80]
mov dl, byte [eax + 0x10]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 8]
call fcn.00580ce8
test al, al
je 0x590afc
mov eax, dword [ebp + 8]
mov dword [eax], 7
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x68]
push eax
mov ecx, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x24]
sar ecx, 1
jns 0x590b19
adc ecx, 0
mov eax, dword [ebp - 0x80]
mov dl, byte [eax + 0x10]
mov eax, dword [ebp - 8]
call fcn.00580ce8
test al, al
je 0x590b34
mov eax, dword [ebp + 8]
mov dword [eax], 8
mov eax, dword [ebp - 0x28]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x68]
push eax
mov ecx, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x24]
sar ecx, 1
jns 0x590b51
adc ecx, 0
mov eax, dword [ebp - 0x80]
mov dl, byte [eax + 0x10]
mov eax, dword [ebp - 8]
call fcn.00580ce8
test al, al
je 0x590b6c
mov eax, dword [ebp + 8]
mov dword [eax], 9
mov eax, dword [ebp - 0x80]
cmp byte [eax + 0x10], 0xa
jne 0x590da6
mov eax, dword [ebp - 4]
cmp byte [eax + 0x40], 0
jne 0x590da6
mov eax, dword [ebp - 4]
cmp byte [eax + 0x19d], 0
jne 0x590da6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x114]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x118]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
xor edx, edx
mov eax, dword [ebp - 8]
call fcn.00589108
test al, al
jne 0x590c96
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x48]
mov eax, dword [ebp - 4]
mov edx, eax
mov eax, dword [ebp - 8]
call fcn.005891b8
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 8]
call fcn.0062cd90
mov dword [ebp - 0x48], eax
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 8]
call fcn.0062cf0c
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 8]
call fcn.0062cd90
mov dword [ebp - 0x50], eax
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 8]
call fcn.0062cf0c
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x5c]
add dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x5c]
add dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x5c]
add dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x5c]
add dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x44]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x80]
mov dl, byte [eax + 0x10]
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 8]
call fcn.00580ce8
test al, al
je 0x590c68
mov eax, dword [ebp + 8]
mov dword [eax], 0xb
mov eax, dword [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x80]
mov dl, byte [eax + 0x10]
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 8]
call fcn.00580ce8
test al, al
je 0x590c96
mov eax, dword [ebp + 8]
mov dword [eax], 0xc
mov eax, dword [ebp - 4]
cmp byte [eax + 0x139], 0
je 0x590da6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x13c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x140]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
xor edx, edx
mov eax, dword [ebp - 8]
call fcn.00589108
test al, al
jne 0x590da6
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x48]
mov eax, dword [ebp - 4]
mov edx, eax
mov eax, dword [ebp - 8]
call fcn.00589440
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 8]
call fcn.0062cd90
mov dword [ebp - 0x48], eax
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 8]
call fcn.0062cf0c
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 8]
call fcn.0062cd90
mov dword [ebp - 0x50], eax
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 8]
call fcn.0062cf0c
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x5c]
add dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x5c]
add dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x5c]
add dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x5c]
add dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x44]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x80]
mov dl, byte [eax + 0x10]
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 8]
call fcn.00580ce8
test al, al
je 0x590d78
mov eax, dword [ebp + 8]
mov dword [eax], 0xe
mov eax, dword [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x80]
mov dl, byte [eax + 0x10]
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 8]
call fcn.00580ce8
test al, al
je 0x590da6
mov eax, dword [ebp + 8]
mov dword [eax], 0xf
mov eax, dword [ebp - 0x80]
cmp byte [eax + 0x10], 0xa
jne 0x590e44
mov eax, dword [ebp - 4]
cmp byte [eax + 0x40], 0
jne 0x590e44
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
mov eax, dword [ebp - 0x80]
add edx, dword [eax + 0x114]
mov eax, dword [ebp - 8]
call fcn.0062cd90
mov edi, eax
mov eax, dword [ebp - 0x80]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
add edx, dword [eax + 0x118]
mov eax, dword [ebp - 8]
call fcn.0062cf0c
mov esi, eax
add edi, dword [ebp - 0x5c]
add esi, dword [ebp - 0x5c]
xor eax, eax
push ebp
push 0x590e3d
push dword fs:[eax]
mov dword fs:[eax], esp
push esi
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x80]
mov dl, byte [eax + 0x10]
mov ecx, edi
mov eax, dword [ebp - 8]
call fcn.00580ce8
test al, al
je 0x590e2f
mov eax, dword [ebp + 8]
mov dword [eax], 0xa
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x590e44
ret
mov eax, dword [ebp - 0x80]
cmp byte [eax + 0x10], 0xa
jne 0x590ef2
mov eax, dword [ebp - 4]
cmp byte [eax + 0x40], 0
jne 0x590ef2
mov eax, dword [ebp - 4]
cmp byte [eax + 0x139], 0
je 0x590ef2
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
mov eax, dword [ebp - 0x80]
add edx, dword [eax + 0x13c]
mov eax, dword [ebp - 8]
call fcn.0062cd90
mov edi, eax
mov eax, dword [ebp - 0x80]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
add edx, dword [eax + 0x140]
mov eax, dword [ebp - 8]
call fcn.0062cf0c
mov esi, eax
add edi, dword [ebp - 0x5c]
add esi, dword [ebp - 0x5c]
xor eax, eax
push ebp
push 0x590eeb
push dword fs:[eax]
mov dword fs:[eax], esp
push esi
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x80]
mov dl, byte [eax + 0x10]
mov ecx, edi
mov eax, dword [ebp - 8]
call fcn.00580ce8
test al, al
je 0x590edd
mov eax, dword [ebp + 8]
mov dword [eax], 0xd
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x590ef2
ret
mov eax, dword [ebp - 0x80]
cmp byte [eax + 0x10], 3
jne 0x59137c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x1dc], 0
je 0x59137c
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 8]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jle 0x59137c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0xc]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jle 0x59137c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
mov eax, dword [ebp - 4]
mov esi, dword [eax + 8]
push esi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
push eax
mov edx, esi
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
mov eax, ebx
call fcn.005eaf8c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x114]
sub edx, eax
push edx
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
call fcn.005eaf8c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x118]
sub edx, eax
push edx
mov ecx, ebx
mov dl, 1
mov eax, dword [ebp - 8]
call fcn.00589108
test al, al
jne 0x590fc9
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 8]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jle 0x590fc9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0xc]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg 0x590fcd
xor eax, eax
jmp 0x590fcf
mov al, 1
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x118]
push eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 4]
add edx, dword [eax + 0xc]
sar edx, 1
jns 0x590fee
adc edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 8]
sar eax, 1
jns 0x591000
adc eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x114]
call fcn.006401c4
fstp qword [ebp - 0x88]
wait
mov eax, 5
call fcn.00656b0c
mov dword [ebp - 0x8c], eax
fild dword [ebp - 0x8c]
fcomp qword [ebp - 0x88]
fnstsw ax
sahf
jbe 0x591144
mov eax, dword [ebp - 0x80]
mov edx, dword [eax + 0x114]
mov eax, dword [ebp - 8]
call fcn.0062cd90
mov edi, eax
mov eax, dword [ebp - 0x80]
mov edx, dword [eax + 0x118]
mov eax, dword [ebp - 8]
call fcn.0062cf0c
mov esi, eax
add edi, dword [ebp - 0x5c]
add esi, dword [ebp - 0x5c]
push esi
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x80]
mov dl, byte [eax + 0x10]
mov ecx, edi
mov eax, dword [ebp - 8]
call fcn.00580ce8
test al, al
je 0x591095
mov eax, dword [ebp + 8]
mov dword [eax], 0x12
jmp 0x59123e
test bl, bl
je 0x59123e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x114]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x118]
push eax
mov eax, dword [ebp - 4]
push dword [eax + 0x134]
push dword [eax + 0x130]
lea eax, [ebp - 0x58]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 4]
add ecx, dword [eax + 0xc]
sar ecx, 1
jns 0x5910d7
adc ecx, 0
mov eax, dword [ebp - 4]
mov edx, dword [eax]
mov eax, dword [ebp - 4]
add edx, dword [eax + 8]
sar edx, 1
jns 0x5910e9
adc edx, 0
mov eax, dword [ebp - 8]
call fcn.005814b4
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 8]
call fcn.0062cd90
mov edi, eax
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 8]
call fcn.0062cf0c
mov esi, eax
add edi, dword [ebp - 0x5c]
add esi, dword [ebp - 0x5c]
push esi
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x80]
mov dl, byte [eax + 0x10]
mov ecx, edi
mov eax, dword [ebp - 8]
call fcn.00580ce8
test al, al
je 0x59123e
mov eax, dword [ebp + 8]
mov dword [eax], 0x13
jmp 0x59123e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x114]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x118]
push eax
mov eax, dword [ebp - 4]
push dword [eax + 0x134]
push dword [eax + 0x130]
lea eax, [ebp - 0x58]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 4]
add ecx, dword [eax + 0xc]
sar ecx, 1
jns 0x59117e
adc ecx, 0
mov eax, dword [ebp - 4]
mov edx, dword [eax]
mov eax, dword [ebp - 4]
add edx, dword [eax + 8]
sar edx, 1
jns 0x591190
adc edx, 0
mov eax, dword [ebp - 8]
call fcn.005814b4
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 8]
call fcn.0062cd90
mov edi, eax
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 8]
call fcn.0062cf0c
mov esi, eax
add edi, dword [ebp - 0x5c]
add esi, dword [ebp - 0x5c]
test bl, bl
je 0x5911e8
push esi
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x80]
mov dl, byte [eax + 0x10]
mov ecx, edi
mov eax, dword [ebp - 8]
call fcn.00580ce8
test al, al
je 0x5911e8
mov eax, dword [ebp + 8]
mov dword [eax], 0x13
jmp 0x59123e
mov eax, dword [ebp - 0x80]
mov edx, dword [eax + 0x114]
mov eax, dword [ebp - 8]
call fcn.0062cd90
mov edi, eax
mov eax, dword [ebp - 0x80]
mov edx, dword [eax + 0x118]
mov eax, dword [ebp - 8]
call fcn.0062cf0c
mov esi, eax
add edi, dword [ebp - 0x5c]
add esi, dword [ebp - 0x5c]
push esi
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x80]
mov dl, byte [eax + 0x10]
mov ecx, edi
mov eax, dword [ebp - 8]
call fcn.00580ce8
test al, al
je 0x59123e
mov eax, dword [ebp + 8]
mov dword [eax], 0x12
mov eax, dword [ebp + 8]
cmp dword [eax], 0
jne 0x59137c
mov eax, dword [ebp - 0x80]
cmp byte [eax + 0x1e4], 0
je 0x59137c
mov eax, dword [ebp - 0x80]
mov edx, dword [eax + 0x1e0]
mov eax, dword [ebp - 8]
call fcn.0058ca00
fstp qword [ebp - 0x78]
wait
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x80]
sub eax, dword [edx]
cdq
xor eax, edx
sub eax, edx
mov edx, eax
dec edx
xor eax, eax
call fcn.004326fc
mov dword [ebp - 0x8c], eax
fild dword [ebp - 0x8c]
fdiv qword [ebp - 0x78]
call fcn.00402f7c
mov edi, eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x80]
sub eax, dword [edx + 4]
cdq
xor eax, edx
sub eax, edx
mov edx, eax
dec edx
xor eax, eax
call fcn.004326fc
mov dword [ebp - 0x8c], eax
fild dword [ebp - 0x8c]
fdiv qword [ebp - 0x78]
call fcn.00402f7c
mov edx, dword [ebp - 0x80]
mov ebx, dword [edx + 0x114]
mov edx, edi
sar edx, 1
jns 0x5912e0
adc edx, 0
sub ebx, edx
mov edx, dword [ebp - 0x80]
mov esi, dword [edx + 0x118]
mov edx, eax
sar edx, 1
jns 0x5912f4
adc edx, 0
sub esi, edx
add edi, ebx
add eax, esi
mov dword [ebp - 0x70], eax
push esi
push edi
mov eax, dword [ebp - 0x70]
push eax
push 1
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.0062d14c
push eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
call fcn.0062d088
mov ecx, ebx
pop edx
call fcn.00591a5c
fcomp dword [0x5918f4]
fnstsw ax
sahf
ja 0x59137c
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 4]
push eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 8]
push eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0xc]
push eax
push 1
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.0062d14c
push eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
call fcn.0062d088
mov edx, dword [ebp - 0x80]
mov ecx, dword [edx]
pop edx
call fcn.00591a5c
fcomp dword [0x5918f4]
fnstsw ax
sahf
jbe 0x59137c
mov eax, dword [ebp + 8]
mov dword [eax], 0x14
mov edx, dword [ebp - 0x80]
cmp byte [edx + 0x10], 2
jne 0x59156b
mov edx, dword [ebp - 4]
cmp byte [edx + 0x41], 0
je 0x59156b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e8]
test eax, eax
je 0x5913aa
dec eax
jne 0x59156b
mov eax, dword [ebp - 4]
cmp byte [eax + 0x19d], 0
je 0x59156b
mov edx, dword [ebp - 4]
xor ecx, ecx
mov eax, dword [ebp - 8]
call fcn.005901f8
mov eax, dword [ebp - 4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 4]
mov eax, dword [eax]
call fcn.005eaf8c
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 4]
sub eax, dword [edx]
cdq
xor eax, edx
sub eax, edx
mov edx, dword [ebp - 4]
imul dword [edx + 0x114]
mov dword [ebp - 0x8c], eax
fild dword [ebp - 0x8c]
fdiv dword [0x5918f8]
call fcn.00402f7c
add ebx, eax
mov edx, ebx
mov eax, dword [ebp - 8]
call fcn.0062cd90
mov edi, eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
call fcn.005eaf8c
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 4]
cdq
xor eax, edx
sub eax, edx
mov edx, dword [ebp - 4]
imul dword [edx + 0x118]
mov dword [ebp - 0x8c], eax
fild dword [ebp - 0x8c]
fdiv dword [0x5918f8]
call fcn.00402f7c
add ebx, eax
mov edx, ebx
mov eax, dword [ebp - 8]
call fcn.0062cf0c
mov esi, eax
add edi, dword [ebp - 0x5c]
add esi, dword [ebp - 0x5c]
push esi
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x80]
mov dl, byte [eax + 0x10]
mov ecx, edi
mov eax, dword [ebp - 8]
call fcn.00580ce8
test al, al
je 0x591499
mov eax, dword [ebp + 8]
mov dword [eax], 0x15
mov eax, dword [ebp - 4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 4]
mov eax, dword [eax]
call fcn.005eaf8c
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 4]
sub eax, dword [edx]
cdq
xor eax, edx
sub eax, edx
mov edx, dword [ebp - 4]
imul dword [edx + 0x13c]
mov dword [ebp - 0x8c], eax
fild dword [ebp - 0x8c]
fdiv dword [0x5918f8]
call fcn.00402f7c
add ebx, eax
mov edx, ebx
mov eax, dword [ebp - 8]
call fcn.0062cd90
mov edi, eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
call fcn.005eaf8c
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 4]
cdq
xor eax, edx
sub eax, edx
mov edx, dword [ebp - 4]
imul dword [edx + 0x140]
mov dword [ebp - 0x8c], eax
fild dword [ebp - 0x8c]
fdiv dword [0x5918f8]
call fcn.00402f7c
add ebx, eax
mov edx, ebx
mov eax, dword [ebp - 8]
call fcn.0062cf0c
mov esi, eax
add edi, dword [ebp - 0x5c]
add esi, dword [ebp - 0x5c]
push esi
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x80]
mov dl, byte [eax + 0x10]
mov ecx, edi
mov eax, dword [ebp - 8]
call fcn.00580ce8
test al, al
je 0x59156b
mov eax, dword [ebp + 8]
mov dword [eax], 0x16
mov eax, dword [ebp - 0x80]
cmp byte [eax + 0x10], 9
jne 0x591585
mov eax, dword [ebp + 8]
cmp dword [eax], 0
jle 0x591585
mov eax, dword [ebp + 8]
mov dword [eax], 3
mov eax, dword [ebp - 0x80]
test byte [eax + 0xac], 4
jne 0x5915a2
mov eax, dword [ebp + 8]
cmp dword [eax], 0
jle 0x5915a2
mov eax, dword [ebp + 8]
mov dword [eax], 3
mov eax, dword [ebp + 8]
cmp dword [eax], 0
jne 0x5915ee
mov eax, dword [ebp - 8]
cmp byte [eax + 0x724], 0
jne 0x5915ee
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.0062d14c
push eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
call fcn.0062d088
mov ecx, eax
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
call fcn.00583604
fcomp dword [0x5918fc]
fnstsw ax
sahf
jae 0x5915ee
mov eax, dword [ebp + 8]
mov dword [eax], 3
mov eax, dword [ebp + 8]
cmp dword [eax], 0
jle 0x591757
mov eax, dword [ebp + 8]
cmp dword [eax], 3
je 0x591757
mov eax, dword [ebp + 8]
cmp dword [eax], 0x12
je 0x591757
mov eax, dword [ebp + 8]
cmp dword [eax], 0x13
je 0x591757
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.0062d14c
push eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
call fcn.0062d088
mov ecx, eax
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
call fcn.00583604
fcomp dword [0x5918fc]
fnstsw ax
sahf
jae 0x591757
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x28]
sar eax, 1
jns 0x59165e
adc eax, 0
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x68]
push eax
mov ecx, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x24]
sar ecx, 1
jns 0x591678
adc ecx, 0
mov eax, dword [ebp - 0x80]
mov dl, byte [eax + 0x10]
mov eax, dword [ebp - 8]
call fcn.00580ce8
test al, al
je 0x591693
mov eax, dword [ebp + 8]
mov dword [eax], 3
mov eax, dword [ebp + 8]
cmp dword [eax], 3
je 0x5916f4
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x28]
sar eax, 1
jns 0x5916a8
adc eax, 0
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x1c]
cdq
xor eax, edx
sub eax, edx
test eax, eax
jns 0x5916c7
add eax, 3
sar eax, 2
mov ecx, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x24]
sar ecx, 1
jns 0x5916d7
adc ecx, 0
sub ecx, eax
mov eax, dword [ebp - 0x80]
mov dl, byte [eax + 0x10]
mov eax, dword [ebp - 8]
call fcn.00580ce8
test al, al
je 0x5916f4
mov eax, dword [ebp + 8]
mov dword [eax], 3
mov eax, dword [ebp + 8]
cmp dword [eax], 3
je 0x591757
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x28]
sar eax, 1
jns 0x591709
adc eax, 0
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x1c]
cdq
xor eax, edx
sub eax, edx
mov ecx, eax
test ecx, ecx
jns 0x59172a
add ecx, 3
sar ecx, 2
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x24]
sar eax, 1
jns 0x59173a
adc eax, 0
add ecx, eax
mov eax, dword [ebp - 0x80]
mov dl, byte [eax + 0x10]
mov eax, dword [ebp - 8]
call fcn.00580ce8
test al, al
je 0x591757
mov eax, dword [ebp + 8]
mov dword [eax], 3
mov eax, dword [ebp + 8]
cmp dword [eax], 3
je 0x59176b
mov eax, dword [ebp + 8]
cmp dword [eax], 0
jne 0x591871
mov eax, dword [ebp - 0x80]
cmp byte [eax + 0x10], 1
jne 0x591871
mov eax, dword [ebp - 0x80]
cmp dword [eax + 0x198], 0xc8
je 0x591871
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x48]
mov eax, dword [ebp - 4]
mov edx, eax
mov eax, dword [ebp - 8]
call fcn.0058ffec
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 8]
call fcn.0062cf0c
add eax, dword [ebp - 0x5c]
push eax
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 8]
call fcn.0062cd90
add eax, dword [ebp - 0x5c]
lea ecx, [ebp - 0x88]
pop edx
call fcn.0041d0fc
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 8]
call fcn.0062cf0c
add eax, dword [ebp - 0x5c]
push eax
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 8]
call fcn.0062cd90
add eax, dword [ebp - 0x5c]
lea ecx, [ebp - 0x88]
pop edx
call fcn.0041d0fc
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x44]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x80]
mov dl, byte [eax + 0x10]
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 8]
call fcn.00580ce8
test al, al
je 0x591843
mov eax, dword [ebp + 8]
mov dword [eax], 0x10
mov eax, dword [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x80]
mov dl, byte [eax + 0x10]
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 8]
call fcn.00580ce8
test al, al
je 0x591871
mov eax, dword [ebp + 8]
mov dword [eax], 0x11
mov eax, dword [ebp + 8]
cmp dword [eax], 0
je 0x5918d6
mov eax, dword [ebp + 8]
cmp dword [eax], 3
je 0x591889
mov eax, dword [ebp + 8]
cmp dword [eax], 0x14
jne 0x5918c6
mov eax, dword [ebp - 8]
cmp word [eax + 0xa3a], 0
je 0x5918c6
mov byte [ebp - 0x69], 0
mov eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x69]
push eax
mov ebx, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0xa3c]
call dword [ebx + 0xa38]
cmp byte [ebp - 0x69], 0
je 0x5918c6
mov eax, dword [ebp + 8]
xor edx, edx
mov dword [eax], edx
jmp 0x5918e2
mov eax, dword [ebp + 8]
cmp dword [eax], 0
je 0x5918e2
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
jmp 0x5918e2
inc dword [ebp - 0x18]
dec dword [ebp - 0x7c]
jne 0x5907c4
mov eax, dword [ebp - 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4