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

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 0x4370a7
je 0x437088
lea eax, [edx - 3]
cmp eax, 0xcc
ja case.0x4389a7.30118
movzx eax, byte [eax + 0x438bf4]
jmp dword [eax*4 + 0x438aa8]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
cmp ecx, 0xffffffff
jl 0x438a75
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 0x438a75
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0xa60], 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 + 0xa98]
setne cl
and eax, 0xfffffffe
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa98], 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 + 0xa98]
neg ecx
sbb ecx, ecx
and eax, 0xfffffffd
and ecx, 2
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa98], 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 + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xbfffffff
and ecx, 0x40000000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], 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 + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xfdffffff
and ecx, 0x2000000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
pop edi
mov edx, dword [eax]
mov eax, dword [esi + 0xa94]
neg edx
mov ecx, dword [esi + 0xaec]
sbb edx, edx
and eax, 0xfff7ffff
and edx, 0x80000
or edx, eax
mov eax, ecx
and eax, 0xffffffef
mov dword [esi + 0xa94], edx
or ecx, 0x10
and edx, 0x80000
cmove ecx, eax
mov eax, ebx
mov dword [esi + 0xaec], 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 + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xefffffff
and ecx, 0x10000000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], 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 + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xffefffff
and ecx, 0x100000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [edx + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xdfffffff
and ecx, 0x20000000
or ecx, eax
mov dword [edx + 0xa94], ecx
test ecx, 0x20000000
je 0x43627b
and ecx, 0xefffffff
mov eax, 5
pop edi
mov dword [edx + 0xa94], ecx
mov dword [edx + 0x828], eax
mov eax, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 1
pop edi
mov dword [edx + 0x828], eax
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 + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xfffffdff
and ecx, 0x200
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
test eax, eax
js 0x438a75
cmp eax, 0x20c49b
jg 0x438a75
imul ecx, eax, 0x3e8
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]
mov ecx, dword [eax]
test ecx, ecx
js 0x438a75
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 0x438a75
cmp ecx, 2
jg 0x438a75
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 edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xfffff7ff
and ecx, 0x800
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x438a75
cmp ecx, 3
jg 0x438a75
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]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xf7ffffff
and ecx, 0x8000000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], 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 + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xff7fffff
and ecx, 0x800000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], 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 + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xffbfffff
and ecx, 0x400000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], 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 + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xfeffffff
and ecx, 0x1000000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
cmp ecx, 0xffffffff
jl 0x438a75
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x5c4], 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 0x438a75
mov eax, dword [ebp + 8]
and ecx, 7
pop edi
pop esi
mov dword [eax + 0x5c8], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
cmp dword [eax], ebx
je 0x4364ca
and dword [ecx + 0xa94], 0xefffffff
mov eax, 2
pop edi
mov dword [ecx + 0x828], eax
mov eax, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 1
pop edi
mov dword [ecx + 0x828], eax
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
jl 0x438a75
jg 0x4364ff
cmp edi, 0xffffffff
jb 0x438a75
mov esi, dword [ebp + 8]
cmp dword [esi + 0x5dc], ecx
jg 0x436538
jl 0x436514
cmp dword [esi + 0x5d8], edi
jae 0x436538
mov eax, dword [esi + 0x5cc]
lea edx, [esi + 0xa28]
cmp eax, dword [edx]
jne 0x436538
push 0
push edx
call fcn.00435ff0
mov ecx, dword [ebp + 0xc]
add esp, 8
mov dword [esi + 0x5cc], ebx
mov dword [esi + 0x5d8], edi
mov eax, ebx
pop edi
mov dword [esi + 0x5dc], 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 + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xffffffdf
and ecx, 0x20
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
cmp dword [eax], ebx
je case.0x436095.91
mov eax, dword [ebp + 8]
pop edi
pop esi
and dword [eax + 0xa94], 0xcfffffff
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 0x438a75
cmp ecx, 3
jl 0x4365bf
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 0x4365ec
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x5b4], 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 + 0xcec]
and eax, 4
xor dword [esi + 0xcec], eax
test dl, 0x10
je 0x436614
and edx, 0xffffffef
or edx, 2
and edx, 0xffffffdf
xor ecx, ecx
nop dword [eax]
mov eax, 1
shl eax, cl
inc ecx
and eax, edx
jne 0x43663d
cmp ecx, 0x1f
jl 0x436620
pop edi
pop esi
mov eax, 4
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
mov dword [esi + 0x5b4], 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 + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xfffffbff
and ecx, 0x400
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x438a75
cmp ecx, 0xffff
jg 0x438a75
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x59c], 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 0x4366c0
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x5b8], 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 + 0xcfc]
and eax, 4
xor dword [esi + 0xcfc], eax
test dl, 0x10
je 0x4366e8
and edx, 0xffffffef
or edx, 2
and edx, 0xffffffdf
xor ecx, ecx
nop dword [eax]
mov eax, 1
shl eax, cl
inc ecx
and eax, edx
jne 0x43670d
cmp ecx, 0x1f
jl 0x4366f0
pop edi
pop esi
mov eax, 4
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
mov dword [esi + 0x5b8], edx
mov eax, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x438a75
cmp ecx, 7
jg 0x438a75
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 0x43676d
sub eax, 1
jne case.0x4389a7.30118
mov eax, dword [ebp + 8]
pop edi
pop esi
or dword [eax + 0xa98], 0x100
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
pop edi
pop esi
and dword [eax + 0xa98], 0xfffffeff
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 + 0xa98]
neg ecx
sbb ecx, ecx
and eax, 0xfffffdff
and ecx, 0x200
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa98], 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 + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xffffdfff
and ecx, 0x2000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], 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 + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xffffefff
and ecx, 0x1000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x438a75
cmp ecx, 3
jg 0x438a75
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 edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xfffeffff
and ecx, 0x10000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], 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 + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xffff7fff
and ecx, 0x8000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], 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 + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xfffdffff
and ecx, 0x20000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x438a75
cmp ecx, 2
jg 0x438a75
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x908], 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 + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xfffbffff
and ecx, 0x40000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x438a75
cmp ecx, 2
jg 0x438a75
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x904], 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 0x436981
sub eax, 1
je 0x43696b
sub eax, 1
jne case.0x4389a7.30118
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x90c], 2
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x90c], 1
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x90c], ebx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
cmp eax, 0xffffffff
jl 0x438a75
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 0x438a75
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 0x438a75
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]
test ecx, ecx
js 0x438a75
cmp ecx, 0xffff
jg 0x438a75
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x5b0], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
test eax, eax
js 0x438a75
cmp eax, 0x20c49b
jg 0x438a75
imul ecx, eax, 0x3e8
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x638], 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 0x438a75
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x638], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
test eax, eax
js 0x438a75
cmp eax, 0x20c49b
jg 0x438a75
imul ecx, eax, 0x3e8
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x63c], 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 0x438a75
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0x63c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
cmp eax, 0xffffffff
jl 0x438a75
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.00435ff0
push esi
call fcn.00440fd0
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 + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xffffffbf
and ecx, 0x40
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
test eax, eax
js 0x438a75
cmp eax, 0xffff
jg 0x438a75
push eax
call fcn.004480e0
mov ecx, dword [ebp + 8]
add esp, 4
pop edi
mov word [ecx + 0x5e0], ax
mov eax, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
test eax, eax
js 0x438a75
cmp eax, 0xffff
jg 0x438a75
push eax
call fcn.004480d0
mov ecx, dword [ebp + 8]
add esp, 4
pop edi
mov dword [ecx + 0x5e4], 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.0x436095.91
mov eax, dword [ecx + 0x26c]
xor eax, edx
and eax, 1
xor dword [ecx + 0x26c], eax
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]
and al, 3
movzx edx, al
mov eax, dword [ecx + 0x854]
neg edx
sbb edx, edx
and eax, 0xfffffffd
and edx, 2
or edx, eax
mov dword [ecx + 0x854], edx
mov ecx, dword [ecx + 8]
test ecx, ecx
je case.0x436095.91
mov eax, dword [ecx + 0x26c]
xor eax, edx
and eax, 2
xor dword [ecx + 0x26c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x572024]
test byte [eax + 8], 2
je case.0x4370cf.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 0x436c72
mov esi, 0x80000
jmp 0x436c88
cmp esi, 1
jge 0x436c7e
mov esi, 0x4000
jmp 0x436c88
mov eax, 0x400
cmp esi, eax
cmovl esi, eax
mov edi, dword [ebp + 8]
cmp esi, dword [edi + 0x8e4]
je 0x436cc4
lea eax, [esi + 1]
push eax
push dword [edi + 0xc64]
call dword [0x572008]
add esp, 8
test eax, eax
jne 0x436cbe
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 + 0xc64], 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 + 0xa98]
neg ecx
sbb ecx, ecx
and eax, 0xfffffffb
and ecx, 4
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa98], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
test eax, eax
js 0x438a75
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]
test ecx, ecx
js 0x438a75
cmp ecx, 3
jg 0x438a75
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 ecx, dword [eax]
test ecx, ecx
js 0x438a75
cmp ecx, 2
jg 0x438a75
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 + 0xa98]
neg ecx
sbb ecx, ecx
and eax, 0xfffffff7
and ecx, 8
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa98], 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 + 0xa98]
neg ecx
sbb ecx, ecx
and eax, 0xffffffef
and ecx, 0x10
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa98], 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 + 0xa98]
neg ecx
sbb ecx, ecx
and eax, 0xffffffdf
and ecx, 0x20
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa98], 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, 0x40
pop edi
cmp dword [eax], ecx
mov eax, dword [edx + 0xa98]
cmove ecx, esi
and eax, 0xffffffbf
or ecx, eax
mov eax, ebx
pop esi
mov dword [edx + 0xa98], ecx
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 + 0xa98]
cmove ecx, esi
and eax, 0xffffff7f
or ecx, eax
mov eax, ebx
pop esi
mov dword [edx + 0xa98], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x438a75
cmp ecx, 0x1ff
jg 0x438a75
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]
test ecx, ecx
js 0x438a75
cmp ecx, 0x1ff
jg 0x438a75
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]
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]
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]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0xa34], 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.0x436f2b
jmp dword [eax*4 + 0x438cc4]
mov eax, dword [ebp + 8]
mov ecx, 1
pop edi
pop esi
mov dword [eax + 0xa3c], 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 + 0xa3c], 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 + 0xa3c], 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 + 0xa3c], 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 + 0xa3c], 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 + 0xa3c], 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 + 0xa3c], 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 + 0xa3c], 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 + 0xa3c], 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 + 0xa3c], 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 + 0xa3c], 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 + 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 + 0xf48], 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 + 0xa98]
neg ecx
sbb ecx, ecx
and eax, 0xfffff7ff
and ecx, 0x800
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa98], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x438a75
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
cmp edx, 0x2711
jg 0x43760a
je 0x4375f3
lea eax, [edx - 0xd4]
cmp eax, 0x4c
ja case.0x4389a7.30118
movzx eax, byte [eax + 0x438d6c]
jmp dword [eax*4 + 0x438cf0]
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xffdfffff
and ecx, 0x200000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], 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 + 0xa94]
neg ecx
sbb ecx, ecx
and eax, 0xfffffff7
and ecx, 8
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x20
mov eax, 0x884
mov ecx, 0x830
cmovne 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 0x438a75
cmp eax, 0x7ffff
ja 0x438a75
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 + 0xa94]
and eax, 0x10
xor dword [ecx + 0xa94], 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 0x438a75
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0xa64], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [eax]
cmp edx, 1
jg 0x438a75
mov ecx, dword [ebp + 8]
neg edx
pop edi
sbb edx, edx
and edx, 0x4000000
mov eax, dword [ecx + 0xa98]
and eax, 0xfbffffff
or edx, eax
mov eax, ebx
pop esi
mov dword [ecx + 0xa98], edx
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 + 0x5bc], 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 0x438a75
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 edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa98]
neg ecx
sbb ecx, ecx
and eax, 0xffdfffff
and ecx, 0x200000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa98], 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.0x436095.91
mov eax, dword [ecx + 0x294]
xor eax, edx
and eax, 1
xor dword [ecx + 0x294], eax
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]
and al, 3
movzx edx, al
mov eax, dword [ecx + 0x8a8]
neg edx
sbb edx, edx
and eax, 0xfffffffd
and edx, 2
or edx, eax
mov dword [ecx + 0x8a8], edx
mov ecx, dword [ecx + 8]
test ecx, ecx
je case.0x436095.91
mov eax, dword [ecx + 0x294]
xor eax, edx
and eax, 2
xor dword [ecx + 0x294], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.004407b0
test al, al
jne 0x4372fb
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.0x436095.91
mov eax, dword [ecx + 0x26c]
xor eax, edx
and eax, 4
xor dword [ecx + 0x26c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00440a90
test al, al
je case.0x4370cf.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 0x437385
mov eax, 0x200000
jmp 0x43738f
mov ecx, 0x4000
cmp eax, ecx
cmovl eax, ecx
mov esi, dword [ebp + 8]
push dword [esi + 0xc68]
mov dword [esi + 0x8e8], eax
call dword [0x572004]
add esp, 4
mov dword [esi + 0xc68], 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 + 0xa98]
neg ecx
sbb ecx, ecx
and eax, 0xfffffbff
and ecx, 0x400
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa98], 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 + 0xa98]
neg ecx
sbb ecx, ecx
and eax, 0xffffefff
and ecx, 0x1000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa98], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x438a75
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]
mov ecx, dword [eax]
test ecx, ecx
js 0x438a75
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 edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa98]
neg ecx
sbb ecx, ecx
and eax, 0xfffeffff
and ecx, 0x10000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa98], 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 + 0xa98]
neg ecx
sbb ecx, ecx
and eax, 0xfffdffff
and ecx, 0x20000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa98], 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 + 0xa98]
neg ecx
sbb ecx, ecx
and eax, 0xfffbffff
and ecx, 0x40000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa98], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x438a75
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 edx, dword [ebp + 8]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [edx + 0xa98]
neg ecx
sbb ecx, ecx
and eax, 0xfff7ffff
and ecx, 0x80000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa98], 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 + 0xa98]
neg ecx
sbb ecx, ecx
and eax, 0xff7fffff
and ecx, 0x800000
or ecx, eax
mov eax, ebx
mov dword [edx + 0xa98], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
js 0x438a75
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0xa7c], 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 0x438a75
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]
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
cmp edx, 0x27fb
jg 0x43835f
je case.0x437635.10179
add edx, 0xffffd8ee
cmp edx, 0xe4
ja case.0x4389a7.30118
movzx eax, byte [edx + 0x438eec]
jmp dword [eax*4 + 0x438dbc]
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9ac
push eax
call fcn.00435ff0
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.00435ff0
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.00435ff0
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.00435ff0
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 0x437702
cmp byte [eax], bl
jne 0x437702
call fcn.004492c0
mov esi, eax
test esi, esi
jne 0x4376de
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.00435ff0
push esi
mov ebx, eax
call dword [0x572004]
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.00435ff0
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 0x4377bc
mov edi, dword [esi + 0x5d8]
mov eax, edi
mov edx, dword [esi + 0x5dc]
and eax, edx
cmp eax, 0xffffffff
je 0x4377bc
test edx, edx
ja 0x437790
jb 0x437750
cmp edi, 0xffffffff
ja 0x437790
lea eax, [esi + 0xa28]
push 0
push eax
call fcn.00435ff0
mov ecx, dword [esi + 0x5d8]
add esp, 8
mov edx, dword [esi + 0x5dc]
mov eax, ecx
or eax, edx
je 0x437778
mov dword [ebp - 4], edx
jmp 0x437780
mov ecx, 1
mov dword [ebp - 4], ebx
push ecx
call dword [section..data]
mov edi, eax
add esp, 4
test edi, edi
jne 0x437797
mov ebx, 0x1b
jmp 0x4377ce
mov ecx, dword [esi + 0x5d8]
mov eax, ecx
or eax, dword [esi + 0x5dc]
je 0x4377b4
push ecx
push dword [ebp + 0xc]
push edi
call fcn.004de6c0
add esp, 0xc
mov dword [esi + 0xa28], edi
jmp 0x4377ce
push ecx
lea eax, [esi + 0xa28]
push eax
call fcn.00435ff0
add esp, 8
mov ebx, eax
mov eax, dword [esi + 0xa28]
pop edi
mov dword [esi + 0x5cc], 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
mov eax, dword [eax]
mov dword [esi + 0x5cc], eax
lea eax, [esi + 0xa28]
push eax
call fcn.00435ff0
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 + 0xa94], 0xefffffff
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 + 0xab0], 2
je 0x437872
push dword [edi + 0xaa4]
call dword [0x572004]
add esp, 4
mov dword [edi + 0xaa4], ebx
and dword [edi + 0xab0], 0xfffffffd
mov eax, dword [ebp + 0x10]
lea esi, [edi + 0x98c]
push dword [eax]
push esi
call fcn.00435ff0
add esp, 8
mov ebx, eax
mov eax, dword [esi]
mov dword [edi + 0xaa4], 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.00435ff0
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 + 0x684], 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.00435ff0
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.0x436095.91
mov esi, dword [ebp + 8]
push eax
push dword [esi + 0xaa8]
call fcn.00435360
add esp, 8
test eax, eax
jne 0x43795f
push dword [esi + 0xaa8]
call fcn.004353a0
add esp, 4
mov dword [esi + 0xaa8], ebx
mov eax, 0x1b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
mov dword [esi + 0xaa8], 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.00435ff0
mov ebx, eax
mov eax, dword [esi + 0xa94]
shr eax, 5
and al, 1
movzx eax, al
push eax
push dword [esi + 0xab4]
push 0
push esi
call fcn.0043cdd0
add esp, 0x18
mov dword [esi + 0xab4], 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.0x436095.91
push 0x5248f0
push edi
call fcn.00449090
add esp, 8
test eax, eax
je 0x437a08
mov esi, dword [ebp + 8]
push 2
push 2
push esi
call fcn.004495e0
push dword [esi + 0xab4]
call fcn.0043cb70
push 2
push esi
call fcn.00449620
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.00449090
add esp, 8
test eax, eax
je 0x437a46
mov esi, dword [ebp + 8]
push 2
push 2
push esi
call fcn.004495e0
push dword [esi + 0xab4]
call fcn.0043cbb0
push 2
push esi
call fcn.00449620
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.00449090
add esp, 8
test eax, eax
je 0x437a6e
push 0
push dword [ebp + 8]
call fcn.0043d030
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.00449090
add esp, 8
test eax, eax
je 0x437a94
push dword [ebp + 8]
call fcn.0043cfa0
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 + 0xab4], ebx
jne 0x437ab4
push 1
push 0
push 0
push esi
call fcn.0043cdd0
add esp, 0x10
mov dword [esi + 0xab4], eax
push edi
call dword [0x57200c]
mov edi, eax
add esp, 4
test edi, edi
je 0x437b2b
cmp dword [esi + 0xab4], ebx
je 0x437b2b
push 2
push 2
push esi
call fcn.004495e0
push 0xb
push edi
push str.Set_Cookie:
call fcn.004491e0
add esp, 0x18
test eax, eax
je 0x437af3
mov byte [ebp + 0xc], 1
lea eax, [edi + 0xb]
jmp 0x437af8
mov byte [ebp + 0xc], bl
mov eax, edi
push 1
push 0
push 0
push eax
push 0
push dword [ebp + 0xc]
push dword [esi + 0xab4]
push esi
call fcn.0043bdf0
push 2
push esi
call fcn.00449620
push edi
call dword [0x572004]
add esp, 0x2c
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push edi
mov ebx, 0x1b
call dword [0x572004]
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.00435ff0
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.00435ff0
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 + 0x5a8], 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 + 0x598], 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.00435ff0
mov ecx, dword [esi]
add esp, 8
neg ecx
mov ebx, eax
mov eax, dword [edi + 0xa94]
sbb ecx, ecx
and eax, 0xffffbfff
and ecx, 0x4000
or ecx, eax
mov eax, ebx
mov dword [edi + 0xa94], ecx
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, 0x954
push eax
call fcn.00435ff0
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.00435ff0
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.00435ff0
mov ecx, dword [esi]
add esp, 8
neg ecx
mov ebx, eax
mov eax, dword [edi + 0xa94]
sbb ecx, ecx
and eax, 0x7fffffff
and ecx, 0x80000000
or ecx, eax
mov eax, ebx
mov dword [edi + 0xa94], 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 + 0x5a4], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 8]
test byte [edi + 0xab0], 1
je 0x437cae
push dword [edi + 0xaa0]
call dword [0x572004]
add esp, 4
mov dword [edi + 0xaa0], ebx
and dword [edi + 0xab0], 0xfffffffe
mov eax, dword [ebp + 0x10]
lea esi, [edi + 0x990]
push dword [eax]
push esi
call fcn.00435ff0
add esp, 8
mov ebx, eax
mov eax, dword [esi]
mov dword [edi + 0xaa0], 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.00439280
add esp, 0xc
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, 0x9dc
push eax
call fcn.00435ff0
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.00435ff0
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.00435ff0
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.00435ff0
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 + 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 + 0x814], ecx
mov dword [eax + 0xaac], 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 ecx, dword [ebp + 8]
lea eax, [ecx + 0x9ec]
push eax
lea eax, [ecx + 0x9e8]
jmp 0x437ce5
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9e8
push eax
call fcn.00435ff0
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.00435ff0
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.00435ff0
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, 0x988
push eax
call fcn.00435ff0
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 + 0x594], 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 + 0x590], eax
test eax, eax
jne case.0x436095.91
push 2
call fcn.004eb3a5
add esp, 4
mov dword [esi + 0x590], 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 + 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 + 0x634], 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.00435ff0
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.00435ff0
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.00435ff0
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.00435ff0
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.00435ff0
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.0x436095.91
cmp byte [esi], bl
je case.0x436095.91
mov edi, dword [ebp + 8]
push esi
lea eax, [edi + 0x9d8]
push eax
call fcn.00435ff0
mov ebx, eax
add esp, 8
test ebx, ebx
jne case.0x436095.91
push esi
push edi
call fcn.00440fc0
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.00435ff0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x572024]
test byte [eax + 8], 8
je case.0x4370cf.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 [0x572024]
test byte [eax + 8], 4
je case.0x4370cf.244
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9a4
push eax
call fcn.00435ff0
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, 0x99c
push eax
call fcn.00435ff0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x572024]
test byte [eax + 8], 1
je case.0x4370cf.244
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x994
push eax
call fcn.00435ff0
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.00435ff0
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.00435ff0
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 + 0x80], ebx
je 0x438154
push 2
push 1
push esi
call fcn.004495e0
add esp, 0xc
cmp dword [esi + 0x74], 2
jne 0x438114
mov dword [esi + 0x70], ebx
mov dword [esi + 0x74], ebx
mov ecx, dword [esi + 0x80]
mov eax, dword [ecx + 0x68]
cmp eax, dword [esi + 0xab4]
jne 0x43812b
mov dword [esi + 0xab4], ebx
mov eax, dword [ecx + 0x6c]
cmp eax, dword [esi + 0xc80]
jne 0x43813c
mov dword [esi + 0xc80], ebx
mov ecx, dword [ecx + 4]
mov eax, dword [esi + 0x80]
dec ecx
push 1
push esi
mov dword [eax + 4], ecx
call fcn.00449620
add esp, 8
mov dword [esi + 0x80], edi
test edi, edi
je case.0x436095.91
push 2
push 1
push esi
call fcn.004495e0
mov eax, dword [esi + 0x80]
add esp, 0xc
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x80]
inc ecx
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x80]
test byte [ecx], 8
je 0x43819a
lea eax, [ecx + 0x50]
mov dword [esi + 0x74], 2
mov dword [esi + 0x70], eax
cmp dword [ecx + 0x68], ebx
je 0x4381bc
push dword [esi + 0xab4]
call fcn.0043cb20
mov ecx, dword [esi + 0x80]
add esp, 4
mov eax, dword [ecx + 0x68]
mov dword [esi + 0xab4], eax
cmp dword [ecx + 0x6c], ebx
je 0x4381d9
mov eax, dword [ecx + 0x70]
mov dword [esi + 0x8d8], eax
mov eax, dword [esi + 0x80]
mov eax, dword [eax + 0x6c]
mov dword [esi + 0xc80], eax
push 1
push esi
call fcn.00449620
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]
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 [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
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0xa08
push eax
call fcn.00435ff0
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.00435ff0
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 + 0xa38], 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.00435ff0
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.00435ff0
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.00435ff0
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 + 0x5ac], 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 + 0xfcc], 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 + 0xa50], 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, 0xa00
push eax
call fcn.00435ff0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x4e2b
jg 0x4386f6
je 0x4386b0
add edx, 0xffffd804
cmp edx, 0x35
ja case.0x4389a7.30118
movzx eax, byte [edx + 0x439038]
jmp dword [eax*4 + 0x438fd4]
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9b0
push eax
call fcn.00435ff0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00441040
test al, al
je case.0x438387.10240
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9b4
push eax
call fcn.00435ff0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00441040
test al, al
je case.0x438387.10240
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9b8
push eax
call fcn.00435ff0
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.00435ff0
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
push dword [eax]
lea eax, [esi + 0x690]
push eax
call fcn.0043ec60
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne case.0x436095.91
and dword [esi + 0xa94], 0xefffffff
pop edi
mov dword [esi + 0x828], 4
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, 0x984
push eax
call fcn.00435ff0
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.00435ff0
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 + 0xa88], 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.00435ff0
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.00435ff0
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.00435ff0
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.00435ff0
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.00435ff0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x572024]
test byte [eax + 8], 4
je case.0x4370cf.244
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x9a8
push eax
call fcn.00435ff0
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.00435ff0
add esp, 8
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x572024]
test byte [eax + 8], 1
je case.0x4370cf.244
mov eax, dword [ebp + 0x10]
push dword [eax]
mov eax, dword [ebp + 8]
add eax, 0x998
push eax
call fcn.00435ff0
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.00435ff0
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 + 0xa78], 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.00435ff0
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, 0xa1c
push eax
call fcn.00435ff0
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.00435ff0
mov ecx, dword [esi]
add esp, 8
neg ecx
mov ebx, eax
mov eax, dword [edi + 0xa98]
sbb ecx, ecx
and eax, 0xfeffffff
and ecx, 0x1000000
or ecx, eax
mov eax, ebx
mov dword [edi + 0xa98], 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 + 0xa8c], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [edx + 0xa94]
mov dword [edx + 0x5e8], eax
test eax, eax
jne 0x4386e4
pop edi
and ecx, 0xfffffffd
mov dword [edx + 0x5e8], 0x4f0eca
pop esi
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
or ecx, 2
mov eax, ebx
pop esi
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x4f30
jg 0x43892d
je 0x438916
add edx, 0xffffb1d4
cmp edx, 0xcf
ja case.0x4389a7.30118
movzx eax, byte [edx + 0x4390bc]
jmp dword [eax*4 + 0x439070]
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
mov edx, dword [eax]
mov dword [esi + 0x5f8], edx
mov ecx, dword [esi + 0xc3c]
mov eax, ecx
and eax, 0xfffffffe
or ecx, 1
test edx, edx
pop edi
cmove ecx, eax
mov eax, ebx
mov dword [esi + 0xc3c], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
mov edx, dword [eax]
mov dword [esi + 0x5fc], edx
jmp 0x438736
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x600], 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 + 0x5ec], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [edx + 0xa94]
mov dword [edx + 0x5f4], eax
test eax, eax
jne 0x4387ca
pop edi
and ecx, 0xfffffffe
mov dword [edx + 0x5f4], 0x4f0919
pop esi
mov eax, ebx
mov dword [edx + 0xa94], ecx
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
or ecx, 1
mov eax, ebx
pop esi
mov dword [edx + 0xa94], ecx
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 + 0x5d0], 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]
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]
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 + 0x604], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x572024]
test byte [eax + 8], 8
je case.0x4370cf.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 + 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 + 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 + 0x5f0], 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 + 0xa48], 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 + 0xa4c], 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 + 0xa74], ecx
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x75a3
jg 0x43898e
je 0x43895a
cmp edx, 0x4f3b
jne case.0x4389a7.30118
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0xa90], 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
jl 0x438a75
jg 0x438976
cmp ecx, 0xffffffff
jb 0x438a75
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.0x4389a7.30118
movzx eax, byte [edx + 0x4391a8]
jmp dword [eax*4 + 0x43918c]
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 0x4364e8
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
test edx, edx
jl 0x438a75
jg 0x4389f5
test ecx, ecx
jb 0x438a75
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
jl 0x438a75
jg 0x438a1f
test ecx, ecx
jb 0x438a75
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
jl 0x438a75
jg 0x438a4b
cmp ecx, 0xffffffff
jb 0x438a75
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 0x438a81
jl 0x438a75
test ecx, ecx
jae 0x438a81
pop edi
pop esi
mov eax, 0x2b
pop ebx
mov esp, ebp
pop ebp
ret
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