Function at 0x10028a40
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 0x100299ad
je 0x1002998e
lea eax, [edx - 3]
cmp eax, 0xcc
ja case.0x1002b36d.30118
movzx eax, byte [eax + 0x1002b5c4]
jmp dword [eax*4 + 0x1002b47c]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
cmp ecx, 0xffffffff
jl 0x10029364
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 0x10029364
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 0x10028ba6
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 0x10028c56
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 0x10028cdb
sub eax, 1
je 0x10028cc5
sub eax, 1
jne case.0x1002b36d.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 0x10029364
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 0x10029364
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 0x10029364
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 0x10029364
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 0x10029364
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 0x10029364
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 0x10029364
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 0x10028f55
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 0x10028f89
jl 0x10029364
cmp edi, 0xffffffff
jb 0x10029364
mov esi, dword [ebp + 8]
cmp dword [esi + 0x5e4], ecx
jg 0x10028fc2
jl 0x10028f9e
cmp dword [esi + 0x5e0], edi
jae 0x10028fc2
mov eax, dword [esi + 0x5d4]
lea edx, [esi + 0xa20]
cmp eax, dword [edx]
jne 0x10028fc2
push 0
push edx
call fcn.10028910
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.0x10028a75.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 0x10029364
cmp ecx, 3
jl 0x10029049
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 0x10029076
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 0x1002909e
and edx, 0xffffffef
or edx, 2
and edx, 0xffffffdb
xor ecx, ecx
mov eax, 1
shl eax, cl
inc ecx
and eax, edx
jne 0x100290c0
cmp ecx, 0x1f
jl 0x100290a3
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 0x10029364
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 0x1002913b
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 0x10029163
and edx, 0xffffffef
or edx, 2
and edx, 0xffffffdb
xor ecx, ecx
mov eax, 1
shl eax, cl
inc ecx
and eax, edx
jne 0x10029185
cmp ecx, 0x1f
jl 0x10029168
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 0x10029364
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 0x100291dd
sub eax, 1
jne case.0x1002b36d.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 0x10029364
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 0x10029364
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 0x10029364
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 0x10029364
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 0x10029364
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 0x10029364
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 0x10029349
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 0x10029364
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 0x10029382
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 0x10029364
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.10028910
push esi
call fcn.10034a00
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 0x10029364
push eax
call fcn.1003d1b0
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 0x10029364
push eax
call fcn.1003d190
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.0x10028a75.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 0x100294d8
push str.CURLOPT_SSL_VERIFYHOST_no_longer_supports_1_as_value_
push dword [ebp + 8]
call fcn.1003ac80
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.0x10028a75.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 [0x101c50e4]
test byte [eax + 8], 2
je case.0x100299d5.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 0x10029564
mov esi, 0x80000
jmp 0x1002957a
cmp esi, 1
jge 0x10029570
mov esi, 0x4000
jmp 0x1002957a
mov eax, 0x400
cmp esi, eax
cmovl esi, eax
mov edi, dword [ebp + 8]
cmp esi, dword [edi + 0x8e4]
je 0x100295b6
lea eax, [esi + 1]
push eax
push dword [edi + 0xc5c]
call dword [0x101c50d4]
add esp, 8
test eax, eax
jne 0x100295b0
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 0x10029364
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 0x10029364
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 0x10029364
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 0x10029364
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 0x10029364
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 0x10029364
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 0x10029364
push eax
call fcn.1003d1a0
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.0x10029831
jmp dword [eax*4 + 0x1002b694]
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 0x10029364
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 0x10029f71
je 0x10029f5a
lea eax, [edx - 0xd4]
cmp eax, 0x49
ja case.0x1002b36d.30118
movzx eax, byte [eax + 0x1002b744]
jmp dword [eax*4 + 0x1002b6c0]
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 0x10029364
cmp eax, 0x7ffff
ja 0x10029364
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 0x10029364
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 0x10029364
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 0x10029364
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.0x10028a75.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 0x100294bc
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.0x10028a75.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.100341b0
test al, al
jne 0x10029c03
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.0x10028a75.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.100344a0
test al, al
je case.0x100299d5.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 0x10029c8d
mov eax, 0x200000
jmp 0x10029c97
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 [0x101c50d0]
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 0x10029364
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 0x10029364
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 0x10029364
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 0x10029364
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 0x1002a944
je 0x1002a92d
add edx, 0xffffd8ee
cmp edx, 0x93
ja case.0x1002b36d.30118
movzx eax, byte [edx + 0x1002b858]
jmp dword [eax*4 + 0x1002b790]
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9ac
push eax
call fcn.10028910
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.10028910
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.10028910
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.10028910
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 0x1002a069
cmp byte [eax], bl
jne 0x1002a069
call fcn.1003dae0
mov esi, eax
test esi, esi
jne 0x1002a045
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.10028910
push esi
mov ebx, eax
call dword [0x101c50d0]
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.10028910
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.10028910
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 0x1002a109
push dword [edi + 0xa9c]
call dword [0x101c50d0]
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.10028910
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.10028910
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.10028910
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.0x10028a75.91
mov esi, dword [ebp + 8]
push eax
push dword [esi + 0xaa0]
call fcn.10028870
add esp, 8
test eax, eax
jne 0x1002a1df
push dword [esi + 0xaa0]
call fcn.100288b0
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.10028910
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.10031370
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.0x10028a75.91
push 0x10166de8
push edi
call fcn.1003d8b0
add esp, 8
test eax, eax
je 0x1002a288
mov esi, dword [ebp + 8]
push 2
push 2
push esi
call fcn.1003de30
push dword [esi + 0xaac]
call fcn.10031110
push 2
push esi
call fcn.1003de70
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.1003d8b0
add esp, 8
test eax, eax
je 0x1002a2c6
mov esi, dword [ebp + 8]
push 2
push 2
push esi
call fcn.1003de30
push dword [esi + 0xaac]
call fcn.10031150
push 2
push esi
call fcn.1003de70
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.1003d8b0
add esp, 8
test eax, eax
je 0x1002a2ee
push 0
push dword [ebp + 8]
call fcn.10031600
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.1003d8b0
add esp, 8
test eax, eax
je 0x1002a314
push dword [ebp + 8]
call fcn.10031570
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 0x1002a334
push 1
push 0
push 0
push esi
call fcn.10031370
add esp, 0x10
mov dword [esi + 0xaac], eax
push edi
call dword [0x101c50d8]
mov edi, eax
add esp, 4
test edi, edi
je 0x1002a3a9
cmp dword [esi + 0xaac], ebx
je 0x1002a3a9
push 2
push 2
push esi
call fcn.1003de30
push 0xb
push edi
push str.Set_Cookie:
call fcn.1003da00
add esp, 0x18
push 1
push 0
push 0
test eax, eax
je 0x1002a37a
lea eax, [edi + 0xb]
push eax
push 0
push 1
jmp 0x1002a37f
push edi
push 0
push 0
push dword [esi + 0xaac]
push esi
call fcn.10030390
add esp, 0x20
push 2
push esi
call fcn.1003de70
push edi
call dword [0x101c50d0]
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 [0x101c50d0]
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.10028910
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.10028910
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.10028910
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 0x1002a4ad
push dword [edi + 0xa98]
call dword [0x101c50d0]
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.10028910
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.10028980
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 0x1002a4e4
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x988
push eax
call fcn.10028910
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.0x10028a75.91
push 2
call fcn.101431b5
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.10028910
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.10028910
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.10028910
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.10028910
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.10028910
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.0x10028a75.91
cmp byte [esi], bl
je case.0x10028a75.91
mov edi, dword [ebp + 8]
push esi
lea eax, [edi + 0x9d8]
push eax
call fcn.10028910
mov ebx, eax
add esp, 8
test ebx, ebx
jne case.0x10028a75.91
push esi
push edi
call fcn.100349f0
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.10028910
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.10028910
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 [0x101c50e4]
test byte [eax + 8], 8
je case.0x100299d5.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.10028910
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x101c50e4]
test byte [eax + 8], 1
je case.0x100299d5.244
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x994
push eax
call fcn.10028910
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 0x1002a825
push 2
push 1
push esi
call fcn.1003de30
add esp, 0xc
cmp dword [esi + 0x80], 3
jne 0x1002a7df
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 0x1002a7f6
mov dword [esi + 0xaac], ebx
mov eax, dword [ecx + 0x6c]
cmp eax, dword [esi + 0xc78]
jne 0x1002a807
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.1003de70
add esp, 8
mov dword [esi + 0x8c], ebx
mov dword [esi + 0x8c], edi
test edi, edi
je case.0x10028a75.91
push 2
push 1
push esi
call fcn.1003de30
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 0x1002a86e
lea eax, [ecx + 0x50]
mov dword [esi + 0x80], 3
mov dword [esi + 0x7c], eax
cmp dword [ecx + 0x68], ebx
je 0x1002a890
push dword [esi + 0xaac]
call fcn.100310c0
mov ecx, dword [esi + 0x8c]
add esp, 4
mov eax, dword [ecx + 0x68]
mov dword [esi + 0xaac], eax
cmp dword [ecx + 0x6c], ebx
je 0x1002a8ad
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.1003de70
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.10028910
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.10028910
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 0x1002b0b2
je 0x1002b076
add edx, 0xffffd84b
cmp edx, 0x77
ja case.0x1002b36d.30118
movzx eax, byte [edx + 0x1002b9c0]
jmp dword [eax*4 + 0x1002b8ec]
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9b0
push eax
call fcn.10028910
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.10034a70
test al, al
je case.0x1002a96c.10240
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9b4
push eax
call fcn.10028910
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.10034a70
test al, al
je case.0x1002a96c.10240
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9b8
push eax
call fcn.10028910
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.10028910
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 0x1002aab9
mov edi, dword [esi + 0x5e0]
mov eax, edi
mov edx, dword [esi + 0x5e4]
and eax, edx
cmp eax, 0xffffffff
je 0x1002aab9
test edx, edx
jl 0x1002aa8a
jg 0x1002aa8a
test edi, edi
jb 0x1002aa8a
test edx, edx
jg 0x1002aa8a
jl 0x1002aa4a
cmp edi, 0xffffffff
ja 0x1002aa8a
lea eax, [esi + 0xa20]
push 0
push eax
call fcn.10028910
mov ecx, dword [esi + 0x5e0]
add esp, 8
mov edx, dword [esi + 0x5e4]
mov eax, ecx
or eax, edx
je 0x1002aa72
mov dword [ebp - 4], edx
jmp 0x1002aa7a
mov ecx, 1
mov dword [ebp - 4], ebx
push ecx
call dword [0x101c50cc]
mov edi, eax
add esp, 4
test edi, edi
jne 0x1002aa91
mov ebx, 0x1b
jmp 0x1002aacb
mov eax, dword [esi + 0x5e0]
or eax, dword [esi + 0x5e4]
je 0x1002aab1
push dword [esi + 0x5e0]
push dword [ebp + 0xc]
push edi
call fcn.10135f10
add esp, 0xc
mov dword [esi + 0xa20], edi
jmp 0x1002aacb
push ecx
lea eax, [esi + 0xa20]
push eax
call fcn.10028910
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.1002c550
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne case.0x10028a75.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.10028910
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.10028910
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.10028910
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.10028910
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.10028910
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.10028910
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.10028910
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.10028910
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.10028910
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.10028910
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.10028910
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.10028910
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.10028910
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.10028910
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.10028910
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x101c50e4]
test byte [eax + 8], 4
je case.0x100299d5.244
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9a4
push eax
call fcn.10028910
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x101c50e4]
test byte [eax + 8], 4
je case.0x100299d5.244
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9a8
push eax
call fcn.10028910
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.10028910
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x101c50e4]
test byte [eax + 8], 1
je case.0x100299d5.244
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x998
push eax
call fcn.10028910
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.10028910
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.10028910
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.10028910
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.10028910
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.10028910
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.10028910
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.10028910
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.10028910
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.10028910
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.10032520
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.10032520
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.10032520
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.10032520
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.10028910
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 0x1002b0a2
and dword [ecx + 0xa8c], 0xfffffffd
mov eax, ebx
pop edi
pop esi
mov dword [ecx + 0x5f0], 0x101445d3
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 0x1002b2f3
je 0x1002b2dc
add edx, 0xffffb1d4
cmp edx, 0xcf
ja case.0x1002b36d.30118
movzx eax, byte [edx + 0x1002ba84]
jmp dword [eax*4 + 0x1002ba38]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ecx + 0x600], eax
test eax, eax
je 0x1002b106
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 0x1002b106
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 0x1002b192
and dword [ecx + 0xa8c], 0xfffffffe
mov eax, ebx
pop edi
pop esi
mov dword [ecx + 0x5fc], 0x10144016
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 [0x101c50e4]
test byte [eax + 8], 8
je case.0x100299d5.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 0x1002b354
je 0x1002b320
cmp edx, 0x4f3b
jne case.0x1002b36d.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 0x1002b33c
jl 0x10029364
cmp ecx, 0xffffffff
jb 0x10029364
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.0x1002b36d.30118
movzx eax, byte [edx + 0x1002bb70]
jmp dword [eax*4 + 0x1002bb54]
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 0x10028f72
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
test edx, edx
jg 0x1002b3bb
jl 0x10029364
test ecx, ecx
jb 0x10029364
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 0x1002b3ed
jl 0x10029364
test ecx, ecx
jb 0x10029364
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 0x1002b421
jl 0x10029364
cmp ecx, 0xffffffff
jb 0x10029364
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 0x1002b453
jl 0x10029364
test ecx, ecx
jb 0x10029364
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