Function at 0x684c8c
Capabilities:
Check for software breakpoints
Check http status code

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa4
mov eax, dword [0x43a400]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0xa0], edi
mov dword [ebp - 0x54], 0xffffffff
mov esi, dword [edi + 0x14]
mov ecx, dword [edi + 0x28]
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x48], 0
mov ebx, dword [esi + 8]
mov dword [ebp - 0x44], ebx
test ecx, ecx
je 0x684d15
cmp ecx, dword [0x443c6c]
jne 0x684ce2
mov eax, dword [ecx + 0xc]
mov dword [0x443c6c], eax
cmp ecx, dword [fcn.00443c70]
jne 0x684cf2
mov eax, dword [ecx + 8]
mov dword [fcn.00443c70], eax
mov edx, dword [ecx + 0xc]
test edx, edx
je 0x684cff
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov edx, dword [ecx + 8]
test edx, edx
je 0x684d0c
mov eax, dword [ecx + 0xc]
mov dword [edx + 0xc], eax
push ecx
call fcn.0068a208
add esp, 4
mov dword [edi + 0x28], 0
test byte [esi], 4
je 0x684d3e
mov eax, dword [edi + 0x4c]
push dword [eax + 4]
push dword [eax]
push 0x4414b4
push 0x100
call fcn.0066aebc
add esp, 0x10
and dword [esi], 0xfffffffb
mov ecx, dword [edi + 8]
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x3c]
push eax
lea edx, [ebp - 0x30]
call fcn.00678e9c
add esp, 8
mov dword [ebp - 0x34], eax
test eax, eax
jg 0x684db6
push 0x4414c0
push 1
call fcn.0066aebc
mov edx, 0x4414e4
add esp, 8
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x684d72
sub edx, ecx
js 0x684d89
mov ecx, 0x4414e4
call fcn.0066af0c
jmp 0x684d8b
xor eax, eax
push eax
push 0x1f6
mov edx, 1
mov ecx, edi
call fcn.00681ecc
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0068a1f9
mov esp, ebp
pop ebp
ret
push 0x441508
push 0x200
call fcn.0066aebc
push ebx
push edi
push 0x441518
push 0x200
call fcn.0066aebc
mov ecx, dword [ebp - 0x3c]
add esp, 0x18
test ecx, ecx
je 0x684e48
cmp ecx, 1
je 0x684e48
push 0x44152c
push 1
call fcn.0066aebc
mov edx, 0x44154c
add esp, 8
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x684dfc
sub edx, ecx
js 0x684e13
mov ecx, 0x44154c
call fcn.0066af0c
jmp 0x684e15
xor eax, eax
push eax
push 0x1f6
mov edx, 1
mov ecx, edi
call fcn.00681ecc
mov ecx, dword [ebp - 0x48]
add esp, 8
call fcn.0066b1cc
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0068a1f9
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x4c]
mov dword [edi + 0x20], ecx
mov dword [eax + 0x10], ecx
or dword [esi], 1
movzx edx, word [ebx + 0x10]
test edx, edx
js 0x684e68
mov ecx, dword [ebx + 0xc]
call fcn.0066af0c
mov esi, eax
jmp 0x684e6a
xor esi, esi
push 0
lea eax, [ebp - 0x7c]
mov edx, esi
push eax
push ecx
lea eax, [ebp - 0x9c]
mov ecx, dword [ebp - 0x40]
push eax
push 0
push 0
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x54]
push eax
sub esp, 0xc
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x8c]
push eax
push 0
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x64]
push eax
push ecx
push dword [ebp - 0x34]
xor ecx, ecx
push dword [edi + 8]
call fcn.0067957c
add esp, 0x58
mov dword [ebp - 0x34], eax
test eax, eax
jns 0x684f0c
push 0x441568
push 1
call fcn.0066aebc
add esp, 8
mov ecx, esi
call fcn.0066b1cc
mov ecx, dword [ebp - 0x48]
call fcn.0066b1cc
mov edx, 0x441588
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x684eee
sub edx, ecx
js 0x684d89
mov ecx, 0x441588
call fcn.0066af0c
jmp 0x684d8b
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0x80], edx
test edx, edx
jg 0x684f2d
jl 0x684f22
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x5c], eax
test eax, eax
jae 0x684f33
mov eax, dword [0x444e38]
cdq
mov dword [ebp - 0x80], edx
jmp 0x684f30
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x30]
cmp ecx, 0x64
jne 0x684f95
mov ecx, esi
call fcn.0066b1cc
mov ecx, dword [ebp - 0x48]
call fcn.0066b1cc
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 8]
call fcn.0068046c
mov edx, dword [ebp - 0x34]
sub dword [edi + 0xc], edx
mov eax, dword [edi + 0xc]
test eax, eax
jle 0x684f73
mov ecx, dword [edi + 8]
push eax
lea eax, [ecx + edx]
push eax
push ecx
call fcn.0068ab8c
add esp, 0xc
mov edx, 1
mov ecx, edi
call fcn.00683e6c
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0068a1f9
mov esp, ebp
pop ebp
ret
cmp ecx, 0x65
jne 0x684fd5
mov edx, 0x4415a8
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x684fa2
sub edx, ecx
js 0x684fb9
mov ecx, 0x4415a8
call fcn.0066af0c
jmp 0x684fbb
xor eax, eax
push eax
push 0x1f5
mov edx, 1
mov ecx, edi
call fcn.00681ecc
add esp, 8
jmp 0x68529b
mov eax, dword [ebp - 0x7c]
test eax, eax
je 0x68500e
mov edx, eax
call fcn.0067b2ec
test eax, eax
jne 0x68500b
mov ecx, 0x4415c0
call fcn.0066b03c
push eax
push 0x1f8
mov edx, 1
mov ecx, edi
call fcn.00681ecc
add esp, 8
jmp 0x68529b
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x58], eax
cmp ecx, 0xce
jne 0x68507c
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0x68], edx
cmp edx, 0xffffffff
je 0x685066
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x78], eax
cmp eax, 0xffffffff
je 0x685066
cmp dword [ebp - 0x60], 0
jl 0x6850de
sub eax, edx
cmp dword [ebp - 0x60], eax
je 0x6850de
push 0x441614
push 1
call fcn.0066aebc
mov ecx, 0x441634
jmp 0x685281
push 0x4415d4
push 1
call fcn.0066aebc
mov ecx, 0x4415f4
jmp 0x685281
mov edx, dword [ebp - 0x98]
mov dword [ebp - 0x78], edx
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0x68], edx
cmp ecx, 0x190
jge 0x6850c9
test edx, edx
jns 0x6850a7
cmp dword [ebp - 0x98], 0
jge 0x6850a7
test eax, eax
js 0x6850c9
push 0x441654
push 2
call fcn.0066aebc
mov ecx, dword [ebp - 0x30]
add esp, 8
mov dword [ebp - 0x68], 0xffffffff
mov dword [ebp - 0x78], 0xffffffff
jmp 0x6850de
cmp ecx, 0x130
je 0x6850de
cmp ecx, 0x19c
cmovne eax, dword [ebp - 0x60]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x8c]
test eax, eax
je 0x685103
cmp eax, 1
je 0x685103
push 0x441674
push 1
call fcn.0066aebc
mov ecx, 0x441694
jmp 0x685281
cmp ecx, 0x130
jne 0x685245
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0xc], 2
je 0x68512e
push 0x4416b4
push 1
call fcn.0066aebc
mov ecx, 0x4416e0
jmp 0x685281
cmp dword [ebx + 0x50], 0
je 0x685149
cmp dword [ebp - 0x38], 0
jne 0x685149
push 0x44170c
push 2
call fcn.0066aebc
add esp, 8
mov ecx, esi
call fcn.0066b1cc
mov eax, dword [ebp - 0x30]
cmp eax, 0xc8
je 0x68516f
cmp eax, 0xce
je 0x68516f
cmp eax, 0x130
je 0x68516f
cmp eax, 0x19c
jne 0x6851d0
mov ecx, dword [ebp - 0x18]
test cl, 0x12
jne 0x6851ae
cmp dword [ebp - 0x14], 0
je 0x6851ae
cmp dword [0x440088], 0
je 0x68518c
cmp dword [ebp - 0x10], 0
je 0x6851ae
mov eax, dword [ebp - 0x84]
test eax, eax
jl 0x6851d0
mov edx, dword [ebp - 0x88]
jg 0x6851a2
test edx, edx
jb 0x6851d0
cmp eax, dword [ebx + 0x34]
jg 0x6851d0
jl 0x6851ae
cmp edx, dword [ebx + 0x30]
ja 0x6851d0
cmp dword [0x443bcc], 0
mov eax, 0x43fecc
jne 0x6851bf
mov eax, dword [ebx + 0xc]
push ecx
push eax
push 0x44179c
push 0x10
call fcn.0066aebc
add esp, 0x10
mov esi, dword [ebp - 0x40]
mov edx, 0x444e38
mov eax, dword [esi + 0x4c]
lea ecx, [esi + 0x4c]
cmp eax, dword [0x443b58]
cmovne edx, ecx
mov ecx, dword [edx]
mov eax, ecx
sub eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x30]
cmp eax, ecx
cmovle ecx, eax
cmp dword [esi + 0xc], 1
mov dword [ebp - 0x6c], ecx
je 0x6852f3
cmp edx, 0xc8
jl 0x6852f3
cmp edx, 0xcc
je 0x6852f3
cmp edx, 0x130
je 0x6852f3
mov eax, dword [ebp - 0x8c]
test eax, eax
jne 0x6852ea
xor ecx, ecx
cmp dword [ebp - 0x60], ecx
setne cl
mov dword [ebp - 0x74], ecx
jmp 0x685300
cmp ecx, 0x19c
jne 0x685149
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0xc], 2
jne 0x685270
cmp dword [ebx + 0x50], 0
jne 0x685149
mov eax, dword [ebx + 0x40]
or eax, dword [ebx + 0x44]
jne 0x685149
push 0x441730
push 1
call fcn.0066aebc
mov ecx, 0x441768
call fcn.0066b03c
push eax
push 0x1f6
mov edx, 1
mov ecx, edi
call fcn.00681ecc
add esp, 0x10
mov ecx, esi
call fcn.0066b1cc
mov ecx, dword [ebp - 0x48]
call fcn.0066b1cc
mov ecx, dword [ebp - 0x64]
test ecx, ecx
je 0x6852b6
call fcn.0066b1cc
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x6852c6
push eax
call fcn.0068a208
add esp, 4
mov eax, dword [ebp - 0x7c]
test eax, eax
je 0x6852d4
mov ecx, eax
call fcn.0066b1cc
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0068a1f9
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x74], 1
jmp 0x685300
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x74], 0
mov dword [edi + 0x2c], eax
mov esi, 1
mov eax, dword [edi + 0x4c]
mov dword [edi + 0x48], 0xffffffff
mov dword [ebp - 0x54], 0x400
dec dword [eax + 0x1c]
mov eax, 0
movzx ecx, word [ebx + 0x54]
test ecx, 0x1000
cmovne eax, esi
mov dword [ebp - 0x2c], eax
cmp edx, 0x130
je 0x685561
cmp edx, 0x19c
je 0x685561
test byte [ebx + 0x12], 2
jne 0x685507
mov eax, dword [ebx + 0x44]
mov edx, dword [ebx + 0x40]
test eax, eax
jl 0x685371
jg 0x685363
test edx, edx
jb 0x685371
cmp dword [ebp - 0x4c], 0
jg 0x685385
jl 0x685371
cmp dword [ebp - 0x50], 0
jae 0x685385
cmp dword [ebx + 0x50], 0
je 0x685435
cmp dword [ebp - 0x38], 0
je 0x685435
cmp edx, dword [ebp - 0x50]
jne 0x685435
cmp eax, dword [ebp - 0x4c]
jne 0x685435
mov eax, dword [ebx + 0x50]
mov edx, dword [ebp - 0x38]
test eax, eax
jne 0x6853ff
test edx, edx
jne 0x685403
mov eax, dword [ebp - 0x2c]
test eax, eax
jne 0x685455
test ecx, 0x200
je 0x685455
cmp dword [0x43e774], esi
jl 0x685455
push dword [ebp - 0x64]
mov edx, dword [ebx + 0x60]
mov ecx, dword [0x444e2c]
call fcn.00677fec
add esp, 4
test eax, eax
je 0x685435
push dword [ebp - 0x64]
mov edx, dword [ebx + 0x60]
mov ecx, dword [0x444e30]
call fcn.00677fec
add esp, 4
test eax, eax
jne 0x685452
mov eax, esi
mov dword [ebp - 0x2c], eax
jmp 0x685455
test edx, edx
je 0x685443
test eax, eax
je 0x685435
mov ecx, edx
lea ecx, [ecx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x68542c
test dl, dl
je 0x685428
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x68542c
add eax, 2
add ecx, 2
test dl, dl
jne 0x68540c
xor eax, eax
jmp 0x685431
sbb eax, eax
or eax, 1
test eax, eax
je 0x68543c
mov eax, esi
mov dword [ebp - 0x2c], eax
jmp 0x685455
mov eax, dword [ebx + 0x50]
movzx ecx, word [ebx + 0x54]
test eax, eax
jne 0x6853a5
mov eax, esi
mov dword [ebp - 0x2c], eax
jmp 0x685455
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x58]
test ecx, ecx
jns 0x68547e
cmp dword [ebp - 0x8c], 0
jne 0x68547e
cmp dword [ebp - 0x74], 0
je 0x68547e
cmp dword [ebp - 0x68], 0
jge 0x68547e
cmp dword [ebp - 0x78], 0
jge 0x68547e
mov eax, esi
mov dword [ebp - 0x2c], eax
jmp 0x6854f1
test eax, eax
jne 0x6854f1
mov eax, dword [ebx + 0x20]
test eax, eax
js 0x6854a7
test ecx, ecx
js 0x6854a7
cmp eax, ecx
je 0x6854a7
push 0x4417f8
push 2
call fcn.0066aebc
mov eax, esi
add esp, 8
mov dword [ebp - 0x2c], eax
jmp 0x6854f1
cmp dword [ebx + 0x44], 0
jl 0x6854c3
jg 0x6854b5
cmp dword [ebx + 0x40], 0
jb 0x6854c3
cmp dword [ebp - 0x4c], 0
jg 0x6854cf
jl 0x6854c3
cmp dword [ebp - 0x50], 0
jae 0x6854cf
cmp dword [ebx + 0x50], 0
je 0x6854ee
cmp dword [ebp - 0x38], 0
je 0x6854ee
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0xc], 2
jne 0x6854ee
push 0x441810
push 2
call fcn.0066aebc
mov eax, dword [edi + 0x4c]
add esp, 8
add dword [eax + 0x1c], 0xa
mov eax, dword [ebp - 0x2c]
test byte [ebx + 0x12], 2
je 0x68561b
mov dword [ebp - 0x2c], 0
jmp 0x6856ef
cmp edx, 0x1a0
jne 0x6854f1
push 0x441838
push 1
call fcn.0066aebc
mov ecx, 0x441864
call fcn.0066b03c
push eax
push 0x1f6
mov edx, esi
mov ecx, edi
call fcn.00681ecc
mov ecx, 0x441890
call fcn.0066b03c
push eax
mov edx, 0x1f6
mov ecx, ebx
call fcn.0068033c
add esp, 0x14
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0068a1f9
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x50]
test eax, eax
je 0x685598
mov ecx, dword [ebp - 0x38]
test ecx, ecx
je 0x685598
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x68558f
test dl, dl
je 0x68558b
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x68558f
add eax, 2
add ecx, 2
test dl, dl
jne 0x68556f
xor eax, eax
jmp 0x685594
sbb eax, eax
or eax, 1
test eax, eax
jne 0x6855d4
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebx + 0x40]
test ecx, ecx
jl 0x6854ee
jg 0x6855b0
test eax, eax
jb 0x6854ee
cmp dword [ebp - 0x4c], 0
jl 0x6854ee
mov edx, dword [ebp - 0x50]
jg 0x6855c7
test edx, edx
jb 0x6854ee
cmp eax, edx
jne 0x6855d4
cmp ecx, dword [ebp - 0x4c]
je 0x6854ee
cmp dword [0x443bcc], 0
mov eax, 0x43fecc
jne 0x6855e5
mov eax, dword [ebx + 0xc]
cmp dword [ebp - 0x30], 0x130
mov ecx, 0x4417c4
push eax
mov eax, 0x4417b8
cmovne eax, ecx
push eax
push 0x4417d8
push 1
call fcn.0066aebc
mov eax, dword [ebp - 0x54]
add esp, 0x10
or word [ebx + 0x12], ax
mov eax, esi
mov dword [ebp - 0x2c], eax
jmp 0x6854f1
test eax, eax
je 0x6856ef
mov eax, dword [ebx + 0x50]
mov ecx, 0x4418c4
test eax, eax
mov edx, 0x43fecc
cmovne ecx, eax
cmp dword [0x443bcc], 0
jne 0x685641
mov edx, dword [ebx + 0xc]
cmp dword [ebp - 0x38], 0
mov eax, 0x4418bc
cmovne eax, dword [ebp - 0x38]
push eax
push dword [ebp - 0x50]
movzx eax, word [ebx + 0x14]
push dword [ebp - 0x58]
push dword [ebp - 0x30]
push ecx
push dword [ebx + 0x40]
push dword [ebx + 0x20]
push eax
push edx
push 0x4418cc
push 0x20
call fcn.0066aebc
add esp, 0x2c
mov ecx, ebx
call fcn.006801ec
movzx eax, word [ebx + 0x10]
mov edx, dword [ebx + 0xc]
push ecx
push dword [ebx + 4]
push ecx
movzx ecx, byte [ebx + 2]
push 1
push eax
call fcn.0067f5ec
mov ebx, eax
add esp, 0x14
test ebx, ebx
jne 0x6856d7
push 0x441900
push 1
call fcn.0066aebc
mov ecx, 0x44191c
call fcn.0066b03c
push eax
push 0x1f4
mov edx, esi
mov ecx, edi
call fcn.00681ecc
add esp, 0x10
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0068a1f9
mov esp, ebp
pop ebp
ret
cmp word [ebx + 0x10], 0
jbe 0x6856ef
mov eax, dword [ebx + 0xc]
cmp byte [eax], 0x2f
jne 0x6856ef
mov eax, 0x100
or word [ebx + 0x12], ax
cmp dword [ebp - 0x38], 0
jne 0x68570b
cmp dword [ebp - 0x4c], 0
jl 0x6857af
jg 0x68570b
cmp dword [ebp - 0x50], 0
jb 0x6857af
mov ecx, dword [0x440088]
mov eax, ecx
neg eax
sbb eax, eax
and eax, 8
or eax, 0x13
test dword [ebp - 0x18], eax
jne 0x6857af
mov eax, dword [ebp - 0x14]
test eax, eax
js 0x685732
cmp eax, 2
jle 0x6857af
test ecx, ecx
je 0x685742
mov eax, dword [ebp - 0x10]
test eax, eax
js 0x685742
cmp eax, 5
jle 0x6857af
mov ecx, dword [ebp - 0x44]
cmp dword [ecx + 0x44], 0
jl 0x685778
jg 0x685753
cmp dword [ecx + 0x40], 0
jb 0x685778
mov edx, dword [ecx + 0x3c]
mov eax, dword [ecx + 0x38]
test edx, edx
jl 0x685778
jg 0x685763
test eax, eax
jb 0x685778
sub eax, dword [ecx + 0x40]
sbb edx, dword [ecx + 0x44]
mov dword [ebp - 0x8c], edx
js 0x6857af
jg 0x685778
cmp eax, 1
jbe 0x6857af
cmp dword [ebp - 0x2c], 0
je 0x6857a4
mov edx, dword [ecx + 0x28]
sub edx, dword [ebp - 0x5c]
mov eax, dword [ecx + 0x2c]
sbb eax, dword [ebp - 0x80]
mov dword [ebp - 0x8c], eax
js 0x6857af
jg 0x685799
cmp edx, 5
jbe 0x6857af
mov eax, dword [ebp - 0x54]
test word [ecx + 0x12], ax
je 0x6857b6
jmp 0x6857b2
mov eax, 0xfbff
and word [ebx + 0x12], ax
jmp 0x6857b6
mov eax, dword [ebp - 0x54]
or word [ebx + 0x12], ax
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x80]
cdq
mov dword [ebx + 0x30], eax
mov eax, dword [ebp - 0x18]
or word [ebx + 0x54], ax
mov eax, dword [ebp - 0x14]
mov dword [ebx + 0x58], eax
mov eax, dword [ebp - 0x10]
mov dword [ebx + 0x5c], eax
mov eax, 0xff7f
and word [ebx + 0x12], ax
mov dword [ebx + 0x34], edx
test ecx, ecx
jl 0x6857f2
mov eax, dword [ebp - 0x5c]
jg 0x6857ec
test eax, eax
jb 0x6857f2
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x2c], ecx
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
jl 0x685808
mov eax, dword [ebp - 0x50]
jg 0x685802
test eax, eax
jb 0x685808
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x44], ecx
mov eax, dword [ebp - 0x84]
test eax, eax
jl 0x685824
mov ecx, dword [ebp - 0x88]
jg 0x68581e
test ecx, ecx
jb 0x685824
mov dword [ebx + 0x38], ecx
mov dword [ebx + 0x3c], eax
cmp dword [ebx + 0x50], 0
jne 0x685832
mov eax, dword [ebp - 0x38]
mov dword [ebx + 0x50], eax
jmp 0x68583d
push dword [ebp - 0x38]
call fcn.0068a208
add esp, 4
mov eax, dword [ebp - 0x30]
add eax, 0xffffff38
cmp eax, 0xd4
ja 0x6858af
movzx eax, byte [eax + 0x41bff4]
jmp dword [eax*4 + 0x41bfe8]
mov ecx, dword [ebx + 0x1c]
test ecx, ecx
je 0x6858bb
call fcn.0066b1cc
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x48]
mov word [ebx + 0x14], ax
call fcn.0066b19c
mov dword [ebx + 0x1c], eax
mov ecx, ebx
call fcn.00677ecc
mov eax, dword [0x443b94]
mov ecx, dword [ebp - 0x7c]
add eax, 0xa
push eax
test ecx, ecx
jne 0x685904
cmp dword [ebp - 0x3c], esi
mov ecx, 0x441940
mov eax, 0x44193c
cmovne eax, ecx
push eax
push 0x441944
call fcn.0066b25c
add esp, 0xc
jmp 0x685926
cmp dword [ebp - 0x3c], esi
mov edx, 0x441950
mov eax, 0x44194c
cmovne eax, edx
push eax
lea eax, [ecx + 0xa]
push eax
push 0x441954
call fcn.0066b25c
add esp, 0x10
mov dword [ebp - 0x3c], eax
test eax, eax
jne 0x68593e
push 0x441960
push 1
call fcn.0066aebc
add esp, 8
jmp 0x685950
mov ecx, dword [ebx + 0x64]
test ecx, ecx
je 0x68594d
call fcn.0066b1cc
mov eax, dword [ebp - 0x3c]
mov dword [ebx + 0x64], eax
test byte [ebx + 0x12], 2
je 0x685968
push dword [ebp - 0x64]
mov edx, dword [ebp - 0x58]
mov ecx, ebx
call fcn.0067faac
add esp, 4
jmp 0x68597c
cmp dword [ebx + 0x20], 0
jge 0x685974
mov eax, dword [ebp - 0x58]
mov dword [ebx + 0x20], eax
mov ecx, dword [ebp - 0x64]
call fcn.0066b1cc
cmp dword [ebp - 0x2c], 0
je 0x68598a
mov ecx, dword [ebp - 0x44]
call fcn.0068040c
mov eax, dword [ebp - 0x44]
mov ecx, 0xfdff
cmp ebx, eax
je 0x685a31
test byte [ebx + 0x12], 4
je 0x6859c8
mov ecx, ebx
call fcn.0067f8cc
push 0
mov edx, esi
mov ecx, edi
call fcn.006838ac
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0068a1f9
mov esp, ebp
pop ebp
ret
mov ecx, 0xffdf
and word [eax + 0x12], cx
mov ecx, 0x804
or word [ebx + 0x12], cx
mov ecx, dword [ebp - 0x40]
mov dword [ecx + 0x38], ebx
mov ecx, eax
call fcn.0068046c
mov edx, dword [ebp - 0x40]
mov eax, 0xf7ff
mov ecx, 0xfffb
mov dword [edx + 0x38], 0
and word [ebx + 0x12], ax
mov eax, dword [ebp - 0x44]
and word [eax + 0x12], cx
cmp dword [edx + 8], eax
jne 0x685a23
mov ecx, dword [edx + 0x5c]
test ecx, ecx
je 0x685a19
mov dword [ecx + 0x5c], 0
mov dword [edx + 0x5c], 0
mov dword [edx + 8], ebx
mov ecx, eax
call fcn.0067f8fc
mov eax, ebx
mov dword [ebp - 0x44], eax
jmp 0x685a35
and word [ebx + 0x12], cx
movzx ecx, word [eax + 0x12]
test cl, 0x20
je 0x685a4f
and ecx, 0xffdf
mov word [eax + 0x12], cx
mov ecx, eax
call fcn.0068046c
cmp dword [ebp - 0x74], 0
jne 0x685a78
mov edx, dword [ebp - 0x34]
mov ecx, edi
push edx
xor edx, edx
call fcn.006838ac
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0068a1f9
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x5c], 0
je 0x6859a7
cmp dword [ebp - 0x30], 0x19c
je 0x6859a7
test byte [eax], 1
je 0x685abd
cmp dword [eax + 0xc], esi
je 0x685abd
cmp dword [edi + 0x2c], 0
jne 0x685abd
cmp dword [ebp - 0x60], 0
jge 0x685abd
push 0x441978
push 1
call fcn.0066aebc
mov eax, dword [ebp - 0x40]
add esp, 8
and dword [eax], 0xfffffffe
mov ecx, dword [ebp - 0x68]
test ecx, ecx
jle 0x685ac9
mov dword [edi + 0x10], ecx
jmp 0x685ad0
mov dword [edi + 0x10], 0
mov ecx, dword [ebp - 0x78]
test ecx, ecx
js 0x685ada
mov dword [eax + 0x14], ecx
push dword [edi + 0x10]
mov eax, dword [ebp - 0x44]
push eax
push edi
push 0x4419a4
push 0x20000
call fcn.0066aebc
mov edx, dword [ebp - 0x34]
add esp, 0x14
cmp dword [edi + 0xc], edx
jle 0x685c0a
mov ecx, edi
call fcn.0068692c
test eax, eax
je 0x685c11
jns 0x685b8c
cmp eax, 0xfffffffe
jne 0x685b51
push 0x4419c0
push 1
call fcn.0066aebc
mov ecx, 0x4419dc
call fcn.0066b03c
push eax
push 0x1f6
mov edx, esi
mov ecx, edi
call fcn.00681ecc
add esp, 0x10
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0068a1f9
mov esp, ebp
pop ebp
ret
push 0x4419f8
push 1
call fcn.0066aebc
mov ecx, 0x441a1c
call fcn.0066b03c
push eax
push 0x1f4
mov edx, esi
mov ecx, edi
call fcn.00681ecc
add esp, 0x10
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0068a1f9
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x30], 0xce
je 0x685bae
mov ebx, dword [ebp - 0x44]
mov eax, dword [ebx + 0x20]
test eax, eax
jns 0x685bcf
mov eax, dword [ebx + 0x68]
mov dword [ebx + 0x20], eax
mov eax, 0xfdff
and word [ebx + 0x12], ax
push 0
xor edx, edx
mov ecx, edi
call fcn.006838ac
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0068a1f9
mov esp, ebp
pop ebp
ret
cmp eax, dword [ebx + 0x68]
je 0x685bae
mov ecx, 0x441a3c
call fcn.0066b03c
push eax
push 0x1f4
mov edx, esi
mov ecx, edi
call fcn.00681ecc
add esp, 8
mov dword [ebx + 0x20], 0xffffffff
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0068a1f9
mov esp, ebp
pop ebp
ret
mov dword [edi + 0xc], 0
cmp dword [0x443bfc], 0
mov edx, dword [ebp - 0x30]
je 0x685dfb
cmp edx, 0xc8
jne 0x685dfb
mov ecx, dword [ebx + 0x60]
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x3c], 0
push eax
movzx eax, word [ecx + 8]
lea edx, [ecx + 0xa]
mov ecx, dword [0x444e2c]
push eax
mov dword [ebp - 0x34], 0
call fcn.0067afac
add esp, 0xc
test eax, eax
jle 0x685df8
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x3c]
sub ecx, eax
add eax, 0xa
mov dword [ebp - 0x6c], ecx
add eax, dword [ebx + 0x60]
mov edx, ecx
push 9
push 0x441a58
mov ecx, eax
mov dword [ebp - 0x34], eax
call fcn.00684b6c
add esp, 8
test eax, eax
jne 0x685cac
mov edx, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x34]
push 0x15
push 0x441a70
call fcn.00684b6c
add esp, 8
test eax, eax
je 0x685df8
movzx eax, word [ebx + 0x10]
test ax, ax
je 0x685df8
mov esi, eax
mov dword [ebp - 0x3c], 0
lea eax, [esi + 1]
push eax
call fcn.0068a280
add esp, 4
mov dword [ebp - 0x34], eax
push esi
push dword [ebx + 0xc]
push eax
call fcn.0068d2bc
mov eax, dword [ebp - 0x34]
add esp, 0xc
movzx ecx, word [ebx + 0x10]
push 0x3f
push eax
mov byte [ecx + eax], 0
call fcn.0068ba7c
add esp, 8
test eax, eax
je 0x685cfb
mov byte [eax], 0
push 0x2e
push dword [ebp - 0x34]
call fcn.0068d3ec
add esp, 8
mov dword [ebp - 0x6c], eax
test eax, eax
je 0x685d97
mov dword [ebp - 0x28], 0x441a68
xor esi, esi
mov dword [ebp - 0x24], 0x441a90
mov dword [ebp - 0x20], 0x441aa0
mov dword [ebp - 0x1c], 0x441ab0
mov dword [ebp - 0x18], 0x441ac0
mov dword [ebp - 0x14], 0x441ad0
mov dword [ebp - 0x10], 0x441ae0
mov dword [ebp - 0xc], 0x441af0
mov dword [ebp - 8], 0x441b00
mov ecx, dword [ebp + esi*4 - 0x28]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x685d7c
test dl, dl
je 0x685d78
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x685d7c
add eax, 2
add ecx, 2
test dl, dl
jne 0x685d5c
xor eax, eax
jmp 0x685d81
sbb eax, eax
or eax, 1
test eax, eax
je 0x685d90
mov eax, dword [ebp - 0x6c]
inc esi
cmp esi, 9
jb 0x685d54
jmp 0x685d97
mov dword [ebp - 0x3c], 1
push dword [ebp - 0x34]
call fcn.0068a208
add esp, 4
cmp dword [ebp - 0x3c], 0
jne 0x685df3
movzx esi, word [ebx + 0x10]
lea eax, [esi + 1]
push eax
call fcn.0068a280
add esp, 4
mov edi, eax
push esi
push dword [ebx + 0xc]
push edi
call fcn.0068d2bc
movzx ecx, word [ebx + 0x10]
add esp, 0xc
push edi
push 0x441b08
mov byte [ecx + edi], 0
call fcn.0068c39f
push 0
call fcn.0068c24d
add esp, 0xc
push edi
call fcn.0068a208
mov edi, dword [ebp - 0xa0]
add esp, 4
mov esi, 1
mov edx, dword [ebp - 0x30]
mov ebx, dword [ebp - 0xa4]
test ebx, ebx
je 0x685e89
cmp dword [edi + 0x2c], 1
je 0x685e4e
mov ecx, dword [ebp - 0x44]
mov eax, dword [ecx + 0x20]
test eax, eax
js 0x685e1e
cmp dword [edi + 0x10], eax
jl 0x685e4e
cmp edx, 0xce
je 0x6859a7
test ebx, ebx
jle 0x6859a7
test eax, eax
jns 0x6859a7
mov eax, dword [ecx + 0x68]
mov dword [ecx + 0x20], eax
mov eax, 0xfdff
and word [ecx + 0x12], ax
jmp 0x6859a7
push 0x441b28
push 1
call fcn.0066aebc
mov ecx, 0x441b44
call fcn.0066b03c
push eax
push 0x1f6
mov edx, esi
mov ecx, edi
call fcn.00681ecc
add esp, 0x10
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0068a1f9
mov esp, ebp
pop ebp
ret
mov edx, esi
mov ecx, edi
call fcn.0068621c
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0068a1f9
mov esp, ebp
pop ebp
ret