Function at 0x10016130
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 0xc]
sub esp, 8
push ebx
push esi
xor ebx, ebx
push edi
cmp edx, 0xd2
jg 0x1001709d
je 0x1001707e
lea eax, [edx - 3]
cmp eax, 0xcc
ja case.0x10018a5d.30118
movzx eax, byte [eax + 0x10018cb4]
jmp dword [eax*4 + 0x10018b6c]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
cmp ecx, 0xffffffff
jl 0x10016a54
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x8e0], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x10016a54
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0xa58], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov edx, dword [ebp + 8]
pop edi
pop esi
cmp dword [eax], ecx
mov eax, dword [edx + 0xa8c]
setne cl
and eax, 0xefffffff
shl ecx, 0x1c
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa8c], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov edx, dword [ebp + 8]
pop edi
pop esi
cmp dword [eax], ecx
mov eax, dword [edx + 0xa8c]
setne cl
and eax, 0xdfffffff
shl ecx, 0x1d
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa8c], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov edx, dword [ebp + 8]
pop edi
pop esi
cmp dword [eax], ecx
mov eax, dword [edx + 0xa8c]
setne cl
and eax, 0xfbffffff
shl ecx, 0x1a
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa8c], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov edx, dword [ebp + 8]
pop edi
pop esi
cmp dword [eax], ecx
mov eax, dword [edx + 0xa8c]
setne cl
and eax, 0xffdfffff
shl ecx, 0x15
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa8c], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov edx, dword [ebp + 8]
cmp dword [eax], ecx
mov eax, dword [edx + 0xa8c]
setne cl
and eax, 0xffff7fff
shl ecx, 0xf
or ecx, eax
mov dword [edx + 0xa8c], ecx
test ecx, 0x8000
je 0x10016296
or dword [edx + 0xae4], 0x10
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
and dword [edx + 0xae4], 0xffffffef
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov edx, dword [ebp + 8]
pop edi
pop esi
cmp dword [eax], ecx
mov eax, dword [edx + 0xa8c]
setne cl
and eax, 0xfeffffff
shl ecx, 0x18
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa8c], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov edx, dword [ebp + 8]
pop edi
pop esi
cmp dword [eax], ecx
mov eax, dword [edx + 0xa8c]
setne cl
and eax, 0xfffeffff
shl ecx, 0x10
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa8c], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov edx, dword [ebp + 8]
cmp dword [eax], ecx
mov eax, dword [edx + 0xa8c]
setne cl
and eax, 0xfdffffff
shl ecx, 0x19
or ecx, eax
mov dword [edx + 0xa8c], ecx
test ecx, 0x2000000
je 0x10016346
and dword [edx + 0xa8c], 0xfeffffff
mov eax, ebx
pop edi
pop esi
mov dword [edx + 0x828], 5
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, ebx
mov dword [edx + 0x828], 1
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa8c]
neg ecx
sbb ecx, ecx
and eax, 0xfffffdff
and ecx, 0x200
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa8c], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
sub eax, 0
je 0x100163cb
sub eax, 1
je 0x100163b5
sub eax, 1
jne case.0x10018a5d.30118
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x904], 2
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x904], 1
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x904], ebx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
cmp eax, 0x20c49b
ja 0x10016a54
imul ecx, eax, 0x3e8
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x650], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x10016a54
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x654], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa8c]
neg ecx
sbb ecx, ecx
and eax, 0xffffdfff
and ecx, 0x2000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa8c], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa8c]
neg ecx
sbb ecx, ecx
and eax, 0xffffefff
and ecx, 0x1000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa8c], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
cmp ecx, 3
ja 0x10016a54
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x900], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
cmp ecx, 2
ja 0x10016a54
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x910], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa8c]
neg ecx
sbb ecx, ecx
and eax, 0xfffff7ff
and ecx, 0x800
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa8c], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
cmp ecx, 3
ja 0x10016a54
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x81c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
pop edi
pop esi
mov eax, dword [eax]
cdq
mov dword [ecx + 0x820], eax
mov eax, ebx
mov dword [ecx + 0x824], edx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov edx, dword [ebp + 8]
pop edi
pop esi
cmp dword [eax], ecx
mov eax, dword [edx + 0xa8c]
setne cl
and eax, 0xff7fffff
shl ecx, 0x17
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa8c], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov edx, dword [ebp + 8]
pop edi
pop esi
cmp dword [eax], ecx
mov eax, dword [edx + 0xa8c]
setne cl
and eax, 0xfff7ffff
shl ecx, 0x13
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa8c], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov edx, dword [ebp + 8]
pop edi
pop esi
cmp dword [eax], ecx
mov eax, dword [edx + 0xa8c]
setne cl
and eax, 0xfffbffff
shl ecx, 0x12
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa8c], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov edx, dword [ebp + 8]
pop edi
pop esi
cmp dword [eax], ecx
mov eax, dword [edx + 0xa8c]
setne cl
and eax, 0xffefffff
shl ecx, 0x14
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa8c], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
cmp ecx, 0xffffffff
jl 0x10016a54
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x5cc], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x10016a54
mov eax, dword [ebp + 8]
and ecx, 7
pop edi
pop esi
mov dword [eax + 0x5d0], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
cmp dword [eax], ebx
mov eax, dword [ebp + 8]
je 0x10016645
and dword [eax + 0xa8c], 0xfeffffff
pop edi
mov dword [eax + 0x828], 2
mov eax, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
mov dword [eax + 0x828], 1
mov eax, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
cdq
mov edi, eax
mov ecx, edx
mov dword [ebp + 0xc], ecx
cmp ecx, 0xffffffff
jg 0x10016679
jl 0x10016a54
cmp edi, 0xffffffff
jb 0x10016a54
mov esi, dword [ebp + 8]
cmp dword [esi + 0x5e4], ecx
jg 0x100166b2
jl 0x1001668e
cmp dword [esi + 0x5e0], edi
jae 0x100166b2
mov eax, dword [esi + 0x5d4]
lea edx, [esi + 0xa20]
cmp eax, dword [edx]
jne 0x100166b2
push 0
push edx
call fcn.10016000
mov ecx, dword [ebp + 0xc]
add esp, 8
mov dword [esi + 0x5d4], ebx
mov dword [esi + 0x5e0], edi
mov eax, ebx
pop edi
mov dword [esi + 0x5e4], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa8c]
neg ecx
sbb ecx, ecx
and eax, 0xffffffdf
and ecx, 0x20
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa8c], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
cmp dword [eax], ebx
je case.0x10016165.91
mov eax, dword [ebp + 8]
pop edi
pop esi
and dword [eax + 0xa8c], 0xfcffffff
mov dword [eax + 0x828], 1
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x10016a54
cmp ecx, 3
jl 0x10016739
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x82c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [eax]
test edx, edx
jne 0x10016766
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x5bc], ebx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 8]
mov eax, edx
shr eax, 4
movzx eax, al
shl eax, 2
xor eax, dword [esi + 0xd04]
and eax, 4
xor dword [esi + 0xd04], eax
test dl, 0x10
je 0x1001678e
and edx, 0xffffffef
or edx, 2
and edx, 0xffffffdb
xor ecx, ecx
mov eax, 1
shl eax, cl
inc ecx
and eax, edx
jne 0x100167b0
cmp ecx, 0x1f
jl 0x10016793
pop edi
pop esi
mov eax, 4
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
mov dword [esi + 0x5bc], edx
mov eax, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa8c]
neg ecx
sbb ecx, ecx
and eax, 0xfffffbff
and ecx, 0x400
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa8c], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
cmp ecx, 0xffff
ja 0x10016a54
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x5a4], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [eax]
test edx, edx
jne 0x1001682b
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x5c0], ebx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 8]
mov eax, edx
shr eax, 4
movzx eax, al
shl eax, 2
xor eax, dword [esi + 0xd14]
and eax, 4
xor dword [esi + 0xd14], eax
test dl, 0x10
je 0x10016853
and edx, 0xffffffef
or edx, 2
and edx, 0xffffffdb
xor ecx, ecx
mov eax, 1
shl eax, cl
inc ecx
and eax, edx
jne 0x10016875
cmp ecx, 0x1f
jl 0x10016858
pop edi
pop esi
mov eax, 4
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
mov dword [esi + 0x5c0], edx
mov eax, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
cmp ecx, 7
ja 0x10016a54
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x8dc], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
sub eax, 0
je 0x100168cd
sub eax, 1
jne case.0x10018a5d.30118
mov eax, dword [ebp + 8]
pop edi
pop esi
or dword [eax + 0xa90], 0x200
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
pop edi
pop esi
and dword [eax + 0xa90], 0xfffffdff
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov edx, dword [ebp + 8]
pop edi
pop esi
cmp dword [eax], ecx
mov eax, dword [edx + 0xa8c]
setne cl
and eax, 0x7fffffff
shl ecx, 0x1f
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa8c], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov edx, dword [ebp + 8]
pop edi
pop esi
cmp dword [eax], ecx
mov eax, dword [edx + 0xa8c]
setne cl
and eax, 0xbfffffff
shl ecx, 0x1e
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa8c], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov edx, dword [ebp + 8]
pop edi
pop esi
cmp dword [eax], ecx
mov eax, dword [edx + 0xa90]
setne cl
and eax, 0xfffffffe
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa90], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
cmp ecx, 2
ja 0x10016a54
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x91c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa90]
neg ecx
sbb ecx, ecx
and eax, 0xffffffdf
and ecx, 0x20
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa90], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
cmp eax, 0xffffffff
jl 0x10016a54
mov ecx, dword [ebp + 8]
cdq
pop edi
pop esi
mov dword [ecx + 0x658], eax
mov eax, ebx
mov dword [ecx + 0x65c], edx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x10016a54
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x660], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x10016a54
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x664], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
cmp ecx, 0xffff
ja 0x10016a54
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x5b8], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
cmp eax, 0x20c49b
ja 0x10016a54
imul ecx, eax, 0x3e8
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x640], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
jns 0x10016a39
pop edi
pop esi
mov eax, 0x2b
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
cmp eax, 0x20c49b
ja 0x10016a54
imul ecx, eax, 0x3e8
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x644], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
jns 0x10016a72
pop edi
pop esi
mov eax, 0x2b
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
cmp eax, 0xffffffff
jl 0x10016a54
mov ecx, dword [ebp + 8]
cdq
pop edi
pop esi
mov dword [ecx + 0x678], eax
mov eax, ebx
mov dword [ecx + 0x67c], edx
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 8]
push 0
lea eax, [esi + 0x9d8]
push eax
call fcn.10016000
push esi
call fcn.100221a0
add esp, 0xc
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa8c]
neg ecx
sbb ecx, ecx
and eax, 0xffffffbf
and ecx, 0x40
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa8c], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
cmp eax, 0xffff
ja 0x10016a54
push eax
call fcn.1002a9b0
mov ecx, dword [ebp + 8]
add esp, 4
pop edi
mov word [ecx + 0x5e8], ax
mov eax, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
cmp eax, 0xffff
ja 0x10016a54
push eax
call fcn.1002a9c0
mov ecx, dword [ebp + 8]
add esp, 4
pop edi
mov dword [ecx + 0x5ec], eax
mov eax, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
xor edx, edx
mov ecx, dword [ebp + 8]
cmp dword [eax], edx
mov eax, dword [ecx + 0x854]
setne dl
and eax, 0xfffffffe
or edx, eax
mov dword [ecx + 0x854], edx
mov ecx, dword [ecx + 8]
test ecx, ecx
je case.0x10016165.91
mov eax, dword [ecx + 0x254]
xor eax, edx
and eax, 1
xor dword [ecx + 0x254], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
cmp eax, 1
jne 0x10016bc8
push str.CURLOPT_SSL_VERIFYHOST_no_longer_supports_1_as_value_
push dword [ebp + 8]
call fcn.10028480
add esp, 8
mov eax, 0x2b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 8]
xor edx, edx
test eax, eax
setne dl
mov eax, dword [ecx + 0x854]
add edx, edx
and eax, 0xfffffffd
or edx, eax
mov dword [ecx + 0x854], edx
mov ecx, dword [ecx + 8]
test ecx, ecx
je case.0x10016165.91
mov eax, dword [ecx + 0x254]
xor eax, edx
and eax, 2
xor dword [ecx + 0x254], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x101d9038]
test byte [eax + 8], 2
je case.0x100170c5.244
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov edx, dword [ebp + 8]
pop edi
pop esi
cmp dword [eax], ecx
mov eax, dword [edx + 0x880]
setne cl
and eax, 0xfffffffe
or ecx, eax
mov eax, ebx
mov dword [edx + 0x880], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov esi, dword [eax]
cmp esi, 0x80000
jle 0x10016c54
mov esi, 0x80000
jmp 0x10016c6a
cmp esi, 1
jge 0x10016c60
mov esi, 0x4000
jmp 0x10016c6a
mov eax, 0x400
cmp esi, eax
cmovl esi, eax
mov edi, dword [ebp + 8]
cmp esi, dword [edi + 0x8e4]
je 0x10016ca6
lea eax, [esi + 1]
push eax
push dword [edi + 0xc5c]
call dword [0x101d9028]
add esp, 8
test eax, eax
jne 0x10016ca0
mov dword [edi + 0x8e4], esi
mov ebx, 0x1b
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0xc5c], eax
mov dword [edi + 0x8e4], esi
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa90]
neg ecx
sbb ecx, ecx
and eax, 0xfffffffd
and ecx, 2
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa90], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
test eax, eax
js 0x10016a54
mov ecx, dword [ebp + 8]
cdq
pop edi
pop esi
mov dword [ecx + 0x8f8], eax
mov eax, ebx
mov dword [ecx + 0x8fc], edx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
cmp ecx, 3
ja 0x10016a54
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x914], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
cmp ecx, 2
ja 0x10016a54
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x918], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
cmp ecx, 2
ja 0x10016a54
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x8f4], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa90]
neg ecx
sbb ecx, ecx
and eax, 0xfffffff7
and ecx, 8
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa90], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa90]
neg ecx
sbb ecx, ecx
and eax, 0xffffffef
and ecx, 0x10
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa90], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa90]
neg ecx
sbb ecx, ecx
and eax, 0xffffffbf
and ecx, 0x40
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa90], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0x854]
neg ecx
sbb ecx, ecx
and eax, 0xfffffff7
and ecx, 8
or ecx, eax
mov eax, dword [edx + 0x8a8]
xor eax, ecx
mov dword [edx + 0x854], ecx
and eax, 8
xor dword [edx + 0x8a8], eax
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov edx, dword [ebp + 8]
mov esi, 0x80
pop edi
cmp dword [eax], ecx
mov eax, dword [edx + 0xa90]
cmove ecx, esi
and eax, 0xffffff7f
or ecx, eax
mov eax, ebx
pop esi
mov dword [edx + 0xa90], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov edx, dword [ebp + 8]
mov esi, 0x100
pop edi
cmp dword [eax], ecx
mov eax, dword [edx + 0xa90]
cmove ecx, esi
and eax, 0xfffffeff
or ecx, eax
mov eax, ebx
pop esi
mov dword [edx + 0xa90], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
cmp ecx, 0x1ff
ja 0x10016a54
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x920], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
cmp ecx, 0x1ff
ja 0x10016a54
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x924], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
cmp eax, 0xf
ja 0x10016a54
push eax
call fcn.1002a990
mov ecx, dword [ebp + 8]
add esp, 4
pop edi
mov dword [ecx + 0xa24], eax
mov eax, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0xa28], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0xa2c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
dec eax
cmp eax, 0xa
ja case.default.0x10016f21
jmp dword [eax*4 + 0x10018d84]
mov eax, dword [ebp + 8]
mov ecx, 1
pop edi
pop esi
mov dword [eax + 0xa34], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, 2
pop edi
pop esi
mov dword [eax + 0xa34], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, 3
pop edi
pop esi
mov dword [eax + 0xa34], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, 4
pop edi
pop esi
mov dword [eax + 0xa34], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, 5
pop edi
pop esi
mov dword [eax + 0xa34], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, 6
pop edi
pop esi
mov dword [eax + 0xa34], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, 7
pop edi
pop esi
mov dword [eax + 0xa34], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, 8
pop edi
pop esi
mov dword [eax + 0xa34], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, 9
pop edi
pop esi
mov dword [eax + 0xa34], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, 0xa
pop edi
pop esi
mov dword [eax + 0xa34], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, 0xb
pop edi
pop esi
mov dword [eax + 0xa34], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
xor ecx, ecx
pop edi
pop esi
mov dword [eax + 0xa34], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0xf10], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa90]
neg ecx
sbb ecx, ecx
and eax, 0xfffff7ff
and ecx, 0x800
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa90], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x10016a54
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0xa4c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x2711
jg 0x10017661
je 0x1001764a
lea eax, [edx - 0xd4]
cmp eax, 0x49
ja case.0x10018a5d.30118
movzx eax, byte [eax + 0x10018e34]
jmp dword [eax*4 + 0x10018db0]
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov edx, dword [ebp + 8]
pop edi
pop esi
cmp dword [eax], ecx
mov eax, dword [edx + 0xa8c]
setne cl
and eax, 0xfffdffff
shl ecx, 0x11
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa8c], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa8c]
neg ecx
sbb ecx, ecx
and eax, 0xfffffff7
and ecx, 8
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa8c], ecx
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x20
mov eax, 0x830
mov ecx, 0x884
cmove ecx, eax
mov eax, dword [ebp + 0x10]
add ecx, dword [ebp + 8]
mov eax, dword [eax]
movzx edx, ax
and eax, 0xffff0000
cmp edx, 8
jae 0x10016a54
cmp eax, 0x7ffff
ja 0x10016a54
pop edi
mov dword [ecx + 4], eax
mov eax, ebx
pop esi
mov dword [ecx], edx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
pop edi
pop esi
movzx eax, byte [eax]
shl eax, 4
xor eax, dword [ecx + 0xa8c]
and eax, 0x10
xor dword [ecx + 0xa8c], eax
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x10016a54
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0xa5c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
cmp eax, 1
jg 0x10016a54
mov edx, dword [ebp + 8]
xor ecx, ecx
test eax, eax
pop edi
setne cl
mov eax, dword [edx + 0xa90]
and eax, 0xfbffffff
shl ecx, 0x1a
or ecx, eax
mov eax, ebx
pop esi
mov dword [edx + 0xa90], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ebx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x5c4], ebx
and ebx, 0xfffffffa
neg ebx
sbb ebx, ebx
and ebx, 4
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x10016a54
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x648], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov edx, dword [ebp + 8]
pop edi
pop esi
cmp dword [eax], ecx
mov eax, dword [edx + 0xa90]
setne cl
and eax, 0xffdfffff
shl ecx, 0x15
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa90], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
xor edx, edx
mov ecx, dword [ebp + 8]
cmp dword [eax], edx
mov eax, dword [ecx + 0x8a8]
setne dl
and eax, 0xfffffffe
or edx, eax
mov dword [ecx + 0x8a8], edx
mov ecx, dword [ecx + 8]
test ecx, ecx
je case.0x10016165.91
mov eax, dword [ecx + 0x27c]
xor eax, edx
and eax, 1
xor dword [ecx + 0x27c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
cmp eax, 1
je 0x10016bac
mov ecx, dword [ebp + 8]
xor edx, edx
test eax, eax
setne dl
mov eax, dword [ecx + 0x8a8]
add edx, edx
and eax, 0xfffffffd
or edx, eax
mov dword [ecx + 0x8a8], edx
mov ecx, dword [ecx + 8]
test ecx, ecx
je case.0x10016165.91
mov eax, dword [ecx + 0x27c]
xor eax, edx
and eax, 2
xor dword [ecx + 0x27c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.10021950
test al, al
jne 0x100172f3
pop edi
mov ebx, 4
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
mov edx, dword [eax]
mov eax, dword [ecx + 0x854]
neg edx
sbb edx, edx
and eax, 0xfffffffb
and edx, 4
or edx, eax
mov dword [ecx + 0x854], edx
mov ecx, dword [ecx + 8]
test ecx, ecx
je case.0x10016165.91
mov eax, dword [ecx + 0x254]
xor eax, edx
and eax, 4
xor dword [ecx + 0x254], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.10021c40
test al, al
je case.0x100170c5.244
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0x880]
neg ecx
sbb ecx, ecx
and eax, 0xfffffffd
and ecx, 2
or ecx, eax
mov eax, ebx
mov dword [edx + 0x880], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
cmp eax, 0x200000
jle 0x1001737d
mov eax, 0x200000
jmp 0x10017387
mov ecx, 0x4000
cmp eax, ecx
cmovl eax, ecx
mov esi, dword [ebp + 8]
push dword [esi + 0xc60]
mov dword [esi + 0x8e8], eax
call dword [0x101d9024]
add esp, 4
mov dword [esi + 0xc60], ebx
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov eax, dword [eax]
movzx ecx, al
and eax, 2
and ecx, 1
or ecx, eax
mov eax, dword [edx + 0x880]
and eax, 0xfffffff3
shl ecx, 2
or ecx, eax
mov eax, ebx
mov dword [edx + 0x880], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov eax, dword [eax]
movzx ecx, al
and eax, 2
and ecx, 1
or ecx, eax
mov eax, dword [edx + 0x8d4]
and eax, 0xfffffff3
shl ecx, 2
or ecx, eax
mov eax, ebx
mov dword [edx + 0x8d4], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa90]
neg ecx
sbb ecx, ecx
and eax, 0xfffffbff
and ecx, 0x400
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa90], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa90]
neg ecx
sbb ecx, ecx
and eax, 0xffffefff
and ecx, 0x1000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa90], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x10016a54
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0xa50], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x10016a54
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0xa54], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa90]
neg ecx
sbb ecx, ecx
and eax, 0xffffbfff
and ecx, 0x4000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa90], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov edx, dword [ebp + 8]
pop edi
pop esi
cmp dword [eax], ecx
mov eax, dword [edx + 0xa90]
setne cl
and eax, 0xffff7fff
shl ecx, 0xf
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa90], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov edx, dword [ebp + 8]
pop edi
pop esi
cmp dword [eax], ecx
mov eax, dword [edx + 0xa90]
setne cl
and eax, 0xfffeffff
shl ecx, 0x10
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa90], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov edx, dword [ebp + 8]
pop edi
pop esi
cmp dword [eax], ecx
mov eax, dword [edx + 0xa90]
setne cl
and eax, 0xfffdffff
shl ecx, 0x11
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa90], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov edx, dword [ebp + 8]
pop edi
pop esi
cmp dword [eax], ecx
mov eax, dword [edx + 0xa90]
setne cl
and eax, 0xfffbffff
shl ecx, 0x12
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa90], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa8c]
neg ecx
sbb ecx, ecx
and eax, 0xfffffeff
and ecx, 0x100
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa8c], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x10016a54
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x64c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov edx, dword [ebp + 8]
pop edi
pop esi
cmp dword [eax], ecx
mov eax, dword [edx + 0xa90]
setne cl
and eax, 0xfff7ffff
shl ecx, 0x13
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa90], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov edx, dword [ebp + 8]
pop edi
pop esi
cmp dword [eax], ecx
mov eax, dword [edx + 0xa90]
setne cl
and eax, 0xff7fffff
shl ecx, 0x17
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa90], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x10016a54
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0xa74], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x5a8], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x27b4
jg 0x10018034
je 0x1001801d
add edx, 0xffffd8ee
cmp edx, 0x93
ja case.0x10018a5d.30118
movzx eax, byte [edx + 0x10018f48]
jmp dword [eax*4 + 0x10018e80]
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9ac
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9c0
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9bc
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x97c
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
test eax, eax
je 0x10017759
cmp byte [eax], bl
jne 0x10017759
call fcn.1002b2e0
mov esi, eax
test esi, esi
jne 0x10017735
pop edi
mov ebx, 0x1b
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
add eax, 0x950
push esi
push eax
call fcn.10016000
push esi
mov ebx, eax
call dword [0x101d9024]
add esp, 0xc
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push eax
mov eax, dword [ebp + 8]
add eax, 0x950
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
push 0
mov eax, dword [eax]
mov dword [esi + 0x5d4], eax
lea eax, [esi + 0xa20]
push eax
call fcn.10016000
add esp, 8
mov dword [esi + 0x828], 2
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov eax, dword [eax]
and dword [ecx + 0xa8c], 0xfeffffff
mov dword [ecx + 0x688], eax
mov eax, ebx
mov dword [ecx + 0x828], 3
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 8]
test byte [edi + 0xaa8], 2
je 0x100177f9
push dword [edi + 0xa9c]
call dword [0x101d9024]
add esp, 4
mov dword [edi + 0xa9c], ebx
and dword [edi + 0xaa8], 0xfffffffd
mov eax, dword [ebp + 0x10]
lea esi, [edi + 0x98c]
push dword [eax]
push esi
call fcn.10016000
add esp, 8
mov ebx, eax
mov eax, dword [esi]
mov dword [edi + 0xa9c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9c4
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x680], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x8f0], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x93c
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
test eax, eax
je case.0x10016165.91
mov esi, dword [ebp + 8]
push eax
push dword [esi + 0xaa0]
call fcn.10019340
add esp, 8
test eax, eax
jne 0x100178cf
push dword [esi + 0xaa0]
call fcn.10019380
add esp, 4
mov dword [esi + 0xaa0], ebx
mov eax, 0x1b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
mov dword [esi + 0xaa0], eax
mov eax, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
push dword [eax]
lea eax, [esi + 0x940]
push eax
call fcn.10016000
mov ebx, eax
mov eax, dword [esi + 0xa8c]
shr eax, 5
and al, 1
movzx eax, al
push eax
push dword [esi + 0xaac]
push 0
push esi
call fcn.1001cfe0
add esp, 0x18
mov dword [esi + 0xaac], eax
test eax, eax
mov ecx, 0x1b
cmove ebx, ecx
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edi, dword [eax]
test edi, edi
je case.0x10016165.91
push 0x10176a80
push edi
call fcn.1002b0b0
add esp, 8
test eax, eax
je 0x10017978
mov esi, dword [ebp + 8]
push 2
push 2
push esi
call fcn.1002b630
push dword [esi + 0xaac]
call fcn.1001cd80
push 2
push esi
call fcn.1002b670
add esp, 0x18
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.SESS
push edi
call fcn.1002b0b0
add esp, 8
test eax, eax
je 0x100179b6
mov esi, dword [ebp + 8]
push 2
push 2
push esi
call fcn.1002b630
push dword [esi + 0xaac]
call fcn.1001cdc0
push 2
push esi
call fcn.1002b670
add esp, 0x18
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.FLUSH
push edi
call fcn.1002b0b0
add esp, 8
test eax, eax
je 0x100179de
push 0
push dword [ebp + 8]
call fcn.1001d270
add esp, 8
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.RELOAD
push edi
call fcn.1002b0b0
add esp, 8
test eax, eax
je 0x10017a04
push dword [ebp + 8]
call fcn.1001d1e0
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 8]
cmp dword [esi + 0xaac], ebx
jne 0x10017a24
push 1
push 0
push 0
push esi
call fcn.1001cfe0
add esp, 0x10
mov dword [esi + 0xaac], eax
push edi
call dword [0x101d902c]
mov edi, eax
add esp, 4
test edi, edi
je 0x10017a99
cmp dword [esi + 0xaac], ebx
je 0x10017a99
push 2
push 2
push esi
call fcn.1002b630
push 0xb
push edi
push str.Set_Cookie:
call fcn.1002b200
add esp, 0x18
push 1
push 0
push 0
test eax, eax
je 0x10017a6a
lea eax, [edi + 0xb]
push eax
push 0
push 1
jmp 0x10017a6f
push edi
push 0
push 0
push dword [esi + 0xaac]
push esi
call fcn.1001c000
add esp, 0x20
push 2
push esi
call fcn.1002b670
push edi
call dword [0x101d9024]
add esp, 0xc
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push edi
mov ebx, 0x1b
call dword [0x101d9024]
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x944
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x980
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x5b0], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x5a0], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
push dword [eax]
lea esi, [edi + 0x95c]
push esi
call fcn.10016000
mov ecx, dword [esi]
add esp, 8
neg ecx
mov ebx, eax
mov eax, dword [edi + 0xa8c]
sbb ecx, ecx
and eax, 0xffffbfff
and ecx, 0x4000
or ecx, eax
mov eax, ebx
mov dword [edi + 0xa8c], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x5ac], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 8]
test byte [edi + 0xaa8], 1
je 0x10017b9d
push dword [edi + 0xa98]
call dword [0x101d9024]
add esp, 4
mov dword [edi + 0xa98], ebx
and dword [edi + 0xaa8], 0xfffffffe
mov eax, dword [ebp + 0x10]
lea esi, [edi + 0x990]
push dword [eax]
push esi
call fcn.10016000
add esp, 8
mov ebx, eax
mov eax, dword [esi]
mov dword [edi + 0xa98], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 8]
lea eax, [ecx + 0x9e0]
push eax
lea eax, [ecx + 0x9dc]
push eax
mov eax, dword [ebp + 0x10]
push dword [eax]
call fcn.10016070
add esp, 0xc
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x7fc], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x800], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x7f8], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x638], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 8]
lea eax, [ecx + 0x9ec]
push eax
lea eax, [ecx + 0x9e8]
jmp 0x10017bd4
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x988
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x59c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
mov eax, dword [eax]
mov dword [esi + 0x598], eax
test eax, eax
jne case.0x10016165.91
push 2
call fcn.1008c50f
add esp, 4
mov dword [esi + 0x598], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x63c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x92c
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x934
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x960
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x970
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x968
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov esi, dword [eax]
test esi, esi
je case.0x10016165.91
cmp byte [esi], bl
je case.0x10016165.91
mov edi, dword [ebp + 8]
push esi
lea eax, [edi + 0x9d8]
push eax
call fcn.10016000
mov ebx, eax
add esp, 8
test ebx, ebx
jne case.0x10016165.91
push esi
push edi
call fcn.10022190
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x94c
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
push dword [eax]
lea esi, [edi + 0x978]
push esi
call fcn.10016000
add esp, 8
xor ecx, ecx
cmp dword [esi], ecx
mov ebx, eax
mov eax, dword [edi + 0xa8c]
setne cl
and eax, 0xf7ffffff
shl ecx, 0x1b
or ecx, eax
mov eax, ebx
mov dword [edi + 0xa8c], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x101d9038]
test byte [eax + 8], 8
je case.0x100170c5.244
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x868], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x99c
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x101d9038]
test byte [eax + 8], 1
je case.0x100170c5.244
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x994
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x810], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
mov edi, dword [eax]
cmp dword [esi + 0x8c], ebx
je 0x10017f15
push 2
push 1
push esi
call fcn.1002b630
add esp, 0xc
cmp dword [esi + 0x80], 3
jne 0x10017ecf
mov dword [esi + 0x7c], ebx
mov dword [esi + 0x80], ebx
mov ecx, dword [esi + 0x8c]
mov eax, dword [ecx + 0x68]
cmp eax, dword [esi + 0xaac]
jne 0x10017ee6
mov dword [esi + 0xaac], ebx
mov eax, dword [ecx + 0x6c]
cmp eax, dword [esi + 0xc78]
jne 0x10017ef7
mov dword [esi + 0xc78], ebx
mov ecx, dword [ecx + 4]
mov eax, dword [esi + 0x8c]
dec ecx
push 1
push esi
mov dword [eax + 4], ecx
call fcn.1002b670
add esp, 8
mov dword [esi + 0x8c], ebx
mov dword [esi + 0x8c], edi
test edi, edi
je case.0x10016165.91
push 2
push 1
push esi
call fcn.1002b630
mov eax, dword [esi + 0x8c]
add esp, 0xc
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x8c]
inc ecx
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x8c]
test byte [ecx], 8
je 0x10017f5e
lea eax, [ecx + 0x50]
mov dword [esi + 0x80], 3
mov dword [esi + 0x7c], eax
cmp dword [ecx + 0x68], ebx
je 0x10017f80
push dword [esi + 0xaac]
call fcn.1001cd30
mov ecx, dword [esi + 0x8c]
add esp, 4
mov eax, dword [ecx + 0x68]
mov dword [esi + 0xaac], eax
cmp dword [ecx + 0x6c], ebx
je 0x10017f9d
mov eax, dword [ecx + 0x70]
mov dword [esi + 0x8d8], eax
mov eax, dword [esi + 0x8c]
mov eax, dword [eax + 0x6c]
mov dword [esi + 0xc78], eax
push 1
push esi
call fcn.1002b670
add esp, 8
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x8ec], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x954
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x958
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x614], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x61c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x4e2b
jg 0x100187a2
je 0x10018766
add edx, 0xffffd84b
cmp edx, 0x77
ja case.0x10018a5d.30118
movzx eax, byte [edx + 0x100190b0]
jmp dword [eax*4 + 0x10018fdc]
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9b0
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.10022210
test al, al
je case.0x1001805c.10240
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9b4
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.10022210
test al, al
je case.0x1001805c.10240
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9b8
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0xa14
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ebp + 0xc], ecx
test ecx, ecx
je 0x100181a9
mov edi, dword [esi + 0x5e0]
mov eax, edi
mov edx, dword [esi + 0x5e4]
and eax, edx
cmp eax, 0xffffffff
je 0x100181a9
test edx, edx
jl 0x1001817a
jg 0x1001817a
test edi, edi
jb 0x1001817a
test edx, edx
jg 0x1001817a
jl 0x1001813a
cmp edi, 0xffffffff
ja 0x1001817a
lea eax, [esi + 0xa20]
push 0
push eax
call fcn.10016000
mov ecx, dword [esi + 0x5e0]
add esp, 8
mov edx, dword [esi + 0x5e4]
mov eax, ecx
or eax, edx
je 0x10018162
mov dword [ebp - 4], edx
jmp 0x1001816a
mov ecx, 1
mov dword [ebp - 4], ebx
push ecx
call dword [0x101d9020]
mov edi, eax
add esp, 4
test edi, edi
jne 0x10018181
mov ebx, 0x1b
jmp 0x100181bb
mov eax, dword [esi + 0x5e0]
or eax, dword [esi + 0x5e4]
je 0x100181a1
push dword [esi + 0x5e0]
push dword [ebp + 0xc]
push edi
call fcn.1007fc10
add esp, 0xc
mov dword [esi + 0xa20], edi
jmp 0x100181bb
push ecx
lea eax, [esi + 0xa20]
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
mov eax, dword [esi + 0xa20]
pop edi
mov dword [esi + 0x5d4], eax
mov eax, ebx
mov dword [esi + 0x828], 2
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
push 0
push dword [eax]
lea eax, [esi + 0x690]
push eax
call fcn.1001fdf0
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne case.0x10016165.91
and dword [esi + 0xa8c], 0xfeffffff
pop edi
mov dword [esi + 0x828], 4
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x684], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x984
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0xa00
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0xa04
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0xa80], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9dc
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9e0
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9e4
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0xa10
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x814], ecx
mov dword [eax + 0xaa4], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9e8
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9ec
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9f0
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x628], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x930
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x938
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x964
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x974
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x96c
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x101d9038]
test byte [eax + 8], 4
je case.0x100170c5.244
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9a4
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x101d9038]
test byte [eax + 8], 4
je case.0x100170c5.244
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9a8
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9a0
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x101d9038]
test byte [eax + 8], 1
je case.0x100170c5.244
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x998
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9c8
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9cc
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9d0
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0xa70], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x624], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x948
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0xa08
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0xa0c
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0xa30], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9f4
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9f8
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9fc
push eax
call fcn.10016000
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x5b4], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0xf94], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0xa48], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
push dword [ebp + 8]
call fcn.10020fd0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
push dword [ebp + 8]
call fcn.10020fd0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
push dword [ebp + 8]
call fcn.10020fd0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push dword [eax]
push dword [ebp + 8]
call fcn.10020fd0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x818], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
push dword [eax]
lea esi, [edi + 0xa18]
push esi
call fcn.10016000
add esp, 8
xor ecx, ecx
cmp dword [esi], ecx
mov ebx, eax
mov eax, dword [edi + 0xa90]
setne cl
and eax, 0xfeffffff
shl ecx, 0x18
or ecx, eax
mov eax, ebx
mov dword [edi + 0xa90], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0xa84], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ecx + 0x5f0], eax
test eax, eax
jne 0x10018792
and dword [ecx + 0xa8c], 0xfffffffd
mov eax, ebx
pop edi
pop esi
mov dword [ecx + 0x5f0], 0x1008ca52
pop ebx
mov esp, ebp
pop ebp
ret
or dword [ecx + 0xa8c], 2
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x4f30
jg 0x100189e3
je 0x100189cc
add edx, 0xffffb1d4
cmp edx, 0xcf
ja case.0x10018a5d.30118
movzx eax, byte [edx + 0x10019174]
jmp dword [eax*4 + 0x10019128]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ecx + 0x600], eax
test eax, eax
je 0x100187f6
or dword [ecx + 0xc34], 1
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
and dword [ecx + 0xc34], 0xfffffffe
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ecx + 0x604], eax
test eax, eax
je 0x100187f6
or dword [ecx + 0xc34], 1
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x608], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x5f4], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ecx + 0x5fc], eax
test eax, eax
jne 0x10018882
and dword [ecx + 0xa8c], 0xfffffffe
mov eax, ebx
pop edi
pop esi
mov dword [ecx + 0x5fc], 0x1008c76a
pop ebx
mov esp, ebp
pop ebp
ret
or dword [ecx + 0xa8c], 1
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x5d8], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x62c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x630], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x634], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x60c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x101d9038]
test byte [eax + 8], 8
je case.0x100170c5.244
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x864], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x610], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x618], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x620], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x5f8], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0xa3c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0xa40], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0xa44], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0xa6c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x75a3
jg 0x10018a44
je 0x10018a10
cmp edx, 0x4f3b
jne case.0x10018a5d.30118
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0xa88], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
cmp edx, 0xffffffff
jg 0x10018a2c
jl 0x10016a54
cmp ecx, 0xffffffff
jb 0x10016a54
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x658], ecx
mov dword [eax + 0x65c], edx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
add edx, 0xffff8a5c
cmp edx, 0x9a
ja case.0x10018a5d.30118
movzx eax, byte [edx + 0x10019260]
jmp dword [eax*4 + 0x10019244]
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
pop edi
pop esi
mov eax, dword [edx]
mov dword [ecx + 0x820], eax
mov eax, dword [edx + 4]
mov dword [ecx + 0x824], eax
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edi, dword [eax]
mov ecx, dword [eax + 4]
jmp 0x10016662
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
test edx, edx
jg 0x10018aab
jl 0x10016a54
test ecx, ecx
jb 0x10016a54
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x668], ecx
mov dword [eax + 0x66c], edx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
test edx, edx
jg 0x10018add
jl 0x10016a54
test ecx, ecx
jb 0x10016a54
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x670], ecx
mov dword [eax + 0x674], edx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
cmp edx, 0xffffffff
jg 0x10018b11
jl 0x10016a54
cmp ecx, 0xffffffff
jb 0x10016a54
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x678], ecx
mov dword [eax + 0x67c], edx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
test edx, edx
jg 0x10018b43
jl 0x10016a54
test ecx, ecx
jb 0x10016a54
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x8f8], ecx
mov dword [eax + 0x8fc], edx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, 0x30
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret