Function at 0x407630
Capabilities:
Check for software breakpoints
Inspect section memory permissions

Disassembly:
mov edx, dword [esp + 8]
sub esp, 8
push ebx
push ebp
push esi
push edi
xor edi, edi
cmp edx, 0xd2
jg 0x4087a6
je 0x408784
lea eax, [edx - 3]
cmp eax, 0xcc
ja case.0x40ae14.30118
movzx eax, byte [eax + 0x40b080]
jmp dword [eax*4 + 0x40af34]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
cmp ecx, 0xffffffff
jl 0x4089d3
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x8e0], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x4089d3
mov eax, dword [esp + 0x1c]
mov dword [eax + 0xa58], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [edx + 0xa8c]
neg ecx
sbb ecx, ecx
and eax, 0xefffffff
and ecx, 0x10000000
or ecx, eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa8c], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [edx + 0xa8c]
neg ecx
sbb ecx, ecx
and eax, 0xdfffffff
and ecx, 0x20000000
or ecx, eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa8c], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [edx + 0xa8c]
neg ecx
sbb ecx, ecx
and eax, 0xfbffffff
and ecx, 0x4000000
or ecx, eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa8c], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [edx + 0xa8c]
neg ecx
sbb ecx, ecx
and eax, 0xffdfffff
and ecx, 0x200000
or ecx, eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa8c], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov edx, dword [eax]
mov eax, dword [esi + 0xa8c]
neg edx
mov ecx, dword [esi + 0xae4]
sbb edx, edx
and eax, 0xffff7fff
and edx, 0x8000
or edx, eax
mov eax, ecx
and eax, 0xffffffef
mov dword [esi + 0xa8c], edx
or ecx, 0x10
and edx, 0x8000
cmove ecx, eax
mov eax, edi
pop edi
mov dword [esi + 0xae4], ecx
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [edx + 0xa8c]
neg ecx
sbb ecx, ecx
and eax, 0xfeffffff
and ecx, 0x1000000
or ecx, eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa8c], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [edx + 0xa8c]
neg ecx
sbb ecx, ecx
and eax, 0xfffeffff
and ecx, 0x10000
or ecx, eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa8c], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [edx + 0xa8c]
neg ecx
sbb ecx, ecx
and eax, 0xfdffffff
and ecx, 0x2000000
or ecx, eax
mov dword [edx + 0xa8c], ecx
test ecx, 0x2000000
je 0x407874
and ecx, 0xfeffffff
mov eax, 5
mov dword [edx + 0xa8c], ecx
mov dword [edx + 0x828], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, 1
mov dword [edx + 0x828], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
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, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa8c], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
sub eax, 0
je 0x407903
sub eax, 1
je 0x4078eb
sub eax, 1
jne case.0x40ae14.30118
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x904], 2
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x904], 1
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x904], edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
test eax, eax
js 0x4089d3
cmp eax, 0x20c49b
jg 0x4089d3
imul ecx, eax, 0x3e8
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x650], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x4089d3
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x654], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
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, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa8c], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
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, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa8c], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x4089d3
cmp ecx, 3
jg 0x4089d3
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x900], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x4089d3
cmp ecx, 2
jg 0x4089d3
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x910], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
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, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa8c], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x4089d3
cmp ecx, 3
jg 0x4089d3
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x81c], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax]
cdq
mov dword [ecx + 0x820], eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [ecx + 0x824], edx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [edx + 0xa8c]
neg ecx
sbb ecx, ecx
and eax, 0xff7fffff
and ecx, 0x800000
or ecx, eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa8c], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [edx + 0xa8c]
neg ecx
sbb ecx, ecx
and eax, 0xfff7ffff
and ecx, 0x80000
or ecx, eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa8c], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [edx + 0xa8c]
neg ecx
sbb ecx, ecx
and eax, 0xfffbffff
and ecx, 0x40000
or ecx, eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa8c], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [edx + 0xa8c]
neg ecx
sbb ecx, ecx
and eax, 0xffefffff
and ecx, 0x100000
or ecx, eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa8c], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
cmp ecx, 0xffffffff
jl 0x4089d3
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x5cc], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x4089d3
mov eax, dword [esp + 0x1c]
and ecx, 7
mov dword [eax + 0x5d0], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
cmp dword [eax], edi
je 0x407bd8
and dword [ecx + 0xa8c], 0xfeffffff
mov eax, 2
mov dword [ecx + 0x828], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, 1
mov dword [ecx + 0x828], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
cdq
mov ebx, eax
mov ebp, edx
cmp ebp, 0xffffffff
jl 0x4089d3
jg 0x407c0c
cmp ebx, 0xffffffff
jb 0x4089d3
mov esi, dword [esp + 0x1c]
cmp dword [esi + 0x5e4], ebp
jg 0x407c46
jl 0x407c22
cmp dword [esi + 0x5e0], ebx
jae 0x407c46
mov eax, dword [esi + 0xa20]
cmp dword [esi + 0x5d4], eax
jne 0x407c46
push eax
call dword [0x462004]
mov dword [esi + 0xa20], edi
add esp, 4
mov dword [esi + 0x5d4], edi
mov eax, edi
mov dword [esi + 0x5e0], ebx
pop edi
mov dword [esi + 0x5e4], ebp
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
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, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa8c], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
je case.0x407664.91
mov eax, dword [esp + 0x1c]
and dword [eax + 0xa8c], 0xfcffffff
mov dword [eax + 0x828], 1
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x4089d3
cmp ecx, 3
jl 0x407cd6
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x82c], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [eax]
test edx, edx
jne 0x407d08
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x5bc], edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, edx
shr eax, 4
movzx eax, al
shl eax, 2
xor eax, dword [esi + 0xce4]
and eax, 4
xor dword [esi + 0xce4], eax
test dl, 0x10
je 0x407d31
and edx, 0xffffffef
or edx, 2
and edx, 0xffffffdf
xor ecx, ecx
mov eax, 1
shl eax, cl
inc ecx
and eax, edx
jne 0x407d54
cmp ecx, 0x1f
jl 0x407d36
pop edi
pop esi
pop ebp
mov eax, 4
pop ebx
add esp, 8
ret
mov eax, edi
mov dword [esi + 0x5bc], edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
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, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa8c], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x4089d3
cmp ecx, 0xffff
jg 0x4089d3
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x5a4], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [eax]
test edx, edx
jne 0x407de1
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x5c0], edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, edx
shr eax, 4
movzx eax, al
shl eax, 2
xor eax, dword [esi + 0xcf4]
and eax, 4
xor dword [esi + 0xcf4], eax
test dl, 0x10
je 0x407e0a
and edx, 0xffffffef
or edx, 2
and edx, 0xffffffdf
xor ecx, ecx
nop
mov eax, 1
shl eax, cl
inc ecx
and eax, edx
jne 0x407e2e
cmp ecx, 0x1f
jl 0x407e10
pop edi
pop esi
pop ebp
mov eax, 4
pop ebx
add esp, 8
ret
mov eax, edi
mov dword [esi + 0x5c0], edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x4089d3
cmp ecx, 7
jg 0x4089d3
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x8dc], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
sub eax, 0
je 0x407e95
sub eax, 1
jne case.0x40ae14.30118
mov eax, dword [esp + 0x1c]
or dword [eax + 0xa90], 0x200
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x1c]
and dword [eax + 0xa90], 0xfffffdff
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
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, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa90], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [edx + 0xa8c]
neg ecx
sbb ecx, ecx
and eax, 0x7fffffff
and ecx, 0x80000000
or ecx, eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa8c], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [edx + 0xa8c]
neg ecx
sbb ecx, ecx
and eax, 0xbfffffff
and ecx, 0x40000000
or ecx, eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa8c], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
xor ecx, ecx
mov edx, dword [esp + 0x1c]
cmp dword [eax], ecx
mov eax, dword [edx + 0xa90]
setne cl
and eax, 0xfffffffe
or ecx, eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa90], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x4089d3
cmp ecx, 2
jg 0x4089d3
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x91c], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
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, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa90], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
cmp eax, 0xffffffff
jl 0x4089d3
mov ecx, dword [esp + 0x1c]
cdq
mov dword [ecx + 0x658], eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [ecx + 0x65c], edx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x4089d3
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x660], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x4089d3
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x664], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x4089d3
cmp ecx, 0xffff
jg 0x4089d3
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x5b8], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
test eax, eax
js 0x4089d3
cmp eax, 0x20c49b
jg 0x4089d3
imul ecx, eax, 0x3e8
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x640], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x4089d3
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x640], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
test eax, eax
js 0x4089d3
cmp eax, 0x20c49b
jg 0x4089d3
imul ecx, eax, 0x3e8
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x644], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x4089d3
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x644], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
cmp eax, 0xffffffff
jl 0x4089d3
mov ecx, dword [esp + 0x1c]
cdq
mov dword [ecx + 0x678], eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [ecx + 0x67c], edx
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
push dword [esi + 0x9d8]
call dword [0x462004]
push esi
mov dword [esi + 0x9d8], edi
call fcn.004152c0
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
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, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa8c], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
test eax, eax
js 0x4089d3
cmp eax, 0xffff
jg 0x4089d3
push eax
call fcn.0041d7b0
mov ecx, dword [esp + 0x20]
add esp, 4
mov word [ecx + 0x5e8], ax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
test eax, eax
js 0x4089d3
cmp eax, 0xffff
jg 0x4089d3
push eax
call fcn.0041d790
mov ecx, dword [esp + 0x20]
add esp, 4
mov dword [ecx + 0x5ec], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
xor edx, edx
mov ecx, dword [esp + 0x1c]
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.0x407664.91
mov eax, dword [ecx + 0x254]
xor eax, edx
and eax, 1
xor dword [ecx + 0x254], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [eax]
cmp edx, 1
je 0x4089c2
mov ecx, dword [esp + 0x1c]
neg edx
sbb edx, edx
and edx, 2
mov eax, dword [ecx + 0x854]
and eax, 0xfffffffd
or edx, eax
mov dword [ecx + 0x854], edx
mov ecx, dword [ecx + 8]
test ecx, ecx
je case.0x407664.91
mov eax, dword [ecx + 0x254]
xor eax, edx
and eax, 2
xor dword [ecx + 0x254], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [0x462018]
test byte [eax + 8], 2
je case.0x4087ce.244
mov eax, dword [esp + 0x24]
xor ecx, ecx
mov edx, dword [esp + 0x1c]
cmp dword [eax], ecx
mov eax, dword [edx + 0x880]
setne cl
and eax, 0xfffffffe
or ecx, eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0x880], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov esi, dword [eax]
cmp esi, 0x80000
jle 0x4082d8
mov esi, 0x80000
jmp 0x4082ee
cmp esi, 1
jge 0x4082e4
mov esi, 0x4000
jmp 0x4082ee
mov eax, 0x400
cmp esi, eax
cmovl esi, eax
mov ebx, dword [esp + 0x1c]
cmp esi, dword [ebx + 0x8e4]
je 0x40832c
lea eax, [esi + 1]
push eax
push dword [ebx + 0xc5c]
call dword [0x462008]
add esp, 8
test eax, eax
jne 0x408326
mov edi, 0x1b
mov dword [ebx + 0x8e4], esi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov dword [ebx + 0xc5c], eax
mov eax, edi
mov dword [ebx + 0x8e4], esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
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, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa90], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
test eax, eax
js 0x4089d3
mov ecx, dword [esp + 0x1c]
cdq
mov dword [ecx + 0x8f8], eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [ecx + 0x8fc], edx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x4089d3
cmp ecx, 3
jg 0x4089d3
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x914], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x4089d3
cmp ecx, 2
jg 0x4089d3
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x918], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x4089d3
cmp ecx, 2
jg 0x4089d3
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x8f4], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
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, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa90], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
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, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa90], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
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, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa90], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
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, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
xor ecx, ecx
mov edx, dword [esp + 0x1c]
mov esi, 0x80
cmp dword [eax], ecx
mov eax, dword [edx + 0xa90]
cmove ecx, esi
and eax, 0xffffff7f
or ecx, eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa90], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
xor ecx, ecx
mov edx, dword [esp + 0x1c]
mov esi, 0x100
cmp dword [eax], ecx
mov eax, dword [edx + 0xa90]
cmove ecx, esi
and eax, 0xfffffeff
or ecx, eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa90], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x4089d3
cmp ecx, 0x1ff
jg 0x4089d3
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x920], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x4089d3
cmp ecx, 0x1ff
jg 0x4089d3
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x924], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
test eax, eax
js 0x4089d3
cmp eax, 0xf
jg 0x4089d3
push eax
call fcn.0041d7a0
mov ecx, dword [esp + 0x20]
add esp, 4
mov dword [ecx + 0xa24], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0xa28], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0xa2c], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
dec eax
cmp eax, 0xa
ja case.default.0x408609
jmp dword [eax*4 + 0x40b150]
mov eax, dword [esp + 0x1c]
mov ecx, 1
mov dword [eax + 0xa34], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x1c]
mov ecx, 2
mov dword [eax + 0xa34], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x1c]
mov ecx, 3
mov dword [eax + 0xa34], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x1c]
mov ecx, 4
mov dword [eax + 0xa34], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x1c]
mov ecx, 5
mov dword [eax + 0xa34], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x1c]
mov ecx, 6
mov dword [eax + 0xa34], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x1c]
mov ecx, 7
mov dword [eax + 0xa34], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x1c]
mov ecx, 8
mov dword [eax + 0xa34], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x1c]
mov ecx, 9
mov dword [eax + 0xa34], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x1c]
mov ecx, 0xa
mov dword [eax + 0xa34], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x1c]
mov ecx, 0xb
mov dword [eax + 0xa34], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x1c]
xor ecx, ecx
mov dword [eax + 0xa34], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0xef0], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
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, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa90], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x4089d3
mov eax, dword [esp + 0x1c]
mov dword [eax + 0xa4c], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
cmp edx, 0x2711
jg 0x408df0
je 0x408dd6
lea eax, [edx - 0xd4]
cmp eax, 0x49
ja case.0x40ae14.30118
movzx eax, byte [eax + 0x40b200]
jmp dword [eax*4 + 0x40b17c]
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [edx + 0xa8c]
neg ecx
sbb ecx, ecx
and eax, 0xfffdffff
and ecx, 0x20000
or ecx, eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa8c], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
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, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa8c], ecx
pop ebx
add esp, 8
ret
cmp edx, 0x20
mov eax, 0x884
mov ecx, 0x830
cmovne ecx, eax
mov eax, dword [esp + 0x24]
add ecx, dword [esp + 0x1c]
mov eax, dword [eax]
movzx edx, ax
and eax, 0xffff0000
cmp edx, 8
jae 0x4089d3
cmp eax, 0x7ffff
ja 0x4089d3
mov dword [ecx + 4], eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [ecx], edx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
movzx eax, byte [eax]
shl eax, 4
xor eax, dword [ecx + 0xa8c]
and eax, 0x10
xor dword [ecx + 0xa8c], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x4089d3
mov eax, dword [esp + 0x1c]
mov dword [eax + 0xa5c], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [eax]
cmp edx, 1
jg 0x4089d3
mov ecx, dword [esp + 0x1c]
neg edx
sbb edx, edx
and edx, 0x8000000
mov eax, dword [ecx + 0xa90]
and eax, 0xf7ffffff
or edx, eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [ecx + 0xa90], edx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edi, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x5c4], edi
and edi, 0xfffffffa
neg edi
sbb edi, edi
and edi, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x4089d3
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x648], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [edx + 0xa90]
neg ecx
sbb ecx, ecx
and eax, 0xffbfffff
and ecx, 0x400000
or ecx, eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa90], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
xor edx, edx
mov ecx, dword [esp + 0x1c]
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.0x407664.91
mov eax, dword [ecx + 0x27c]
xor eax, edx
and eax, 1
xor dword [ecx + 0x27c], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [eax]
cmp edx, 1
jne 0x4089e0
push str.CURLOPT_SSL_VERIFYHOST_no_longer_supports_1_as_value_
push dword [esp + 0x20]
call fcn.0041b160
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 0x2b
pop ebx
add esp, 8
ret
mov ecx, dword [esp + 0x1c]
neg edx
sbb edx, edx
and edx, 2
mov eax, dword [ecx + 0x8a8]
and eax, 0xfffffffd
or edx, eax
mov dword [ecx + 0x8a8], edx
mov ecx, dword [ecx + 8]
test ecx, ecx
je case.0x407664.91
mov eax, dword [ecx + 0x27c]
xor eax, edx
and eax, 2
xor dword [ecx + 0x27c], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
call fcn.00414710
test al, al
jne 0x408a3a
mov edi, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
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.0x407664.91
mov eax, dword [ecx + 0x254]
xor eax, edx
and eax, 4
xor dword [ecx + 0x254], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
call fcn.00414c10
test al, al
je case.0x4087ce.244
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
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, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0x880], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
cmp eax, 0x200000
jle 0x408acb
mov eax, 0x200000
jmp 0x408ad5
mov ecx, 0x4000
cmp eax, ecx
cmovl eax, ecx
mov esi, dword [esp + 0x1c]
push dword [esi + 0xc60]
mov dword [esi + 0x8e8], eax
call dword [0x462004]
add esp, 4
mov dword [esi + 0xc60], edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
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, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0x880], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
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, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0x8d4], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
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, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa90], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [edx + 0xa90]
neg ecx
sbb ecx, ecx
and eax, 0xffffdfff
and ecx, 0x2000
or ecx, eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa90], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x4089d3
mov eax, dword [esp + 0x1c]
mov dword [eax + 0xa50], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x4089d3
mov eax, dword [esp + 0x1c]
mov dword [eax + 0xa54], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [edx + 0xa90]
neg ecx
sbb ecx, ecx
and eax, 0xffff7fff
and ecx, 0x8000
or ecx, eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa90], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [edx + 0xa90]
neg ecx
sbb ecx, ecx
and eax, 0xfffeffff
and ecx, 0x10000
or ecx, eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa90], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [edx + 0xa90]
neg ecx
sbb ecx, ecx
and eax, 0xfffdffff
and ecx, 0x20000
or ecx, eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa90], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [edx + 0xa90]
neg ecx
sbb ecx, ecx
and eax, 0xfffbffff
and ecx, 0x40000
or ecx, eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa90], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [edx + 0xa90]
neg ecx
sbb ecx, ecx
and eax, 0xfff7ffff
and ecx, 0x80000
or ecx, eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa90], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
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, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa8c], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x4089d3
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x64c], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [edx + 0xa90]
neg ecx
sbb ecx, ecx
and eax, 0xffefffff
and ecx, 0x100000
or ecx, eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa90], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [edx + 0xa90]
neg ecx
sbb ecx, ecx
and eax, 0xfeffffff
and ecx, 0x1000000
or ecx, eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [edx + 0xa90], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x4089d3
mov eax, dword [esp + 0x1c]
mov dword [eax + 0xa74], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x5a8], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
cmp edx, 0x27b4
jg 0x409da9
je 0x409d8f
add edx, 0xffffd8ee
cmp edx, 0x93
ja case.0x40ae14.30118
movzx eax, byte [edx + 0x40b314]
jmp dword [eax*4 + 0x40b24c]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x9ac]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x9ac], 0
test edi, edi
je 0x408e6c
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
jne 0x408e66
mov edi, 0x1b
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov dword [esi + 0x9ac], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x9c0]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x9c0], 0
test edi, edi
je 0x408eb3
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x9c0], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x9bc]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x9bc], 0
test edi, edi
je 0x408efe
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x9bc], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x97c]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x97c], 0
test edi, edi
je 0x408f49
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x97c], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov esi, dword [eax]
test esi, esi
je 0x408fce
cmp byte [esi], 0
jne 0x408fce
call fcn.0041e340
mov esi, eax
test esi, esi
je 0x408e57
mov edi, dword [esp + 0x1c]
push dword [edi + 0x950]
call dword [0x462004]
push esi
mov dword [edi + 0x950], 0
call dword [0x46200c]
add esp, 8
test eax, eax
jne 0x408fb2
push esi
lea edi, [eax + 0x1b]
call dword [0x462004]
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov dword [edi + 0x950], eax
xor edi, edi
push esi
call dword [0x462004]
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov edi, dword [esp + 0x1c]
push dword [edi + 0x950]
call dword [0x462004]
add esp, 4
mov dword [edi + 0x950], 0
test esi, esi
je 0x409007
push esi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [edi + 0x950], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esi + 0x5d4], eax
push dword [esi + 0xa20]
call dword [0x462004]
add esp, 4
mov dword [esi + 0xa20], edi
mov eax, edi
mov dword [esi + 0x828], 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
and dword [ecx + 0xa8c], 0xfeffffff
mov dword [ecx + 0x688], eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [ecx + 0x828], 3
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
test byte [esi + 0xaa8], 2
je 0x4090a3
push dword [esi + 0xa9c]
call dword [0x462004]
add esp, 4
mov dword [esi + 0xa9c], edi
and dword [esi + 0xaa8], 0xfffffffd
mov eax, dword [esp + 0x24]
push dword [esi + 0x98c]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x98c], 0
xor eax, eax
test edi, edi
je 0x4090f7
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
jne 0x4090f1
mov eax, dword [esi + 0x98c]
mov edi, 0x1b
mov dword [esi + 0xa9c], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov dword [esi + 0x98c], eax
xor edi, edi
mov dword [esi + 0xa9c], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x9c4]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x9c4], 0
test edi, edi
je 0x409148
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x9c4], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x680], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x8f0], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x93c]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x93c], 0
test edi, edi
je 0x4091c7
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x93c], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
test eax, eax
je case.0x407664.91
mov esi, dword [esp + 0x1c]
push eax
push dword [esi + 0xaa0]
call fcn.0040b720
add esp, 8
test eax, eax
jne 0x409219
push dword [esi + 0xaa0]
call fcn.0040b7a0
add esp, 4
mov dword [esi + 0xaa0], edi
mov eax, 0x1b
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov dword [esi + 0xaa0], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x940]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x940], 0
test edi, edi
je 0x409269
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
jne 0x409263
lea edi, [eax + 0x1b]
jmp 0x40926b
mov dword [esi + 0x940], eax
xor edi, edi
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.0040f990
add esp, 0x10
mov dword [esi + 0xaac], eax
test eax, eax
mov ecx, 0x1b
cmove edi, ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ebx, dword [eax]
test ebx, ebx
je case.0x407664.91
push 0x45255c
push ebx
call fcn.0041df60
add esp, 8
test eax, eax
je 0x4092f3
mov esi, dword [esp + 0x1c]
push 2
push 2
push esi
call fcn.0041e640
push dword [esi + 0xaac]
call fcn.0040f400
push 2
push esi
call fcn.0041e680
add esp, 0x18
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
push str.SESS
push ebx
call fcn.0041df60
add esp, 8
test eax, eax
je 0x409333
mov esi, dword [esp + 0x1c]
push 2
push 2
push esi
call fcn.0041e640
push dword [esi + 0xaac]
call fcn.0040f4a0
push 2
push esi
call fcn.0041e680
add esp, 0x18
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
push str.FLUSH
push ebx
call fcn.0041df60
add esp, 8
test eax, eax
je 0x40935d
push 0
push dword [esp + 0x20]
call fcn.0040fe90
add esp, 8
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
push str.RELOAD
push ebx
call fcn.0041df60
add esp, 8
test eax, eax
je 0x409385
push dword [esp + 0x1c]
call fcn.0040fbd0
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
cmp dword [esi + 0xaac], edi
jne 0x4093a6
push 1
push 0
push 0
push esi
call fcn.0040f990
add esp, 0x10
mov dword [esi + 0xaac], eax
push ebx
call dword [0x46200c]
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x409422
cmp dword [esi + 0xaac], edi
je 0x409422
push 2
push 2
push esi
call fcn.0041e640
push 0xb
push ebx
push str.Set_Cookie:
call fcn.0041e0f0
add esp, 0x18
test eax, eax
je 0x4093e6
mov byte [esp + 0x20], 1
lea eax, [ebx + 0xb]
jmp 0x4093ed
mov byte [esp + 0x20], 0
mov eax, ebx
push 1
push 0
push 0
push eax
push 0
push dword [esp + 0x34]
push dword [esi + 0xaac]
push esi
call fcn.0040e670
push 2
push esi
call fcn.0041e680
push ebx
call dword [0x462004]
add esp, 0x2c
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
push ebx
mov edi, 0x1b
call dword [0x462004]
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x944]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x944], 0
test edi, edi
je 0x40947a
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x944], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x980]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x980], 0
test edi, edi
je 0x4094c5
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x980], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x5b0], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x5a0], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x95c]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x95c], 0
xor ecx, ecx
test edi, edi
je 0x40954f
push edi
call dword [0x46200c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x409549
mov ecx, dword [esi + 0x95c]
lea edi, [eax + 0x1b]
jmp 0x409551
mov dword [esi + 0x95c], ecx
xor edi, edi
mov eax, dword [esi + 0xa8c]
neg ecx
sbb ecx, ecx
and eax, 0xffffbfff
and ecx, 0x4000
or ecx, eax
mov eax, edi
pop edi
mov dword [esi + 0xa8c], ecx
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x5ac], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
test byte [esi + 0xaa8], 1
je 0x4095bb
push dword [esi + 0xa98]
call dword [0x462004]
add esp, 4
mov dword [esi + 0xa98], edi
and dword [esi + 0xaa8], 0xfffffffe
mov eax, dword [esp + 0x24]
push dword [esi + 0x990]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x990], 0
xor eax, eax
test edi, edi
je 0x40960f
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
jne 0x409609
mov eax, dword [esi + 0x990]
mov edi, 0x1b
mov dword [esi + 0xa98], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov dword [esi + 0x990], eax
xor edi, edi
mov dword [esi + 0xa98], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x1c]
xor edi, edi
lea ebx, [eax + 0x9e0]
lea ebp, [eax + 0x9dc]
mov eax, dword [esp + 0x24]
mov esi, dword [eax]
xor eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x10], eax
test esi, esi
je 0x409688
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409650
sub ecx, edx
lea eax, [esp + 0x10]
xor edx, edx
test ebx, ebx
push edx
cmove eax, edx
test ebp, ebp
push eax
lea eax, [esp + 0x28]
cmove eax, edx
push eax
push ecx
push esi
call fcn.00416b10
mov edi, eax
add esp, 0x14
test edi, edi
jne case.0x407664.91
mov eax, dword [esp + 0x20]
test ebp, ebp
je 0x4096c8
test eax, eax
jne 0x4096b5
test esi, esi
je 0x4096b5
cmp byte [esi], 0x3a
jne 0x4096b5
push 0x452559
call dword [0x46200c]
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov ecx, 0x1b
cmove edi, ecx
push dword [ebp]
call dword [0x462004]
mov eax, dword [esp + 0x24]
add esp, 4
mov dword [ebp], eax
test ebx, ebx
je case.0x407664.91
push dword [ebx]
call dword [0x462004]
mov eax, dword [esp + 0x14]
add esp, 4
mov dword [ebx], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x7fc], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x800], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x7f8], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x638], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x1c]
xor edi, edi
lea ebx, [eax + 0x9ec]
lea ebp, [eax + 0x9e8]
mov eax, dword [esp + 0x24]
mov esi, dword [eax]
xor eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x10], eax
test esi, esi
je 0x409688
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409782
jmp 0x409657
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x988]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x988], 0
test edi, edi
je 0x4097cd
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x988], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x59c], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esi + 0x598], eax
test eax, eax
jne case.0x407664.91
push 2
call sub.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func
add esp, 4
mov dword [esi + 0x598], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x63c], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x92c]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x92c], 0
test edi, edi
je 0x40987e
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x92c], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x934]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x934], 0
test edi, edi
je 0x4098c9
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x934], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x960]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x960], 0
test edi, edi
je 0x409914
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x960], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x970]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x970], 0
test edi, edi
je 0x40995f
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x970], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x968]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x968], 0
test edi, edi
je 0x4099aa
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x968], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov esi, dword [eax]
test esi, esi
je case.0x407664.91
cmp byte [esi], 0
je case.0x407664.91
mov edi, dword [esp + 0x1c]
push dword [edi + 0x9d8]
call dword [0x462004]
push esi
mov dword [edi + 0x9d8], 0
call dword [0x46200c]
add esp, 8
test eax, eax
je 0x408e57
push esi
push edi
mov dword [edi + 0x9d8], eax
call fcn.004152b0
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x94c]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x94c], 0
test edi, edi
je 0x409a52
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x94c], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x978]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x978], 0
xor ecx, ecx
test edi, edi
je 0x409aa8
push edi
call dword [0x46200c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x409aa2
mov ecx, dword [esi + 0x978]
lea edi, [eax + 0x1b]
jmp 0x409aaa
mov dword [esi + 0x978], ecx
xor edi, edi
mov eax, dword [esi + 0xa8c]
neg ecx
sbb ecx, ecx
and eax, 0xf7ffffff
and ecx, 0x8000000
or ecx, eax
mov eax, edi
pop edi
mov dword [esi + 0xa8c], ecx
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [0x462018]
test byte [eax + 8], 8
je case.0x4087ce.244
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x868], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x99c]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x99c], 0
test edi, edi
je 0x409b39
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x99c], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [0x462018]
test byte [eax + 8], 1
je case.0x4087ce.244
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x994]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x994], 0
test edi, edi
je 0x409b93
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x994], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x810], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov ebx, dword [eax]
cmp dword [esi + 0x8c], edi
je 0x409c2a
push 2
push 1
push esi
call fcn.0041e640
add esp, 0xc
cmp dword [esi + 0x80], 3
jne 0x409bea
mov dword [esi + 0x7c], edi
mov dword [esi + 0x80], edi
mov ecx, dword [esi + 0x8c]
mov eax, dword [ecx + 0x68]
cmp eax, dword [esi + 0xaac]
jne 0x409c01
mov dword [esi + 0xaac], edi
mov eax, dword [ecx + 0x6c]
cmp eax, dword [esi + 0xc78]
jne 0x409c12
mov dword [esi + 0xc78], edi
mov ecx, dword [ecx + 4]
mov eax, dword [esi + 0x8c]
dec ecx
push 1
push esi
mov dword [eax + 4], ecx
call fcn.0041e680
add esp, 8
mov dword [esi + 0x8c], ebx
test ebx, ebx
je case.0x407664.91
push 2
push 1
push esi
call fcn.0041e640
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 0x409c73
lea eax, [ecx + 0x50]
mov dword [esi + 0x80], 3
mov dword [esi + 0x7c], eax
mov edx, ecx
cmp dword [ecx + 0x68], edi
je 0x409c99
push dword [esi + 0xaac]
call fcn.0040f350
mov ecx, dword [esi + 0x8c]
add esp, 4
mov edx, ecx
mov eax, dword [ecx + 0x68]
mov dword [esi + 0xaac], eax
cmp dword [ecx + 0x6c], edi
je 0x409cb0
mov eax, dword [ecx + 0x70]
mov dword [esi + 0x8d8], eax
mov eax, dword [edx + 0x6c]
mov dword [esi + 0xc78], eax
push 1
push esi
call fcn.0041e680
add esp, 8
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x8ec], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x954]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x954], 0
test edi, edi
je 0x409d1e
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x954], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x958]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x958], 0
test edi, edi
je 0x409d69
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x958], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x614], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x61c], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
cmp edx, 0x4e2b
jg 0x40ab24
je 0x40aada
add edx, 0xffffd84b
cmp edx, 0x77
ja case.0x40ae14.30118
movzx eax, byte [edx + 0x40b47c]
jmp dword [eax*4 + 0x40b3a8]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x9b0]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x9b0], 0
test edi, edi
je 0x409e17
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x9b0], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
call fcn.00415330
test al, al
je case.0x409dd1.10240
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x9b4]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x9b4], 0
test edi, edi
je 0x409e6f
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x9b4], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
call fcn.00415330
test al, al
je case.0x409dd1.10240
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x9b8]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x9b8], 0
test edi, edi
je 0x409ec7
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x9b8], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0xa14]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0xa14], 0
test edi, edi
je 0x409f12
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0xa14], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov ebx, dword [eax]
test ebx, ebx
je 0x409fc1
mov edx, dword [esi + 0x5e0]
mov eax, edx
mov ecx, dword [esi + 0x5e4]
and eax, ecx
cmp eax, 0xffffffff
je 0x409fc1
test ecx, ecx
ja 0x409fe8
jb 0x409f58
cmp edx, 0xffffffff
ja 0x409fe8
push dword [esi + 0xa20]
call dword [0x462004]
mov dword [esi + 0xa20], edi
add esp, 4
mov ecx, dword [esi + 0x5e0]
mov eax, ecx
mov edx, dword [esi + 0x5e4]
or eax, edx
je 0x409f85
mov dword [esp + 0x14], edx
jmp 0x409f8e
mov ecx, 1
mov dword [esp + 0x14], edi
push ecx
call dword [section..data]
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x409fe8
mov ecx, dword [esi + 0x5e0]
mov eax, ecx
or eax, dword [esi + 0x5e4]
je 0x409fb9
push ecx
push ebx
push ebp
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esi + 0xa20], ebp
jmp 0x409ff7
push dword [esi + 0xa20]
call dword [0x462004]
add esp, 4
mov dword [esi + 0xa20], edi
test ebx, ebx
je 0x409ff5
push ebx
call dword [0x46200c]
add esp, 4
test eax, eax
jne 0x409fef
mov edi, 0x1b
jmp 0x409ff7
mov dword [esi + 0xa20], eax
xor edi, edi
mov eax, dword [esi + 0xa20]
mov dword [esi + 0x5d4], eax
mov eax, edi
pop edi
mov dword [esi + 0x828], 2
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
push 0
push dword [eax]
lea eax, [esi + 0x690]
push eax
call fcn.00412860
mov edi, eax
add esp, 0xc
test edi, edi
jne case.0x407664.91
and dword [esi + 0xa8c], 0xfeffffff
pop edi
mov dword [esi + 0x828], 4
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x684], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x984]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x984], 0
test edi, edi
je 0x40a0b1
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x984], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0xa00]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0xa00], 0
test edi, edi
je 0x40a0fc
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0xa00], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0xa04]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0xa04], 0
test edi, edi
je 0x40a147
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0xa04], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0xa80], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x9dc]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x9dc], 0
test edi, edi
je 0x40a1ac
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x9dc], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x9e0]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x9e0], 0
test edi, edi
je 0x40a1f7
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x9e0], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x9e4]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x9e4], 0
test edi, edi
je 0x40a242
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x9e4], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0xa10]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0xa10], 0
test edi, edi
je 0x40a28d
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0xa10], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x814], ecx
mov dword [eax + 0xaa4], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x9e8]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x9e8], 0
test edi, edi
je 0x40a2f8
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x9e8], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x9ec]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x9ec], 0
test edi, edi
je 0x40a343
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x9ec], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x9f0]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x9f0], 0
test edi, edi
je 0x40a38e
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x9f0], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x628], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x930]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x930], 0
test edi, edi
je 0x40a3f3
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x930], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x938]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x938], 0
test edi, edi
je 0x40a43e
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x938], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x964]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x964], 0
test edi, edi
je 0x40a489
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x964], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x974]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x974], 0
test edi, edi
je 0x40a4d4
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x974], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x96c]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x96c], 0
test edi, edi
je 0x40a51f
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x96c], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [0x462018]
test byte [eax + 8], 4
je case.0x4087ce.244
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x9a4]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x9a4], 0
test edi, edi
je 0x40a579
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x9a4], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [0x462018]
test byte [eax + 8], 4
je case.0x4087ce.244
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x9a8]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x9a8], 0
test edi, edi
je 0x40a5d3
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x9a8], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x9a0]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x9a0], 0
test edi, edi
je 0x40a61e
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x9a0], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [0x462018]
test byte [eax + 8], 1
je case.0x4087ce.244
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x998]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x998], 0
test edi, edi
je 0x40a678
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x998], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x9c8]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x9c8], 0
test edi, edi
je 0x40a6c3
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x9c8], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x9cc]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x9cc], 0
test edi, edi
je 0x40a70e
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x9cc], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x9d0]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x9d0], 0
test edi, edi
je 0x40a759
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x9d0], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0xa70], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x624], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x948]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x948], 0
test edi, edi
je 0x40a7d8
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x948], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0xa08]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0xa08], 0
test edi, edi
je 0x40a823
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0xa08], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0xa0c]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0xa0c], 0
test edi, edi
je 0x40a86e
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0xa0c], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0xa30], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x9f4]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x9f4], 0
test edi, edi
je 0x40a8d3
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x9f4], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x9f8]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x9f8], 0
test edi, edi
je 0x40a91e
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x9f8], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0x9fc]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0x9fc], 0
test edi, edi
je 0x40a969
push edi
call dword [0x46200c]
add esp, 4
test eax, eax
je 0x408e57
mov dword [esi + 0x9fc], eax
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x5b4], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0xf74], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0xa48], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
push dword [esp + 0x20]
call fcn.00410ab0
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
push dword [esp + 0x20]
call fcn.00410ab0
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
push dword [esp + 0x20]
call fcn.00410ab0
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
push dword [esp + 0x20]
call fcn.00410ab0
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x818], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push dword [esi + 0xa18]
mov edi, dword [eax]
call dword [0x462004]
add esp, 4
mov dword [esi + 0xa18], 0
xor ecx, ecx
test edi, edi
je 0x40aa97
push edi
call dword [0x46200c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x40aa91
mov ecx, dword [esi + 0xa18]
lea edi, [eax + 0x1b]
jmp 0x40aa99
mov dword [esi + 0xa18], ecx
xor edi, edi
mov eax, dword [esi + 0xa90]
neg ecx
sbb ecx, ecx
and eax, 0xfdffffff
and ecx, 0x2000000
or ecx, eax
mov eax, edi
pop edi
mov dword [esi + 0xa90], ecx
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0xa84], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov eax, dword [eax]
mov ecx, dword [edx + 0xa8c]
mov dword [edx + 0x5f0], eax
test eax, eax
jne 0x40ab11
mov eax, edi
mov dword [edx + 0x5f0], 0x451431
pop edi
pop esi
and ecx, 0xfffffffd
pop ebp
mov dword [edx + 0xa8c], ecx
pop ebx
add esp, 8
ret
mov eax, edi
or ecx, 2
pop edi
pop esi
pop ebp
mov dword [edx + 0xa8c], ecx
pop ebx
add esp, 8
ret
cmp edx, 0x4f30
jg 0x40ad94
je 0x40ad7a
add edx, 0xffffb1d4
cmp edx, 0xcf
ja case.0x40ae14.30118
movzx eax, byte [edx + 0x40b540]
jmp dword [eax*4 + 0x40b4f4]
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov edx, dword [eax]
mov dword [esi + 0x600], edx
mov ecx, dword [esi + 0xc34]
mov eax, ecx
and eax, 0xfffffffe
or ecx, 1
test edx, edx
cmove ecx, eax
mov eax, edi
pop edi
mov dword [esi + 0xc34], ecx
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov edx, dword [eax]
mov dword [esi + 0x604], edx
jmp 0x40ab66
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x608], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x5f4], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov eax, dword [eax]
mov ecx, dword [edx + 0xa8c]
mov dword [edx + 0x5fc], eax
test eax, eax
jne 0x40ac06
mov eax, edi
mov dword [edx + 0x5fc], 0x451449
pop edi
pop esi
and ecx, 0xfffffffe
pop ebp
mov dword [edx + 0xa8c], ecx
pop ebx
add esp, 8
ret
mov eax, edi
or ecx, 1
pop edi
pop esi
pop ebp
mov dword [edx + 0xa8c], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x5d8], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x62c], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x630], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x634], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x60c], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [0x462018]
test byte [eax + 8], 8
je case.0x4087ce.244
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x864], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x610], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x618], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x620], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x5f8], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0xa3c], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0xa40], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0xa44], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0xa6c], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
cmp edx, 0x75a3
jg 0x40adfb
je 0x40adc4
cmp edx, 0x4f3b
jne case.0x40ae14.30118
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0xa88], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
cmp edx, 0xffffffff
jl 0x4089d3
jg 0x40ade1
cmp ecx, 0xffffffff
jb 0x4089d3
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x658], ecx
mov dword [eax + 0x65c], edx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
add edx, 0xffff8a5c
cmp edx, 0x9a
ja case.0x40ae14.30118
movzx eax, byte [edx + 0x40b62c]
jmp dword [eax*4 + 0x40b610]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x820], ecx
mov dword [eax + 0x824], edx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ebx, dword [eax]
mov ebp, dword [eax + 4]
jmp 0x407bf8
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
test edx, edx
jl 0x4089d3
jg 0x40ae67
test ecx, ecx
jb 0x4089d3
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x668], ecx
mov dword [eax + 0x66c], edx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
test edx, edx
jl 0x4089d3
jg 0x40ae9c
test ecx, ecx
jb 0x4089d3
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x670], ecx
mov dword [eax + 0x674], edx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
cmp edx, 0xffffffff
jl 0x4089d3
jg 0x40aed3
cmp ecx, 0xffffffff
jb 0x4089d3
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x678], ecx
mov dword [eax + 0x67c], edx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
test edx, edx
jg 0x40af08
jl 0x4089d3
test ecx, ecx
jb 0x4089d3
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x8f8], ecx
mov dword [eax + 0x8fc], edx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov edi, 0x30
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret