Function at 0x409e40
Capabilities:
Check for software breakpoints

Disassembly:
sub esp, 0xc
push ebx
push ebp
push esi
xor ebx, ebx
cmp eax, 0xd2
push edi
mov edi, ecx
mov esi, edx
mov dword [esp + 0x10], ebx
jg 0x40816a
je 0x40814e
add eax, 0xfffffffd
cmp eax, 0xcc
ja case.0x40964a.30118
movzx eax, byte [eax + 0x4098c8]
jmp dword [eax*4 + 0x409778]
mov edi, dword [edi]
cmp edi, 0xffffffff
jl 0x407c2d
mov eax, dword [esp + 0x10]
mov dword [esi + 0x4f4], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp dword [edi], ebx
pop edi
setne cl
mov dword [esi + 0x59c], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
jl 0x407c2d
mov eax, dword [esp + 0x10]
mov dword [esi + 0x6f8], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor edx, edx
cmp dword [edi], ebx
pop edi
setne dl
mov dword [esi + 0x578], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor eax, eax
cmp dword [edi], ebx
pop edi
setne al
mov dword [esi + 0x57c], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp dword [edi], ebx
pop edi
setne cl
mov dword [esi + 0x570], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor edx, edx
cmp dword [edi], ebx
pop edi
setne dl
mov dword [esi + 0x558], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor eax, eax
cmp dword [edi], ebx
setne al
mov dword [esi + 0x540], eax
cmp eax, ebx
je 0x4075d8
or dword [esi + 0x780], 0x10
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
and dword [esi + 0x780], 0xffffffef
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor eax, eax
cmp dword [edi], ebx
pop edi
setne al
mov dword [esi + 0x564], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp dword [edi], ebx
pop edi
setne cl
mov dword [esi + 0x544], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor eax, eax
cmp dword [edi], ebx
setne al
mov dword [esi + 0x568], eax
cmp eax, ebx
je 0x40764a
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x564], ebx
mov dword [esi + 0x410], 5
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x410], 1
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor edx, edx
cmp dword [edi], ebx
pop edi
setne dl
mov dword [esi + 0x528], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
sub edi, ebx
je 0x4076b9
sub edi, 1
je 0x4076a3
sub edi, 1
jne case.0x40964a.30118
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x514], 2
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x514], 1
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x514], ebx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 0x20c49a
ja 0x407c2d
mov eax, dword [esp + 0x10]
imul edi, edi, 0x3e8
mov dword [esi + 0x224], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
jl 0x407c2d
mov eax, dword [esp + 0x10]
mov dword [esi + 0x228], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor eax, eax
cmp dword [edi], ebx
pop edi
setne al
mov dword [esi + 0x538], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp dword [edi], ebx
pop edi
setne cl
mov dword [esi + 0x534], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 3
ja 0x407c2d
mov eax, dword [esp + 0x10]
mov dword [esi + 0x510], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 2
ja 0x407c2d
mov eax, dword [esp + 0x10]
mov dword [esi + 0x56c], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor edx, edx
cmp dword [edi], ebx
pop edi
setne dl
mov dword [esi + 0x530], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 3
ja 0x407c2d
mov eax, dword [esp + 0x10]
mov dword [esi + 0x400], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
cdq
pop edi
mov dword [esi + 0x408], eax
mov eax, dword [esp + 0xc]
mov dword [esi + 0x40c], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 7
ja 0x407c2d
mov eax, edi
and eax, 0xffff
and edi, 0xffff0000
mov dword [esi + 0x420], edi
pop edi
mov dword [esi + 0x41c], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp dword [edi], ebx
pop edi
setne cl
mov dword [esi + 0x560], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor edx, edx
cmp dword [edi], ebx
pop edi
setne dl
mov dword [esi + 0x550], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor eax, eax
cmp dword [edi], ebx
pop edi
setne al
mov dword [esi + 0x54c], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp dword [edi], ebx
pop edi
setne cl
mov dword [esi + 0x554], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 0xffffffff
jl 0x407c2d
mov eax, dword [esp + 0x10]
mov dword [esi + 0x19c], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
jl 0x407c2d
mov eax, dword [esp + 0x10]
and edi, 7
mov dword [esi + 0x1a0], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
cmp dword [edi], ebx
je 0x40764a
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x564], ebx
mov dword [esi + 0x410], 2
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
cdq
mov edi, edx
cmp edi, 0xffffffff
mov ebp, eax
jg 0x4078d9
jl 0x407c2d
cmp ebp, 0xffffffff
jb 0x407c2d
mov edx, dword [esi + 0x1b4]
cmp edx, edi
jg 0x407919
jl 0x4078ef
mov eax, dword [esi + 0x1b0]
cmp eax, ebp
jae 0x407919
mov ecx, dword [esi + 0x1a8]
cmp ecx, dword [esi + 0x6ac]
jne 0x407919
mov edx, dword [esi + 0x6ac]
push edx
call dword [0x46c004]
mov dword [esi + 0x6ac], ebx
add esp, 4
mov dword [esi + 0x1a8], ebx
mov eax, dword [esp + 0x10]
mov dword [esi + 0x1b4], edi
pop edi
mov dword [esi + 0x1b0], ebp
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor eax, eax
cmp dword [edi], ebx
pop edi
setne al
mov dword [esi + 0x3d4], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
cmp dword [edi], ebx
je 0x40976c
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x568], ebx
mov dword [esi + 0x564], ebx
mov dword [esi + 0x410], 1
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
jl 0x407c2d
cmp edi, 3
jl 0x407990
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
mov dword [esi + 0x414], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
cmp eax, ebx
jne 0x4079ba
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x18c], ebx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, eax
shr ecx, 4
and ecx, 1
mov dword [esi + 0x4a20], ecx
test al, 0x10
je 0x4079d2
and eax, 0xffffffef
or eax, 2
and eax, 0xffffffdf
xor ecx, ecx
mov edx, 1
shl edx, cl
inc ecx
and edx, eax
test edx, edx
jne 0x4079f7
cmp ecx, 0x1f
jl 0x4079d7
pop edi
pop esi
pop ebp
mov eax, 4
pop ebx
add esp, 0xc
ret
pop edi
mov dword [esi + 0x18c], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor eax, eax
cmp dword [edi], ebx
pop edi
setne al
mov dword [esi + 0x52c], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 0xffff
ja 0x407c2d
mov eax, dword [esp + 0x10]
mov dword [esi + 0x174], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
cmp eax, ebx
jne 0x407a5a
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x190], ebx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, eax
shr ecx, 4
and ecx, 1
mov dword [esi + 0x4a38], ecx
test al, 0x10
je 0x407a72
and eax, 0xffffffef
or eax, 2
and eax, 0xffffffdf
xor ecx, ecx
mov edx, 1
shl edx, cl
inc ecx
and edx, eax
test edx, edx
jne 0x407a95
cmp ecx, 0x1f
jl 0x407a77
pop edi
pop esi
pop ebp
lea eax, [edx + 4]
pop ebx
add esp, 0xc
ret
pop edi
mov dword [esi + 0x190], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 7
ja 0x407c2d
mov eax, dword [esp + 0x10]
mov dword [esi + 0x4f0], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
sub edi, ebx
je 0x407ae9
sub edi, 1
jne case.0x40964a.30118
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x5c4], 1
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x5c4], ebx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor eax, eax
cmp dword [edi], ebx
pop edi
setne al
mov dword [esi + 0x6bc], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp dword [edi], ebx
pop edi
setne cl
mov dword [esi + 0x584], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor edx, edx
cmp dword [edi], ebx
pop edi
setne dl
mov dword [esi + 0x580], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor eax, eax
cmp dword [edi], ebx
pop edi
setne al
mov dword [esi + 0x588], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 2
ja 0x407c2d
mov eax, dword [esp + 0x10]
mov dword [esi + 0x594], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp dword [edi], ebx
pop edi
setne cl
mov dword [esi + 0x5a8], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
cmp eax, 0xffffffff
jl 0x407c2d
cdq
pop edi
mov dword [esi + 0x230], eax
mov eax, dword [esp + 0xc]
mov dword [esi + 0x234], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
jl 0x407c2d
mov eax, dword [esp + 0x10]
mov dword [esi + 0x238], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
jl 0x407c2d
mov eax, dword [esp + 0x10]
mov dword [esi + 0x23c], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 0xffff
ja 0x407c2d
mov eax, dword [esp + 0x10]
mov dword [esi + 0x188], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 0x20c49a
ja 0x407c2d
imul edi, edi, 0x3e8
mov eax, dword [esp + 0x10]
mov dword [esi + 0x218], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
jge 0x407c15
pop edi
pop esi
pop ebp
mov eax, 0x2b
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 0x20c49a
ja 0x407c2d
imul edi, edi, 0x3e8
mov eax, dword [esp + 0x10]
mov dword [esi + 0x21c], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
jge 0x407c4a
pop edi
pop esi
pop ebp
mov eax, 0x2b
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
cmp eax, 0xffffffff
jl 0x407c2d
cdq
pop edi
mov dword [esi + 0x250], eax
mov eax, dword [esp + 0xc]
mov dword [esi + 0x254], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
push esi
call fcn.0040bb90
add esp, 4
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor edx, edx
cmp dword [edi], ebx
pop edi
setne dl
mov dword [esi + 0x3d8], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 0xffff
ja 0x407c2d
push edi
call fcn.00415660
add esp, 4
pop edi
mov word [esi + 0x1b8], ax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 0xffff
ja 0x407c2d
push edi
call fcn.00415640
add esp, 4
pop edi
mov dword [esi + 0x1bc], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor eax, eax
cmp dword [edi], ebx
setne al
mov dword [esi + 0x424], eax
mov esi, dword [esi + 8]
cmp esi, ebx
je 0x40976c
pop edi
mov dword [esi + 0x238], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 1
jne 0x407d5c
push str.CURLOPT_SSL_VERIFYHOST_no_longer_supports_1_as_value_
push esi
call fcn.00414f30
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 0x2b
pop ebx
add esp, 0xc
ret
xor eax, eax
cmp edi, ebx
setne al
mov dword [esi + 0x428], eax
mov esi, dword [esi + 8]
cmp esi, ebx
je 0x40976c
pop edi
mov dword [esi + 0x23c], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [0x46c058]
test byte [eax + 8], 2
je case.0x408190.244
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp dword [edi], ebx
pop edi
setne cl
mov dword [esi + 0x468], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 0x80000
jle 0x407dbf
mov edi, 0x80000
jmp 0x407dd8
cmp edi, 1
jge 0x407dcb
mov edi, 0x4000
jmp 0x407dd8
cmp edi, 0x400
jge 0x407dd8
mov edi, 0x400
cmp edi, dword [esi + 0x4f8]
je 0x407e18
mov eax, dword [esi + 0x904]
lea edx, [edi + 1]
push edx
push eax
call dword [0x46c008]
add esp, 8
cmp eax, ebx
jne 0x407e12
mov dword [esi + 0x4f8], edi
pop edi
pop esi
mov dword [esp + 8], 0x1b
mov eax, dword [esp + 8]
pop ebp
pop ebx
add esp, 0xc
ret
mov dword [esi + 0x904], eax
mov eax, dword [esp + 0x10]
mov dword [esi + 0x4f8], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp dword [edi], ebx
pop edi
setne cl
mov dword [esi + 0x598], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
cmp eax, ebx
jl 0x407c2d
cdq
mov dword [esi + 0x508], eax
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x50c], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 3
ja 0x407c2d
mov eax, dword [esp + 0x10]
mov dword [esi + 0x58c], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 2
ja 0x407c2d
mov eax, dword [esp + 0x10]
mov dword [esi + 0x590], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 2
ja 0x407c2d
mov eax, dword [esp + 0x10]
mov dword [esi + 0x504], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor edx, edx
cmp dword [edi], ebx
pop edi
setne dl
mov dword [esi + 0x5a0], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor eax, eax
cmp dword [edi], ebx
pop edi
setne al
mov dword [esi + 0x5a4], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp dword [edi], ebx
pop edi
setne cl
mov dword [esi + 0x5ac], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor eax, eax
cmp dword [edi], ebx
pop edi
setne al
mov dword [esi + 0x430], eax
mov dword [esi + 0x498], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor edx, edx
cmp dword [edi], ebx
pop edi
sete dl
mov dword [esi + 0x5b4], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor eax, eax
cmp dword [edi], ebx
pop edi
sete al
mov dword [esi + 0x5b8], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 0x1ff
ja 0x407c2d
mov eax, dword [esp + 0x10]
mov dword [esi + 0x5bc], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 0x1ff
ja 0x407c2d
mov eax, dword [esp + 0x10]
mov dword [esi + 0x5c0], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 0xf
ja 0x407c2d
push edi
call fcn.00415650
add esp, 4
pop edi
mov dword [esi + 0x6b0], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x6b4], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x6b8], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
lea eax, [edi - 1]
cmp eax, 0xa
ja case.default.0x407ff5
jmp dword [eax*4 + 0x409998]
mov eax, 1
pop edi
mov dword [esi + 0x6c8], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, 2
pop edi
mov dword [esi + 0x6c8], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, 3
pop edi
mov dword [esi + 0x6c8], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, 4
pop edi
mov dword [esi + 0x6c8], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, 5
pop edi
mov dword [esi + 0x6c8], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, 6
pop edi
mov dword [esi + 0x6c8], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, 7
pop edi
mov dword [esi + 0x6c8], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, 8
pop edi
mov dword [esi + 0x6c8], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, 9
pop edi
mov dword [esi + 0x6c8], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, 0xa
pop edi
mov dword [esi + 0x6c8], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, 0xb
pop edi
mov dword [esi + 0x6c8], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor eax, eax
pop edi
mov dword [esi + 0x6c8], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
pop edi
mov dword [esi + 0x4c58], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x4c58], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor edx, edx
cmp dword [edi], ebx
pop edi
setne dl
mov dword [esi + 0x6d0], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
jl 0x407c2d
mov eax, dword [esp + 0x10]
mov dword [esi + 0x6e4], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
cmp eax, 0x2711
jg 0x408488
je 0x408474
add eax, 0xffffff2c
cmp eax, 0x38
ja case.0x40964a.30118
movzx eax, byte [eax + 0x409a2c]
jmp dword [eax*4 + 0x4099c4]
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp dword [edi], ebx
pop edi
setne cl
mov dword [esi + 0x548], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor edx, edx
cmp dword [edi], ebx
pop edi
setne dl
mov dword [esi + 0x22c], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 7
ja 0x407c2d
mov eax, edi
and eax, 0xffff
and edi, 0xffff0000
mov dword [esi + 0x488], edi
pop edi
mov dword [esi + 0x484], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
and ecx, 1
mov dword [esi + 0x3d0], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
jl 0x407c2d
mov eax, dword [esp + 0x10]
mov dword [esi + 0x70c], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
mov dword [esi + 0x194], edi
test edi, 0xfffffffa
je 0x40976c
pop edi
pop esi
mov dword [esp + 8], 4
mov eax, dword [esp + 8]
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
jl 0x407c2d
mov eax, dword [esp + 0x10]
mov dword [esi + 0x220], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor eax, eax
cmp dword [edi], ebx
setne al
mov dword [esi + 0x48c], eax
mov esi, dword [esi + 8]
cmp esi, ebx
je 0x40976c
pop edi
mov dword [esi + 0x268], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 1
je 0x407d41
xor eax, eax
cmp edi, ebx
setne al
mov dword [esi + 0x490], eax
mov esi, dword [esi + 8]
cmp esi, ebx
je 0x40976c
pop edi
mov dword [esi + 0x26c], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
call fcn.0040bdf0
test eax, eax
je case.0x408190.244
xor eax, eax
cmp dword [edi], ebx
setne al
mov dword [esi + 0x42c], eax
mov esi, dword [esi + 8]
cmp esi, ebx
je 0x40976c
pop edi
mov dword [esi + 0x240], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
call fcn.0040be00
test eax, eax
je case.0x408190.244
mov eax, dword [esp + 0x10]
xor edx, edx
cmp dword [edi], ebx
pop edi
setne dl
mov dword [esi + 0x46c], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
mov eax, edi
and eax, 1
shr edi, 1
mov dword [esi + 0x44c], eax
mov eax, dword [esp + 0x10]
and edi, 1
mov dword [esi + 0x450], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
mov eax, dword [esp + 0x10]
mov ecx, edi
shr edi, 1
and ecx, 1
and edi, 1
mov dword [esi + 0x4b4], ecx
mov dword [esi + 0x4b8], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor edx, edx
cmp dword [edi], ebx
pop edi
setne dl
mov dword [esi + 0x6c4], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor eax, eax
cmp dword [edi], ebx
pop edi
setne al
mov dword [esi + 0x6e8], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
jl 0x407c2d
mov eax, dword [esp + 0x10]
mov dword [esi + 0x6ec], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
jl 0x407c2d
mov eax, dword [esp + 0x10]
mov dword [esi + 0x6f0], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp dword [edi], ebx
pop edi
setne cl
mov dword [esi + 0x6fc], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor edx, edx
cmp dword [edi], ebx
pop edi
setne dl
mov dword [esi + 0x700], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor eax, eax
cmp dword [edi], ebx
pop edi
setne al
mov dword [esi + 0x704], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp dword [edi], ebx
pop edi
setne cl
mov dword [esi + 0x708], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor edx, edx
cmp dword [edi], ebx
pop edi
setne dl
mov dword [esi + 0x710], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor eax, eax
cmp dword [edi], ebx
pop edi
setne al
mov dword [esi + 0x520], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x178], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
cmp eax, 0x27b4
jg 0x408dbb
je 0x408da7
add eax, 0xffffd8ee
cmp eax, 0x93
ja case.0x40964a.30118
movzx edx, byte [eax + 0x409b30]
jmp dword [edx*4 + 0x409a68]
mov eax, dword [edi]
push eax
add esi, 0x648
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ecx
add esi, 0x654
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
push edx
add esi, 0x650
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
push eax
add esi, 0x618
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
je 0x40857f
cmp byte [edi], bl
jne 0x40857f
call fcn.0041a2d0
mov edi, eax
cmp edi, ebx
jne 0x408558
pop edi
pop esi
mov dword [esp + 8], 0x1b
mov eax, dword [esp + 8]
pop ebp
pop ebx
add esp, 0xc
ret
push edi
add esi, 0x5ec
push esi
call fcn.004073c0
push edi
mov dword [esp + 0x1c], eax
call dword [0x46c004]
mov eax, dword [esp + 0x1c]
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
push edi
add esi, 0x5ec
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
mov dword [esi + 0x1a8], ecx
mov edx, dword [esi + 0x6ac]
push edx
call dword [0x46c004]
mov eax, dword [esp + 0x14]
add esp, 4
mov dword [esi + 0x6ac], ebx
pop edi
mov dword [esi + 0x410], 2
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
pop edi
mov dword [esi + 0x260], eax
mov eax, dword [esp + 0xc]
mov dword [esi + 0x564], ebx
mov dword [esi + 0x410], 3
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
cmp dword [esi + 0x734], ebx
je 0x408617
mov ecx, dword [esi + 0x730]
push ecx
call dword [0x46c004]
add esp, 4
mov dword [esi + 0x730], ebx
mov dword [esi + 0x734], ebx
mov edx, dword [edi]
push edx
lea ebp, [esi + 0x628]
push ebp
call fcn.004073c0
add esp, 8
mov dword [esp + 0x10], eax
mov eax, dword [ebp]
pop edi
mov dword [esi + 0x730], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ecx
add esi, 0x658
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x258], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
pop edi
mov dword [esi + 0x500], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ecx
add esi, 0x5d8
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
je 0x40976c
mov edx, dword [esi + 0x738]
push edi
push edx
call fcn.004156d0
add esp, 8
cmp eax, ebx
jne 0x4086e6
mov eax, dword [esi + 0x738]
push eax
call fcn.00415710
add esp, 4
pop edi
mov dword [esi + 0x738], ebx
pop esi
pop ebp
mov eax, 0x1b
pop ebx
add esp, 0xc
ret
pop edi
mov dword [esi + 0x738], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ecx
lea edx, [esi + 0x5dc]
push edx
call fcn.004073c0
mov ecx, dword [esi + 0x740]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x3d4]
push eax
push ecx
push ebx
push esi
call fcn.00416a00
add esp, 0x18
cmp eax, ebx
jne 0x40872f
mov dword [esp + 0x10], 0x1b
pop edi
mov dword [esi + 0x740], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
je 0x40976c
push 0x45c410
push edi
call fcn.0041a0d0
add esp, 8
test eax, eax
je 0x40878a
push 2
push 2
push esi
call fcn.0041a250
mov edx, dword [esi + 0x740]
push edx
call fcn.00416d80
push 2
push esi
call fcn.0041a290
mov eax, dword [esp + 0x28]
add esp, 0x18
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
push str.SESS
push edi
call fcn.0041a0d0
add esp, 8
test eax, eax
je 0x4087c9
push 2
push 2
push esi
call fcn.0041a250
mov eax, dword [esi + 0x740]
push eax
call fcn.004167b0
push 2
push esi
call fcn.0041a290
mov eax, dword [esp + 0x28]
add esp, 0x18
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
push str.FLUSH
push edi
call fcn.0041a0d0
add esp, 8
test eax, eax
je 0x4087f1
push ebx
push esi
call fcn.00416e30
mov eax, dword [esp + 0x18]
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
push str.RELOAD
push edi
call fcn.0041a0d0
add esp, 8
test eax, eax
je 0x408818
push esi
call fcn.00416db0
mov eax, dword [esp + 0x14]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
cmp dword [esi + 0x740], ebx
jne 0x408833
push 1
push ebx
push ebx
push esi
call fcn.00416a00
add esp, 0x10
mov dword [esi + 0x740], eax
push edi
call dword [0x46c00c]
mov edi, eax
add esp, 4
cmp edi, ebx
je 0x4088aa
cmp dword [esi + 0x740], ebx
je 0x4088aa
push 2
push 2
push esi
call fcn.0041a250
push 0xb
push edi
push str.Set_Cookie:
call fcn.0041a240
add esp, 0x18
push ebx
push ebx
test eax, eax
je 0x40887a
mov edx, dword [esi + 0x740]
lea ecx, [edi + 0xb]
push ecx
push 1
push edx
jmp 0x408883
mov eax, dword [esi + 0x740]
push edi
push ebx
push eax
push esi
call fcn.00415a70
add esp, 0x18
push 2
push esi
call fcn.0041a290
push edi
call dword [0x46c004]
mov eax, dword [esp + 0x1c]
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
push edi
mov dword [esp + 0x14], 0x1b
call dword [0x46c004]
mov eax, dword [esp + 0x14]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ecx
add esi, 0x5e0
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
push edx
add esi, 0x61c
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
pop edi
mov dword [esi + 0x180], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x170], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
push edx
lea ebp, [esi + 0x5f8]
push ebp
call fcn.004073c0
add esp, 8
mov dword [esp + 0x10], eax
xor eax, eax
cmp dword [ebp], ebx
pop edi
setne al
mov dword [esi + 0x53c], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x17c], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
cmp dword [esi + 0x72c], ebx
je 0x408994
mov edx, dword [esi + 0x728]
push edx
call dword [0x46c004]
add esp, 4
mov dword [esi + 0x728], ebx
mov dword [esi + 0x72c], ebx
mov eax, dword [edi]
push eax
lea ebp, [esi + 0x62c]
push ebp
call fcn.004073c0
mov ecx, dword [ebp]
add esp, 8
pop edi
mov dword [esi + 0x728], ecx
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
lea ebx, [esi + 0x670]
add esi, 0x66c
push esi
call fcn.00407400
add esp, 4
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x3e0], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
pop edi
mov dword [esi + 0x3e4], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x3dc], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x210], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
lea ebx, [esi + 0x67c]
add esi, 0x678
push esi
call fcn.00407400
add esp, 4
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
push eax
add esi, 0x624
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x16c], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
mov dword [esi + 0x168], edi
cmp edi, ebx
jne 0x40976c
call fcn.00445db7
add eax, 0x40
pop edi
mov dword [esi + 0x168], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x214], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
push eax
add esi, 0x5c8
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ecx
add esi, 0x5d0
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
push edx
add esi, 0x5fc
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
push eax
add esi, 0x60c
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ecx
add esi, 0x604
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
je 0x40976c
cmp byte [edi], bl
je 0x40976c
push edi
push esi
call fcn.0040bb80
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
push edx
add esi, 0x5e8
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
push eax
lea ebp, [esi + 0x614]
push ebp
call fcn.004073c0
add esp, 8
xor ecx, ecx
cmp dword [ebp], ebx
pop edi
setne cl
mov dword [esp + 0xc], eax
mov dword [esi + 0x574], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [0x46c058]
test byte [edx + 8], 8
je case.0x408190.244
mov eax, dword [edi]
pop edi
mov dword [esi + 0x464], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ecx
add esi, 0x638
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [0x46c058]
test byte [edx + 8], 1
je case.0x408190.244
mov eax, dword [edi]
push eax
add esi, 0x630
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x3f4], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
mov ebp, 3
cmp dword [esi + 0x6c], ebx
je 0x408cb4
push 2
push 1
push esi
call fcn.0041a250
add esp, 0xc
cmp dword [esi + 0x60], ebp
jne 0x408c71
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x60], ebx
mov edx, dword [esi + 0x6c]
mov eax, dword [edx + 0x68]
cmp eax, dword [esi + 0x740]
jne 0x408c85
mov dword [esi + 0x740], ebx
mov ecx, dword [esi + 0x6c]
mov edx, dword [ecx + 0x6c]
cmp edx, dword [esi + 0x4924]
jne 0x408c99
mov dword [esi + 0x4924], ebx
mov eax, dword [esi + 0x6c]
mov ecx, dword [eax + 4]
mov edx, dword [esi + 0x6c]
dec ecx
push 1
push esi
mov dword [edx + 4], ecx
call fcn.0041a290
add esp, 8
mov dword [esi + 0x6c], ebx
mov dword [esi + 0x6c], edi
cmp edi, ebx
je 0x40976c
push 2
push 1
push esi
call fcn.0041a250
mov eax, dword [esi + 0x6c]
mov ecx, dword [eax + 4]
mov edx, dword [esi + 0x6c]
inc ecx
mov dword [edx + 4], ecx
mov eax, dword [esi + 0x6c]
add esp, 0xc
test byte [eax], 8
je 0x408cea
add eax, 0x50
mov dword [esi + 0x5c], eax
mov dword [esi + 0x60], ebp
mov eax, dword [esi + 0x6c]
cmp dword [eax + 0x68], ebx
je 0x408d0d
mov ecx, dword [esi + 0x740]
push ecx
call fcn.00416820
mov edx, dword [esi + 0x6c]
mov eax, dword [edx + 0x68]
add esp, 4
mov dword [esi + 0x740], eax
mov ecx, dword [esi + 0x6c]
cmp dword [ecx + 0x6c], ebx
je 0x408d2c
mov edx, ecx
mov eax, dword [edx + 0x70]
mov dword [esi + 0x4ec], eax
mov ecx, dword [esi + 0x6c]
mov edx, dword [ecx + 0x6c]
mov dword [esi + 0x4924], edx
push 1
push esi
call fcn.0041a290
mov eax, dword [esp + 0x18]
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
pop edi
mov dword [esi + 0x4fc], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ecx
add esi, 0x5f0
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
push edx
add esi, 0x5f4
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
pop edi
mov dword [esi + 0x1ec], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x1f4], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
cmp eax, 0x4e2b
jg 0x409419
je 0x4093db
add eax, 0xffffd84b
cmp eax, 0x68
ja case.0x40964a.30118
movzx edx, byte [eax + 0x409c80]
jmp dword [edx*4 + 0x409bc4]
mov eax, dword [edi]
push eax
add esi, 0x64c
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ecx
add esi, 0x6a4
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
je 0x408ed4
mov ecx, dword [esi + 0x1b0]
mov eax, dword [esi + 0x1b4]
mov edx, ecx
and edx, eax
cmp edx, 0xffffffff
je 0x408ed4
cmp eax, ebx
jl 0x408ea3
jg 0x408e51
cmp ecx, ebx
jb 0x408ea3
cmp eax, ebx
jg 0x408ea3
jl 0x408e5c
cmp ecx, 0xffffffff
ja 0x408ea3
mov eax, dword [esi + 0x6ac]
push eax
call dword [0x46c004]
mov dword [esi + 0x6ac], ebx
mov eax, dword [esi + 0x1b0]
mov ecx, dword [esi + 0x1b4]
mov edx, eax
add esp, 4
or edx, ecx
je 0x408e8a
mov dword [esp + 0x18], ecx
jmp 0x408e93
mov eax, 1
mov dword [esp + 0x18], ebx
push eax
call dword [section..data]
mov ebp, eax
add esp, 4
cmp ebp, ebx
jne 0x408ead
mov dword [esp + 0x10], 0x1b
jmp 0x408ee8
mov eax, dword [esi + 0x1b0]
or eax, dword [esi + 0x1b4]
je 0x408ecc
mov ecx, dword [esi + 0x1b0]
push ecx
push edi
push ebp
call fcn.00445f70
add esp, 0xc
mov dword [esi + 0x6ac], ebp
jmp 0x408ee8
lea edx, [esi + 0x6ac]
push edi
push edx
call fcn.004073c0
add esp, 8
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x6ac]
pop edi
mov dword [esi + 0x1a8], eax
mov eax, dword [esp + 0xc]
mov dword [esi + 0x410], 2
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ebx
push ecx
lea edx, [esi + 0x268]
push edx
call fcn.00419f90
add esp, 0xc
mov dword [esp + 0x10], eax
cmp eax, ebx
jne 0x40976c
pop edi
mov dword [esi + 0x564], ebx
mov dword [esi + 0x410], 4
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
pop edi
mov dword [esi + 0x25c], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ecx
add esi, 0x620
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
push edx
add esi, 0x690
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
push eax
add esi, 0x694
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ecx
add esi, 0x66c
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
push edx
add esi, 0x670
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
push eax
add esi, 0x674
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ecx
add esi, 0x6a0
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
mov eax, dword [esp + 0x10]
mov dword [esi + 0x3f8], edi
mov dword [esi + 0x73c], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
push edx
add esi, 0x678
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
push eax
add esi, 0x67c
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ecx
add esi, 0x680
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x200], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
push eax
add esi, 0x5cc
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ecx
add esi, 0x5d4
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
push edx
add esi, 0x600
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
push eax
add esi, 0x610
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ecx
add esi, 0x608
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [0x46c058]
mov eax, 4
test byte [edx + 8], al
je 0x4084c9
mov eax, dword [edi]
push eax
add esi, 0x640
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [0x46c058]
mov eax, 4
test byte [ecx + 8], al
je 0x4084c9
mov edx, dword [edi]
push edx
add esi, 0x644
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
push eax
add esi, 0x63c
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [0x46c058]
test byte [ecx + 8], 1
je case.0x408190.244
mov edx, dword [edi]
push edx
add esi, 0x634
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
push eax
add esi, 0x65c
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ecx
add esi, 0x660
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
push edx
add esi, 0x664
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
pop edi
mov dword [esi + 0x1fc], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ecx
add esi, 0x5e4
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
push edx
add esi, 0x698
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
push eax
add esi, 0x69c
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x6c0], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
push edx
add esi, 0x684
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
push eax
add esi, 0x688
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ecx
add esi, 0x68c
push esi
call fcn.004073c0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x184], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
pop edi
mov dword [esi + 0x4cb4], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x6e0], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
push edx
push esi
call fcn.0040be20
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
push eax
push esi
call fcn.0040be20
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ecx
push esi
call fcn.0040be20
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
push edx
push esi
call fcn.0040be20
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
pop edi
mov dword [esi + 0x3fc], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
mov dword [esi + 0x1c0], edi
cmp edi, ebx
jne 0x409403
mov eax, dword [esp + 0x10]
mov dword [esi + 0x1d4], ebx
pop edi
mov dword [esi + 0x1c0], fcn.0044519e
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x1d4], 1
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
cmp eax, 0x75a3
jg 0x409635
je 0x409604
add eax, 0xffffb1d4
cmp eax, 0xcf
ja case.0x40964a.30118
movzx ecx, byte [eax + 0x409d38]
jmp dword [ecx*4 + 0x409cec]
mov edi, dword [edi]
mov eax, dword [esp + 0x10]
xor edx, edx
cmp edi, ebx
setne dl
mov dword [esi + 0x1d8], edi
pop edi
mov dword [esi + 0x778], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
xor eax, eax
cmp edi, ebx
setne al
mov dword [esi + 0x1dc], edi
pop edi
mov dword [esi + 0x778], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x1e0], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x1c4], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
mov dword [esi + 0x1cc], edi
cmp edi, ebx
jne 0x4094da
mov eax, dword [esp + 0x10]
mov dword [esi + 0x1d0], ebx
pop edi
mov dword [esi + 0x1cc], 0x445d9a
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x1d0], 1
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
pop edi
mov dword [esi + 0x1ac], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x204], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x208], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
pop edi
mov dword [esi + 0x20c], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x1e4], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [0x46c058]
test byte [edx + 8], 8
je case.0x408190.244
mov eax, dword [edi]
pop edi
mov dword [esi + 0x460], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x1e8], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x1f0], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
pop edi
mov dword [esi + 0x1f8], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x1c8], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x6d4], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
pop edi
mov dword [esi + 0x6d8], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x6dc], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
mov edi, dword [edi + 4]
cmp edi, 0xffffffff
jg 0x40961d
jl 0x407c2d
cmp eax, 0xffffffff
jb 0x407c2d
mov dword [esi + 0x234], edi
pop edi
mov dword [esi + 0x230], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
add eax, 0xffff8a5c
cmp eax, 0x1e
ja case.0x40964a.30118
movzx edx, byte [eax + 0x409e20]
jmp dword [edx*4 + 0x409e08]
mov ebp, dword [edi]
mov edi, dword [edi + 4]
cmp edi, 0xffffffff
jg 0x40966a
jl 0x407c2d
cmp ebp, 0xffffffff
jb 0x407c2d
mov eax, dword [esi + 0x1b4]
cmp eax, edi
jg 0x407919
jl 0x409688
mov ecx, dword [esi + 0x1b0]
cmp ecx, ebp
jae 0x407919
mov edx, dword [esi + 0x1a8]
cmp edx, dword [esi + 0x6ac]
jne 0x407919
mov eax, dword [esi + 0x6ac]
push eax
jmp 0x407904
mov eax, dword [edi]
mov edi, dword [edi + 4]
cmp edi, ebx
jg 0x4096bd
jl 0x407c2d
cmp eax, ebx
jb 0x407c2d
mov dword [esi + 0x244], edi
pop edi
mov dword [esi + 0x240], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
mov edi, dword [edi + 4]
cmp edi, ebx
jg 0x4096ec
jl 0x407c2d
cmp eax, ebx
jb 0x407c2d
mov dword [esi + 0x24c], edi
pop edi
mov dword [esi + 0x248], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
mov edi, dword [edi + 4]
cmp edi, 0xffffffff
jg 0x40971d
jl 0x407c2d
cmp eax, 0xffffffff
jb 0x407c2d
mov dword [esi + 0x254], edi
pop edi
mov dword [esi + 0x250], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
mov edi, dword [edi + 4]
cmp edi, ebx
jg 0x40974c
jl 0x407c2d
cmp eax, ebx
jb 0x407c2d
mov dword [esi + 0x508], eax
mov eax, dword [esp + 0x10]
mov dword [esi + 0x50c], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov dword [esp + 0x10], 0x30
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 4]
test edx, edx
jne 0x409e4c
lea eax, [edx + 0x2b]
ret
mov eax, dword [esp + 8]
lea ecx, [esp + 0xc]
jmp 0x4074c0