Function at 0x5505d0
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 0x5516d9
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.005402a4
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.00619d5c
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x80]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 8]
call fcn.00619ed8
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x80]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 8]
call fcn.00619d5c
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x80]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 8]
call fcn.00619ed8
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x80]
mov edx, dword [eax + 8]
inc edx
mov eax, dword [ebp - 8]
call fcn.00619d5c
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x80]
mov edx, dword [eax + 0xc]
inc edx
mov eax, dword [ebp - 8]
call fcn.00619ed8
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.0055c444
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.0055cbe0
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
je 0x550713
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 0x550746
cmp dword [ebp - 0x5c], 0
jle 0x550746
mov eax, dword [ebp - 8]
fld qword [eax + 0x3f0]
fcomp dword [0x5516e8]
fnstsw ax
sahf
jne 0x550746
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.005cf578
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.0062bbd0
test al, al
jne 0x5507ea
push ebp
call fcn.005501b0
pop ecx
test al, al
jne 0x5507ea
push ebp
call fcn.00550290
pop ecx
test al, al
jne 0x5507ea
push ebp
call fcn.00550380
pop ecx
test al, al
jne 0x5507ea
push ebp
call fcn.005504ec
pop ecx
test al, al
je 0x5516cd
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.00540b18
test al, al
je 0x550818
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.00540b18
test al, al
je 0x550846
mov eax, dword [ebp + 8]
mov dword [eax], 2
mov eax, dword [ebp - 0x80]
mov bl, byte [eax + 0x10]
cmp bl, 1
je 0x5509b8
cmp bl, 7
je 0x5509b8
cmp bl, 0xb
je 0x5509b8
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.00540b18
test al, al
je 0x550891
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.00540b18
test al, al
je 0x5508bf
mov eax, dword [ebp + 8]
mov dword [eax], 5
mov eax, dword [ebp - 0x80]
cmp byte [eax + 0x10], 8
jne 0x5508d8
mov eax, dword [ebp - 0x80]
cmp byte [eax + 0x196], 0
jne 0x5509b8
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x28]
sar eax, 1
jns 0x5508e5
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.00540b18
test al, al
je 0x550910
mov eax, dword [ebp + 8]
mov dword [eax], 6
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x28]
sar eax, 1
jns 0x55091d
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.00540b18
test al, al
je 0x550948
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 0x550965
adc ecx, 0
mov eax, dword [ebp - 0x80]
mov dl, byte [eax + 0x10]
mov eax, dword [ebp - 8]
call fcn.00540b18
test al, al
je 0x550980
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 0x55099d
adc ecx, 0
mov eax, dword [ebp - 0x80]
mov dl, byte [eax + 0x10]
mov eax, dword [ebp - 8]
call fcn.00540b18
test al, al
je 0x5509b8
mov eax, dword [ebp + 8]
mov dword [eax], 9
mov eax, dword [ebp - 0x80]
cmp byte [eax + 0x10], 0xa
jne 0x550bf2
mov eax, dword [ebp - 4]
cmp byte [eax + 0x40], 0
jne 0x550bf2
mov eax, dword [ebp - 4]
cmp byte [eax + 0x19d], 0
jne 0x550bf2
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.00548db0
test al, al
jne 0x550ae2
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.00548e60
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 8]
call fcn.00619d5c
mov dword [ebp - 0x48], eax
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 8]
call fcn.00619ed8
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 8]
call fcn.00619d5c
mov dword [ebp - 0x50], eax
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 8]
call fcn.00619ed8
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.00540b18
test al, al
je 0x550ab4
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.00540b18
test al, al
je 0x550ae2
mov eax, dword [ebp + 8]
mov dword [eax], 0xc
mov eax, dword [ebp - 4]
cmp byte [eax + 0x139], 0
je 0x550bf2
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.00548db0
test al, al
jne 0x550bf2
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.005490e8
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 8]
call fcn.00619d5c
mov dword [ebp - 0x48], eax
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 8]
call fcn.00619ed8
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 8]
call fcn.00619d5c
mov dword [ebp - 0x50], eax
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 8]
call fcn.00619ed8
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.00540b18
test al, al
je 0x550bc4
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.00540b18
test al, al
je 0x550bf2
mov eax, dword [ebp + 8]
mov dword [eax], 0xf
mov eax, dword [ebp - 0x80]
cmp byte [eax + 0x10], 0xa
jne 0x550c90
mov eax, dword [ebp - 4]
cmp byte [eax + 0x40], 0
jne 0x550c90
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.00619d5c
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.00619ed8
mov esi, eax
add edi, dword [ebp - 0x5c]
add esi, dword [ebp - 0x5c]
xor eax, eax
push ebp
push 0x550c89
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.00540b18
test al, al
je 0x550c7b
mov eax, dword [ebp + 8]
mov dword [eax], 0xa
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x550c90
ret
mov eax, dword [ebp - 0x80]
cmp byte [eax + 0x10], 0xa
jne 0x550d3e
mov eax, dword [ebp - 4]
cmp byte [eax + 0x40], 0
jne 0x550d3e
mov eax, dword [ebp - 4]
cmp byte [eax + 0x139], 0
je 0x550d3e
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.00619d5c
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.00619ed8
mov esi, eax
add edi, dword [ebp - 0x5c]
add esi, dword [ebp - 0x5c]
xor eax, eax
push ebp
push 0x550d37
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.00540b18
test al, al
je 0x550d29
mov eax, dword [ebp + 8]
mov dword [eax], 0xd
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x550d3e
ret
mov eax, dword [ebp - 0x80]
cmp byte [eax + 0x10], 3
jne 0x5511c8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x1dc], 0
je 0x5511c8
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 0x5511c8
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 0x5511c8
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.005cf50c
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.005cf50c
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.00548db0
test al, al
jne 0x550e15
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 0x550e15
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 0x550e19
xor eax, eax
jmp 0x550e1b
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 0x550e3a
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 0x550e4c
adc eax, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x114]
call fcn.0062d690
fstp qword [ebp - 0x88]
wait
mov eax, 5
call fcn.00642e9c
mov dword [ebp - 0x8c], eax
fild dword [ebp - 0x8c]
fcomp qword [ebp - 0x88]
fnstsw ax
sahf
jbe 0x550f90
mov eax, dword [ebp - 0x80]
mov edx, dword [eax + 0x114]
mov eax, dword [ebp - 8]
call fcn.00619d5c
mov edi, eax
mov eax, dword [ebp - 0x80]
mov edx, dword [eax + 0x118]
mov eax, dword [ebp - 8]
call fcn.00619ed8
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.00540b18
test al, al
je 0x550ee1
mov eax, dword [ebp + 8]
mov dword [eax], 0x12
jmp 0x55108a
test bl, bl
je 0x55108a
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 0x550f23
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 0x550f35
adc edx, 0
mov eax, dword [ebp - 8]
call fcn.005411c0
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 8]
call fcn.00619d5c
mov edi, eax
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 8]
call fcn.00619ed8
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.00540b18
test al, al
je 0x55108a
mov eax, dword [ebp + 8]
mov dword [eax], 0x13
jmp 0x55108a
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 0x550fca
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 0x550fdc
adc edx, 0
mov eax, dword [ebp - 8]
call fcn.005411c0
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 8]
call fcn.00619d5c
mov edi, eax
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 8]
call fcn.00619ed8
mov esi, eax
add edi, dword [ebp - 0x5c]
add esi, dword [ebp - 0x5c]
test bl, bl
je 0x551034
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.00540b18
test al, al
je 0x551034
mov eax, dword [ebp + 8]
mov dword [eax], 0x13
jmp 0x55108a
mov eax, dword [ebp - 0x80]
mov edx, dword [eax + 0x114]
mov eax, dword [ebp - 8]
call fcn.00619d5c
mov edi, eax
mov eax, dword [ebp - 0x80]
mov edx, dword [eax + 0x118]
mov eax, dword [ebp - 8]
call fcn.00619ed8
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.00540b18
test al, al
je 0x55108a
mov eax, dword [ebp + 8]
mov dword [eax], 0x12
mov eax, dword [ebp + 8]
cmp dword [eax], 0
jne 0x5511c8
mov eax, dword [ebp - 0x80]
cmp byte [eax + 0x1e4], 0
je 0x5511c8
mov eax, dword [ebp - 0x80]
mov edx, dword [eax + 0x1e0]
mov eax, dword [ebp - 8]
call fcn.0054c84c
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.00437fc0
mov dword [ebp - 0x8c], eax
fild dword [ebp - 0x8c]
fdiv qword [ebp - 0x78]
call fcn.00402ffc
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.00437fc0
mov dword [ebp - 0x8c], eax
fild dword [ebp - 0x8c]
fdiv qword [ebp - 0x78]
call fcn.00402ffc
mov edx, dword [ebp - 0x80]
mov ebx, dword [edx + 0x114]
mov edx, edi
sar edx, 1
jns 0x55112c
adc edx, 0
sub ebx, edx
mov edx, dword [ebp - 0x80]
mov esi, dword [edx + 0x118]
mov edx, eax
sar edx, 1
jns 0x551140
adc edx, 0
sub esi, edx
add edi, ebx
add eax, esi
mov dword [ebp - 0x6c], eax
push esi
push edi
mov eax, dword [ebp - 0x6c]
push eax
push 1
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.0061a118
push eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
call fcn.0061a054
mov ecx, ebx
pop edx
call fcn.00551854
fcomp dword [0x5516ec]
fnstsw ax
sahf
ja 0x5511c8
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.0061a118
push eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
call fcn.0061a054
mov edx, dword [ebp - 0x80]
mov ecx, dword [edx]
pop edx
call fcn.00551854
fcomp dword [0x5516ec]
fnstsw ax
sahf
jbe 0x5511c8
mov eax, dword [ebp + 8]
mov dword [eax], 0x14
mov edx, dword [ebp - 0x80]
cmp byte [edx + 0x10], 2
jne 0x5513b7
mov edx, dword [ebp - 4]
cmp byte [edx + 0x41], 0
je 0x5513b7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e8]
test eax, eax
je 0x5511f6
dec eax
jne 0x5513b7
mov eax, dword [ebp - 4]
cmp byte [eax + 0x19d], 0
je 0x5513b7
mov edx, dword [ebp - 4]
xor ecx, ecx
mov eax, dword [ebp - 8]
call fcn.00550044
mov eax, dword [ebp - 4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 4]
mov eax, dword [eax]
call fcn.005cf50c
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 [0x5516f0]
call fcn.00402ffc
add ebx, eax
mov edx, ebx
mov eax, dword [ebp - 8]
call fcn.00619d5c
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.005cf50c
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 [0x5516f0]
call fcn.00402ffc
add ebx, eax
mov edx, ebx
mov eax, dword [ebp - 8]
call fcn.00619ed8
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.00540b18
test al, al
je 0x5512e5
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.005cf50c
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 [0x5516f0]
call fcn.00402ffc
add ebx, eax
mov edx, ebx
mov eax, dword [ebp - 8]
call fcn.00619d5c
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.005cf50c
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 [0x5516f0]
call fcn.00402ffc
add ebx, eax
mov edx, ebx
mov eax, dword [ebp - 8]
call fcn.00619ed8
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.00540b18
test al, al
je 0x5513b7
mov eax, dword [ebp + 8]
mov dword [eax], 0x16
mov eax, dword [ebp - 0x80]
cmp byte [eax + 0x10], 9
jne 0x5513d1
mov eax, dword [ebp + 8]
cmp dword [eax], 0
jle 0x5513d1
mov eax, dword [ebp + 8]
mov dword [eax], 3
mov eax, dword [ebp - 0x80]
test byte [eax + 0xac], 4
jne 0x5513ee
mov eax, dword [ebp + 8]
cmp dword [eax], 0
jle 0x5513ee
mov eax, dword [ebp + 8]
mov dword [eax], 3
mov eax, dword [ebp + 8]
cmp dword [eax], 0
jne 0x55143a
mov eax, dword [ebp - 8]
cmp byte [eax + 0x724], 0
jne 0x55143a
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.0061a118
push eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
call fcn.0061a054
mov ecx, eax
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
call fcn.00543310
fcomp dword [0x5516f4]
fnstsw ax
sahf
jae 0x55143a
mov eax, dword [ebp + 8]
mov dword [eax], 3
mov eax, dword [ebp + 8]
cmp dword [eax], 0
jle 0x5515a3
mov eax, dword [ebp + 8]
cmp dword [eax], 3
je 0x5515a3
mov eax, dword [ebp + 8]
cmp dword [eax], 0x12
je 0x5515a3
mov eax, dword [ebp + 8]
cmp dword [eax], 0x13
je 0x5515a3
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.0061a118
push eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
call fcn.0061a054
mov ecx, eax
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
call fcn.00543310
fcomp dword [0x5516f4]
fnstsw ax
sahf
jae 0x5515a3
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x28]
sar eax, 1
jns 0x5514aa
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 0x5514c4
adc ecx, 0
mov eax, dword [ebp - 0x80]
mov dl, byte [eax + 0x10]
mov eax, dword [ebp - 8]
call fcn.00540b18
test al, al
je 0x5514df
mov eax, dword [ebp + 8]
mov dword [eax], 3
mov eax, dword [ebp + 8]
cmp dword [eax], 3
je 0x551540
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x28]
sar eax, 1
jns 0x5514f4
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 0x551513
add eax, 3
sar eax, 2
mov ecx, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x24]
sar ecx, 1
jns 0x551523
adc ecx, 0
sub ecx, eax
mov eax, dword [ebp - 0x80]
mov dl, byte [eax + 0x10]
mov eax, dword [ebp - 8]
call fcn.00540b18
test al, al
je 0x551540
mov eax, dword [ebp + 8]
mov dword [eax], 3
mov eax, dword [ebp + 8]
cmp dword [eax], 3
je 0x5515a3
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x28]
sar eax, 1
jns 0x551555
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 0x551576
add ecx, 3
sar ecx, 2
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x24]
sar eax, 1
jns 0x551586
adc eax, 0
add ecx, eax
mov eax, dword [ebp - 0x80]
mov dl, byte [eax + 0x10]
mov eax, dword [ebp - 8]
call fcn.00540b18
test al, al
je 0x5515a3
mov eax, dword [ebp + 8]
mov dword [eax], 3
mov eax, dword [ebp + 8]
cmp dword [eax], 3
je 0x5515b7
mov eax, dword [ebp + 8]
cmp dword [eax], 0
jne 0x5516bd
mov eax, dword [ebp - 0x80]
cmp byte [eax + 0x10], 1
jne 0x5516bd
mov eax, dword [ebp - 0x80]
cmp dword [eax + 0x198], 0xc8
je 0x5516bd
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.0054fe38
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 8]
call fcn.00619ed8
add eax, dword [ebp - 0x5c]
push eax
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 8]
call fcn.00619d5c
add eax, dword [ebp - 0x5c]
lea ecx, [ebp - 0x88]
pop edx
call fcn.0041f9dc
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.00619ed8
add eax, dword [ebp - 0x5c]
push eax
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 8]
call fcn.00619d5c
add eax, dword [ebp - 0x5c]
lea ecx, [ebp - 0x88]
pop edx
call fcn.0041f9dc
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.00540b18
test al, al
je 0x55168f
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.00540b18
test al, al
je 0x5516bd
mov eax, dword [ebp + 8]
mov dword [eax], 0x11
mov eax, dword [ebp + 8]
cmp dword [eax], 0
je 0x5516cd
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
jmp 0x5516d9
inc dword [ebp - 0x18]
dec dword [ebp - 0x7c]
jne 0x550610
mov eax, dword [ebp - 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4