Function at 0xa39b90
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc
push ebx
push esi
xor ebx, ebx
push edi
mov edi, ecx
cmp edx, 0xd2
jg 0xa3a7b5
je 0xa3a79f
lea eax, [edx - 3]
cmp eax, 0xcc
ja case.0xa3c28d.40296
movzx eax, byte [eax + 0xa3c4c4]
jmp dword [eax*4 + 0xa3c378]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp eax, 0xffffffff
jl 0xa3c23d
mov dword [edi + 0x4ac], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
js 0xa3c23d
mov dword [edi + 0x680], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6d2], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6d3], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6d0], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6cb], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, dword [edi + 0x734]
mov edx, dword [eax]
test edx, edx
setne al
mov byte [edi + 0x6c5], al
mov eax, ecx
and eax, 0xffffffef
or ecx, 0x10
test edx, edx
cmove ecx, eax
mov eax, ebx
mov dword [edi + 0x734], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
test ecx, ecx
setne al
mov byte [edi + 0x6ce], al
test ecx, ecx
je 0xa39cb9
mov byte [edi + 0x3c9], 5
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [edi + 0x3c9], 5
jne case.0xa3ad75.10076
mov byte [edi + 0x3c9], bl
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6c6], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
test ecx, ecx
setne al
mov byte [edi + 0x6cf], al
test ecx, ecx
je 0xa39d17
mov al, 4
mov byte [edi + 0x6ce], bl
mov byte [edi + 0x3c9], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor al, al
mov byte [edi + 0x3c9], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6ba], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
js 0xa3c23d
cmp eax, 0x20c49b
jg 0xa3c23d
imul eax, eax, 0x3e8
mov dword [edi + 0x1fc], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
js 0xa3c23d
mov dword [edi + 0x208], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
js 0xa3c23d
cmp eax, 3
jge 0xa3c23d
mov byte [edi + 0x4e5], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6bc], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
js 0xa3c23d
cmp eax, 4
jge 0xa3c23d
mov byte [edi + 0x3c8], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cdq
mov dword [edi + 0x3c0], eax
mov eax, ebx
mov dword [edi + 0x3c4], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cdq
mov esi, eax
mov ecx, edx
mov dword [esp + 0xc], ecx
cmp ecx, 0xffffffff
jl 0xa3c23d
jg 0xa39e26
cmp esi, 0xffffffff
jb 0xa3c23d
cmp dword [edi + 0x184], ecx
jg 0xa39e5d
jl 0xa39e38
cmp dword [edi + 0x180], esi
jae 0xa39e5d
mov eax, dword [edi + 0x178]
cmp eax, dword [edi + 0x620]
jne 0xa39e5d
xor edx, edx
lea ecx, [edi + 0x620]
call fcn.00a39950
mov ecx, dword [esp + 0xc]
mov dword [edi + 0x178], ebx
mov dword [edi + 0x180], esi
mov eax, ebx
mov dword [edi + 0x184], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6cd], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6c9], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6c8], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6ca], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp eax, 0xffffffff
jl 0xa3c23d
mov dword [edi + 0x174], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
js 0xa3c23d
and al, 7
mov byte [edi + 0x6a8], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
je 0xa39f2d
mov al, 1
mov byte [edi + 0x6ce], bl
mov byte [edi + 0x3c9], al
mov eax, ebx
mov byte [edi + 0x6cf], bl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor al, al
mov byte [edi + 0x3c9], al
mov eax, ebx
mov byte [edi + 0x6cf], bl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6b6], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
je case.0xa3ad75.10076
mov byte [edi + 0x3c9], bl
mov eax, ebx
mov word [edi + 0x6ce], bx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, ecx
sub eax, 0
je 0xa39fa6
sub eax, 1
je 0xa39fa6
sub eax, 1
je 0xa39fa6
test ecx, ecx
js 0xa3c23d
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [edi + 0x3ca], cl
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov edx, dword [eax]
test edx, edx
jne 0xa39fcd
mov dword [edi + 0x16c], ebx
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, edx
shr eax, 4
and al, 1
mov byte [edi + 0x96a], al
test dl, 0x10
je 0xa39fe5
and edx, 0xffffffef
or edx, 2
and edx, 0xffffffdf
xor ecx, ecx
nop word [eax + eax]
mov eax, 1
shl eax, cl
inc ecx
and eax, edx
jne 0xa3a00d
cmp ecx, 0x1f
jl 0xa39ff0
mov eax, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x16c], edx
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6bb], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
js 0xa3c23d
cmp eax, 0xffff
jg 0xa3c23d
mov word [edi + 0x4a0], ax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov edx, dword [eax]
test edx, edx
jne 0xa3a073
mov dword [edi + 0x170], ebx
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, edx
shr eax, 4
and al, 1
mov byte [edi + 0x97a], al
test dl, 0x10
je 0xa3a08b
and edx, 0xffffffef
or edx, 2
and edx, 0xffffffdf
xor ecx, ecx
mov eax, 1
shl eax, cl
inc ecx
and eax, edx
jne 0xa3a0ad
cmp ecx, 0x1f
jl 0xa3a090
mov eax, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x170], edx
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
js 0xa3c23d
cmp eax, 7
jg 0xa3c23d
mov byte [edi + 0x4a2], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
sub eax, 0
je 0xa3a104
sub eax, 1
jne 0xa3a240
mov byte [edi + 0x6d9], 1
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [edi + 0x6d9], bl
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6da], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6be], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6bd], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
js 0xa3c23d
cmp eax, 4
jge 0xa3c23d
mov byte [edi + 0x4d0], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6c1], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6c0], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6c2], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
js 0xa3c23d
cmp eax, 3
jge 0xa3c23d
mov byte [edi + 0x4d2], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6c3], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
js 0xa3c23d
cmp eax, 3
jge 0xa3c23d
mov byte [edi + 0x4d1], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
js 0xa3a240
cmp eax, 2
jg 0xa3a240
mov byte [edi + 0x4e4], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, 0x2b
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp eax, 0xffffffff
jl 0xa3c23d
cdq
mov dword [edi + 0x210], eax
mov eax, ebx
mov dword [edi + 0x214], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
js 0xa3c23d
mov dword [edi + 0x218], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
js 0xa3c23d
mov dword [edi + 0x21c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
js 0xa3c23d
cmp eax, 0xffff
jg 0xa3c23d
mov word [edi + 0x168], ax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
js 0xa3c23d
cmp eax, 0x20c49b
jg 0xa3c23d
imul eax, eax, 0x3e8
mov dword [edi + 0x1f0], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x1f0], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
js 0xa3c23d
cmp eax, 0x20c49b
jg 0xa3c23d
imul eax, eax, 0x3e8
mov dword [edi + 0x1f4], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x1f4], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp eax, 0xffffffff
jl 0xa3c23d
cdq
mov dword [edi + 0x230], eax
mov eax, ebx
mov dword [edi + 0x234], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [edi + 0x590]
xor edx, edx
call fcn.00a39950
mov ecx, edi
call fcn.00a3f7c0
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6b7], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
test ecx, ecx
js 0xa3c23d
cmp ecx, 0xffff
jg 0xa3c23d
call fcn.00a44080
mov word [edi + 0x188], ax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
test ecx, ecx
js 0xa3c23d
cmp ecx, 0xffff
jg 0xa3c23d
call fcn.00a44080
mov word [edi + 0x18a], ax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x405], al
mov ecx, dword [edi + 0xc]
test ecx, ecx
je case.0xa3ad75.10076
mov byte [ecx + 0x179], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
test byte [eax], 3
setne al
mov byte [edi + 0x406], al
mov ecx, dword [edi + 0xc]
test ecx, ecx
je case.0xa3ad75.10076
mov byte [ecx + 0x17a], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, 2
call fcn.00a408a0
test al, al
je case.0xa3a7dd.244
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x42c], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x8b4], ebx
jne 0xa3c23d
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp eax, 0xa00000
jle 0xa3a4ae
mov eax, 0xa00000
mov dword [edi + 0x4b0], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 1
jge 0xa3a4c7
mov eax, 0x4000
mov dword [edi + 0x4b0], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x400
cmp eax, ecx
cmovl eax, ecx
mov dword [edi + 0x4b0], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6d4], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
js 0xa3c23d
cdq
mov dword [edi + 0x4c8], eax
mov eax, ebx
mov dword [edi + 0x4cc], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
js 0xa3c23d
cmp eax, 4
jge 0xa3c23d
mov byte [edi + 0x6b1], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
js 0xa3c23d
cmp eax, 2
jg 0xa3c23d
mov byte [edi + 0x4c0], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6d5], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6d6], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp eax, 2
jg 0xa3c23d
mov byte [edi + 0x6b2], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x408], al
mov byte [edi + 0x470], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
sete al
mov byte [edi + 0x6d7], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
sete al
mov byte [edi + 0x6d8], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
js 0xa3c23d
cmp eax, 0x1ff
jg 0xa3c23d
mov dword [edi + 0x4e8], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x648], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x64c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x650], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
dec eax
cmp eax, 0xa
ja case.default.0xa3a66c
jmp dword [eax*4 + 0xa3c594]
mov eax, 1
mov dword [edi + 0x65c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 2
mov dword [edi + 0x65c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 3
mov dword [edi + 0x65c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 4
mov dword [edi + 0x65c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 5
mov dword [edi + 0x65c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 6
mov dword [edi + 0x65c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 7
mov dword [edi + 0x65c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 8
mov dword [edi + 0x65c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 9
mov dword [edi + 0x65c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0xa
mov dword [edi + 0x65c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0xb
mov dword [edi + 0x65c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
mov dword [edi + 0x65c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0xc50], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0xc54], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6c4], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov al, byte [eax]
and al, 3
mov byte [edi + 0x674], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x2711
jg 0xa3ad4a
je 0xa3ad36
lea eax, [edx - 0xd4]
cmp eax, 0x6e
ja case.0xa3c28d.40296
movzx eax, byte [eax + 0xa3c66c]
jmp dword [eax*4 + 0xa3c5c0]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp eax, 0xffffffff
jl 0xa3c23d
mov dword [edi + 0x4a8], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6c7], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6b4], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
movzx eax, cx
and ecx, 0xffff0000
mov dword [esp + 0xc], eax
cmp eax, 2
je 0xa3c23d
cmp eax, 3
je 0xa3c23d
cmp eax, 8
jae 0xa3c23d
cmp ecx, 0x7ffff
ja 0xa3c23d
mov ebx, dword [esp + 0xc]
cmp edx, 0x20
mov esi, 0x404
mov eax, 0x46c
cmove eax, esi
mov esi, 0x400
mov byte [eax + edi], bl
mov eax, 0x468
cmove eax, esi
xor ebx, ebx
mov dword [eax + edi], ecx
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov al, byte [eax]
and al, 1
mov byte [edi + 0x6b5], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
js 0xa3c23d
mov dword [edi + 0x684], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp eax, 1
jg 0xa3c23d
test eax, eax
setne al
mov byte [edi + 0x6ea], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x654], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov al, byte [eax]
mov byte [edi + 0x4a3], al
and al, 0xfa
movzx ebx, al
neg ebx
sbb ebx, ebx
and ebx, 4
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x4d4], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6e3], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6e7], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x46d], al
mov ecx, dword [edi + 0xc]
test ecx, ecx
je case.0xa3ad75.10076
mov byte [ecx + 0x1b9], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
test byte [eax], 3
setne al
mov byte [edi + 0x6e8], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
test byte [eax], 3
setne al
mov byte [edi + 0x46e], al
mov ecx, dword [edi + 0xc]
test ecx, ecx
je case.0xa3ad75.10076
mov byte [ecx + 0x1ba], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00a3fed0
test al, al
jne 0xa3a9e4
mov ebx, 4
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x407], al
mov ecx, dword [edi + 0xc]
test ecx, ecx
je case.0xa3ad75.10076
mov byte [ecx + 0x17b], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00a3fed0
test al, al
je case.0xa3a7dd.244
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6e9], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00a3fee0
test al, al
je case.0xa3a7dd.244
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x42d], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp eax, 0x200000
jle 0xa3aa5f
mov eax, 0x200000
jmp 0xa3aa69
mov ecx, 0x4000
cmp eax, ecx
cmovl eax, ecx
mov dword [edi + 0x4b4], eax
push dword [edi + 0x8b8]
call dword [0xaf1984]
add esp, 4
mov dword [edi + 0x8b8], ebx
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov al, cl
and al, 1
mov byte [edi + 0x3fc], cl
mov byte [edi + 0x42e], al
mov eax, ecx
shr eax, 1
and al, 1
mov byte [edi + 0x42f], al
mov eax, ecx
shr eax, 2
and al, 1
mov byte [edi + 0x430], al
mov eax, ecx
shr eax, 3
and al, 1
mov byte [edi + 0x431], al
mov eax, ecx
shr eax, 4
and al, 1
shr ecx, 5
mov byte [edi + 0x432], al
and cl, 1
mov byte [edi + 0x433], cl
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov al, cl
and al, 1
mov byte [edi + 0x464], cl
mov byte [edi + 0x496], al
mov eax, ecx
shr eax, 1
and al, 1
mov byte [edi + 0x497], al
mov eax, ecx
shr eax, 2
and al, 1
mov byte [edi + 0x498], al
mov eax, ecx
shr eax, 3
and al, 1
mov byte [edi + 0x499], al
mov eax, ecx
shr eax, 4
and al, 1
shr ecx, 5
mov byte [edi + 0x49a], al
and cl, 1
mov byte [edi + 0x49b], cl
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6b0], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6db], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6dc], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
js 0xa3c23d
mov dword [edi + 0x678], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
js 0xa3c23d
mov dword [edi + 0x67c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6de], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6df], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6e0], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6e1], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x1f8], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6e2], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6e5], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
js 0xa3c23d
mov dword [edi + 0x690], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
js 0xa3c23d
mov dword [edi + 0x200], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
js 0xa3c23d
mov dword [edi + 0x204], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
test byte [eax], 1
je 0xa3be2a
cmp dword [edi + 0x6f4], ebx
jne case.0xa3ad75.10076
call fcn.00a4d260
mov dword [edi + 0x6f4], eax
test eax, eax
jne case.0xa3ad75.10076
mov eax, 0x1b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x6f8]
test ecx, ecx
jne 0xa3ad0c
call fcn.00a48470
mov ecx, eax
mov dword [edi + 0x6f8], ecx
test ecx, ecx
je 0xa3afd7
mov eax, dword [ebp + 8]
mov edx, dword [eax]
call fcn.00a484b0
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6b9], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x15c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x27f4
jg 0xa3b94b
je 0xa3b937
add edx, 0xffffd8ee
cmp edx, 0xde
ja case.0xa3c28d.40296
movzx eax, byte [edx + 0xa3c800]
jmp dword [eax*4 + 0xa3c6dc]
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x56c]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x53c]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov dword [esp + 0xc], edx
test edx, edx
je 0xa3ae4a
mov esi, dword [edi + 0x180]
mov eax, esi
mov ecx, dword [edi + 0x184]
and eax, ecx
cmp eax, 0xffffffff
je 0xa3ae4a
test ecx, ecx
ja 0xa3ae1d
jb 0xa3addf
cmp esi, 0xffffffff
ja 0xa3ae1d
lea ecx, [edi + 0x620]
xor edx, edx
call fcn.00a39950
mov ecx, dword [edi + 0x180]
mov eax, ecx
mov edx, dword [edi + 0x184]
or eax, edx
je 0xa3ae04
mov dword [esp + 0x14], edx
jmp 0xa3ae0d
mov ecx, 1
mov dword [esp + 0x14], ebx
push ecx
call dword [0xaf197c]
mov esi, eax
add esp, 4
test esi, esi
jne 0xa3ae24
mov ebx, 0x1b
jmp 0xa3ae57
mov ecx, dword [edi + 0x180]
mov eax, ecx
or eax, dword [edi + 0x184]
je 0xa3ae42
push ecx
push dword [esp + 0x10]
push esi
call fcn.00a89a60
add esp, 0xc
mov dword [edi + 0x620], esi
jmp 0xa3ae57
lea ecx, [edi + 0x620]
call fcn.00a39950
mov ebx, eax
mov eax, dword [edi + 0x620]
mov dword [edi + 0x178], eax
mov eax, ebx
mov byte [edi + 0x3c9], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
lea ecx, [edi + 0x620]
xor edx, edx
mov eax, dword [eax]
mov dword [edi + 0x178], eax
call fcn.00a39950
mov byte [edi + 0x3c9], 1
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov edx, dword [eax]
test edx, edx
je 0xa3aee3
cmp byte [edx], bl
jne 0xa3aee3
call fcn.00a4f3f0
mov esi, eax
test esi, esi
jne 0xa3aec1
mov ebx, 0x1b
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [edi + 0x510]
mov edx, esi
call fcn.00a39950
push esi
mov ebx, eax
call dword [0xaf1984]
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [edi + 0x510]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x23c], eax
mov eax, ebx
mov byte [edi + 0x3c9], 2
mov byte [edi + 0x6ce], bl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [edi + 0xd49], bl
je 0xa3af3b
push dword [edi + 0xc9c]
call dword [0xaf1984]
add esp, 4
mov dword [edi + 0xc9c], ebx
mov byte [edi + 0xd49], bl
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x54c]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
mov eax, dword [edi + 0x54c]
mov dword [edi + 0xc9c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x57c]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x4fc]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov edx, dword [eax]
test edx, edx
je 0xa3aff2
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0xa3afa2
sub ecx, esi
cmp ecx, 0x7a1200
ja 0xa3c23d
mov ecx, dword [edi + 0x1d0]
call fcn.00a44150
test eax, eax
jne 0xa3afe3
mov ecx, dword [edi + 0x1d0]
call fcn.00a44190
mov dword [edi + 0x1d0], ebx
mov eax, 0x1b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x1d0], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x1d0]
call fcn.00a44190
mov eax, dword [edi + 0x78]
mov dword [edi + 0x1d0], ebx
test eax, eax
je 0xa3b00f
cmp dword [eax + 0x68], ebx
jne 0xa3b025
mov ecx, dword [edi + 0x6f0]
call fcn.00a47080
mov ecx, dword [edi + 0x6f0]
call fcn.00a47160
mov dword [edi + 0x6f0], ebx
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x500]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
xor edx, edx
movzx eax, byte [edi + 0x6b6]
mov ecx, edi
push eax
push dword [edi + 0x6f0]
call fcn.00a46aa0
add esp, 8
mov dword [edi + 0x6f0], eax
test eax, eax
mov ecx, 0x1b
cmove ebx, ecx
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov esi, dword [eax]
test esi, esi
je case.0xa3ad75.10076
mov edx, 0xac16b8
mov ecx, esi
call fcn.00a4f8a0
test eax, eax
je 0xa3b0c6
push ecx
mov edx, 2
mov ecx, edi
call fcn.00a4f330
mov ecx, dword [edi + 0x6f0]
add esp, 4
call fcn.00a47080
mov edx, 2
mov ecx, edi
call fcn.00a4f370
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, str.SESS
mov ecx, esi
call fcn.00a4f8a0
test eax, eax
je 0xa3b106
push ecx
mov edx, 2
mov ecx, edi
call fcn.00a4f330
mov ecx, dword [edi + 0x6f0]
add esp, 4
call fcn.00a470e0
mov edx, 2
mov ecx, edi
call fcn.00a4f370
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, str.FLUSH
mov ecx, esi
call fcn.00a4f8a0
test eax, eax
je 0xa3b128
xor dl, dl
mov ecx, edi
call fcn.00a47450
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, str.RELOAD
mov ecx, esi
call fcn.00a4f8a0
test eax, eax
je 0xa3b148
mov ecx, edi
call fcn.00a45bc0
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x6f0], ebx
jne 0xa3b166
push 1
push 0
xor edx, edx
mov ecx, edi
call fcn.00a46aa0
add esp, 8
mov dword [edi + 0x6f0], eax
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0xa3b170
sub ecx, edx
cmp ecx, 0x7a1200
ja 0xa3c23d
push esi
call dword [0xaf1988]
mov esi, eax
add esp, 4
test esi, esi
je 0xa3b205
cmp dword [edi + 0x6f0], ebx
je 0xa3b205
push ecx
mov edx, 2
mov ecx, edi
call fcn.00a4f330
add esp, 4
mov edx, str.Set_Cookie:
mov ecx, esi
push 0xb
call fcn.00a4f930
add esp, 4
lea ecx, [esi + 0xb]
test eax, eax
jne 0xa3b1c7
mov ecx, esi
mov edx, dword [edi + 0x6f0]
test eax, eax
push 1
push 0
push 0
push ecx
setne al
mov ecx, edi
movzx eax, al
push 0
push eax
call fcn.00a45dd0
mov edx, 2
mov ecx, edi
call fcn.00a4f370
push esi
call dword [0xaf1984]
add esp, 0x1c
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push esi
mov ebx, 0x1b
call dword [0xaf1984]
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x4bc], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x238], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x504]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x540]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x164], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x158], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x51c]
mov edx, dword [edx]
call fcn.00a39950
cmp dword [edi + 0x51c], 0
mov ebx, eax
setne al
mov byte [edi + 0x6bf], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x514]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x518]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x538]
mov edx, dword [edx]
call fcn.00a39950
cmp dword [edi + 0x538], 0
mov ebx, eax
setne al
mov byte [edi + 0x6d1], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x4dc], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x4e0], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x4d8], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x160], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [edi + 0xd48], bl
je 0xa3b39a
push dword [edi + 0xc98]
call dword [0xaf1984]
add esp, 4
mov dword [edi + 0xc98], ebx
mov byte [edi + 0xd48], bl
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x550]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
mov eax, dword [edi + 0x550]
mov dword [edi + 0xc98], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 8]
lea eax, [edi + 0x598]
push eax
lea edx, [edi + 0x594]
mov ecx, dword [ecx]
call fcn.00a39a40
add esp, 4
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x594]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x598]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x59c]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x5ec]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x3b4], eax
mov dword [edi + 0xca0], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x1e8], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 8]
lea eax, [edi + 0x5a4]
push eax
lea edx, [edi + 0x5a0]
mov ecx, dword [ecx]
call fcn.00a39a40
add esp, 4
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x5a0]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x5a4]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x5a8]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x548]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x154], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x150], eax
test eax, eax
jne case.0xa3ad75.10076
push 2
call fcn.00a96c4d
mov dword [edi + 0x150], eax
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x1cc], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x1ec], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x4ec]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x4f4]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x520]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x530]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x528]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov esi, dword [eax]
test esi, esi
je case.0xa3ad75.10076
cmp byte [esi], bl
je case.0xa3ad75.10076
lea ecx, [edi + 0x590]
mov edx, esi
call fcn.00a39950
mov ebx, eax
test ebx, ebx
jne case.0xa3ad75.10076
mov edx, esi
mov ecx, edi
call fcn.00a3f7b0
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x50c]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, 8
call fcn.00a408a0
test al, al
je case.0xa3a7dd.244
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x414], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x55c]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, 1
call fcn.00a408a0
test al, al
je case.0xa3a7dd.244
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x554]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x580]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x588]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x3b0], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov esi, dword [eax]
mov eax, dword [edi + 0x78]
test eax, eax
je 0xa3b760
push ecx
mov edx, 1
call fcn.00a4f330
add esp, 4
cmp dword [edi + 0x6c], 2
jne 0xa3b70f
mov dword [edi + 0x68], ebx
mov dword [edi + 0x6c], ebx
mov ecx, dword [edi + 0x78]
mov eax, dword [ecx + 0x68]
cmp eax, dword [edi + 0x6f0]
jne 0xa3b723
mov dword [edi + 0x6f0], ebx
mov eax, dword [ecx + 0x6c]
cmp eax, dword [edi + 0x6f4]
jne 0xa3b734
mov dword [edi + 0x6f4], ebx
mov eax, dword [ecx + 0x70]
cmp eax, dword [edi + 0x8d8]
jne 0xa3b745
mov dword [edi + 0x8d8], ebx
mov ecx, dword [ecx + 8]
mov edx, 1
mov eax, dword [edi + 0x78]
dec ecx
mov dword [eax + 8], ecx
mov ecx, edi
call fcn.00a4f370
mov dword [edi + 0x78], ebx
xor eax, eax
test esi, esi
je case.0xa3ad75.10076
cmp dword [esi], 0x7e117a1e
jne 0xa3b775
mov dword [edi + 0x78], esi
jmp 0xa3b77d
test eax, eax
je case.0xa3ad75.10076
push ecx
mov edx, 1
mov ecx, edi
call fcn.00a4f330
mov eax, dword [edi + 0x78]
add esp, 4
mov ecx, dword [eax + 8]
mov eax, dword [edi + 0x78]
inc ecx
mov dword [eax + 8], ecx
mov ecx, dword [edi + 0x78]
test byte [ecx + 4], 8
je 0xa3b7b0
lea eax, [ecx + 0x50]
mov dword [edi + 0x68], eax
mov dword [edi + 0x6c], 2
mov edx, ecx
cmp dword [ecx + 0x68], ebx
je 0xa3b7d0
mov ecx, dword [edi + 0x6f0]
call fcn.00a47160
mov ecx, dword [edi + 0x78]
mov edx, ecx
mov eax, dword [ecx + 0x68]
mov dword [edi + 0x6f0], eax
cmp dword [ecx + 0x6c], ebx
je 0xa3b7ee
lea ecx, [edi + 0x6f4]
call fcn.00a4d2a0
mov ecx, dword [edi + 0x78]
mov edx, ecx
mov eax, dword [ecx + 0x6c]
mov dword [edi + 0x6f4], eax
cmp dword [ecx + 0x70], ebx
je 0xa3b805
mov eax, dword [ecx + 0x74]
mov dword [edi + 0x4a4], eax
mov eax, dword [edx + 0x70]
mov dword [edi + 0x8d8], eax
mov edx, 1
mov ecx, edi
call fcn.00a4f370
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x4b8], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x1b0], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x1b8], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x1c0], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x5d4]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x5d8]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x6ac], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x5ac]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x5b0]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x5b4]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x658], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x670], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x66c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x49c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x4e2b
jg 0xa3becd
je 0xa3bea7
add edx, 0xffffd80a
cmp edx, 0x59
ja case.0xa3c28d.40296
movzx eax, byte [edx + 0xa3c97c]
jmp dword [eax*4 + 0xa3c8e0]
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x570]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, 0x20
call fcn.00a408a0
test al, al
je case.0xa3a7dd.239
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x574]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, 0x20
call fcn.00a408a0
test al, al
je case.0xa3a7dd.239
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x578]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x5f4]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x624]
mov edx, dword [edx]
call fcn.00a39950
cmp dword [edi + 0x624], 0
mov ebx, eax
je case.0xa3ad75.10076
mov dword [edi + 0x16c], 0x80
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x240]
push 0
mov edx, dword [edx]
call fcn.00a3e120
mov ebx, eax
add esp, 4
test ebx, ebx
jne case.0xa3ad75.10076
mov byte [edi + 0x3c9], 3
mov byte [edi + 0x6ce], al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x544]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x5cc]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x5d0]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x69c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x4f0]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x4f8]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x524]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x534]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x52c]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, 4
call fcn.00a408a0
test al, al
je 0xa3bb68
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x564]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, edx
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, 4
call fcn.00a408a0
test al, al
je 0xa3bb68
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x568]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x560]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, 1
call fcn.00a408a0
test al, al
je case.0xa3a7dd.244
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x558]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x584]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x58c]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x618]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x68c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
lea edx, [esp + 0xc]
mov ecx, dword [eax]
call fcn.00a39b00
mov ebx, eax
test ebx, ebx
jne 0xa3c36e
mov eax, dword [esp + 0xc]
mov dword [edi + 0x64c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
lea edx, [esp + 0xc]
mov ecx, dword [eax]
call fcn.00a39b00
mov ebx, eax
test ebx, ebx
jne 0xa3c36e
mov eax, dword [esp + 0xc]
mov dword [edi + 0x650], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x508]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x604]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [edi + 0x6e4], bl
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x5f0]
mov edx, dword [edx]
call fcn.00a39950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [edi + 0x6e4], 1
jmp 0xa3bccb
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
je case.0xa3a7dd.239
cmp dword [eax], 0xc0dedbad
jne case.0xa3ad75.10076
mov eax, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x3b8], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x5f8]
mov edx, dword [edx]
call fcn.00a39950
cmp dword [edi + 0x5f8], 0
mov ebx, eax
setne al
mov byte [edi + 0x6e6], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x6a0], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x1dc], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x1e4], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x6f4], ebx
jne 0xa3bda8
call fcn.00a4d260
mov dword [edi + 0x6f4], eax
test eax, eax
je 0xa3afd7
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
test eax, eax
je 0xa3be09
lea ecx, [edi + 0x600]
mov edx, eax
call fcn.00a39950
mov ebx, eax
test ebx, ebx
jne 0xa3c36e
mov edx, dword [esp + 0xc]
mov ecx, dword [edi + 0x1d4]
call fcn.00a44150
test eax, eax
jne 0xa3bdfa
mov ecx, dword [edi + 0x1d4]
call fcn.00a44190
mov dword [edi + 0x1d4], ebx
lea eax, [ebx + 0x1b]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x1d4], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x1d4]
call fcn.00a44190
mov dword [edi + 0x1d4], ebx
mov eax, dword [edi + 0x78]
test eax, eax
je 0xa3be2a
cmp dword [eax + 0x6c], ebx
jne case.0xa3ad75.10076
lea ecx, [edi + 0x6f4]
call fcn.00a4d2a0
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x6f8], ebx
jne 0xa3be59
call fcn.00a48470
mov dword [edi + 0x6f8], eax
test eax, eax
je 0xa3afd7
mov eax, dword [ebp + 8]
lea ecx, [edi + 0x5fc]
mov esi, dword [eax]
mov edx, esi
call fcn.00a39950
mov ebx, eax
test ebx, ebx
jne 0xa3c36e
test esi, esi
je case.0xa3ad75.10076
mov ecx, dword [edi + 0x6f8]
mov edx, esi
call fcn.00a484a0
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x1c8], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x18c], eax
test eax, eax
jne case.0xa3ad75.10076
mov dword [edi + 0x18c], fcn.00a98b2a
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x4f30
jg 0xa3c08b
je 0xa3c077
add edx, 0xffffb1d4
cmp edx, 0xcf
ja case.0xa3c28d.40296
movzx eax, byte [edx + 0xa3ca18]
jmp dword [eax*4 + 0xa3c9d8]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
mov dword [edi + 0x19c], eax
setne al
mov byte [edi + 0x884], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
mov dword [edi + 0x1a0], eax
setne al
mov byte [edi + 0x884], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x1a4], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x190], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x198], eax
test eax, eax
jne 0xa3bf8d
mov byte [edi + 0x6b3], bl
mov eax, ebx
mov dword [edi + 0x198], fcn.00a98d4e
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [edi + 0x6b3], 1
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x17c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x1a8], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, 8
call fcn.00a408a0
test al, al
je case.0xa3a7dd.244
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x410], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x1ac], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x1b4], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x1bc], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x194], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x660], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x664], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x668], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x688], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x75c1
jg 0xa3c1f3
je 0xa3c1cc
cmp edx, 0x75a3
jg 0xa3c149
je 0xa3c118
add edx, 0xffffb0c5
cmp edx, 0x1d
ja case.0xa3c28d.40296
movzx eax, byte [edx + 0xa3cafc]
jmp dword [eax*4 + 0xa3cae8]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x6a4], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x1d8], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x1e0], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [edi + 0x1c4], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
jl 0xa3c23d
jg 0xa3c134
cmp ecx, 0xffffffff
jb 0xa3c23d
mov dword [edi + 0x214], eax
mov eax, ebx
mov dword [edi + 0x210], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
sub edx, 0x75a4
je 0xa3c19b
sub edx, 1
je 0xa3c16c
sub edx, 3
jne case.0xa3c28d.40296
mov eax, dword [ebp + 8]
mov esi, dword [eax]
mov ecx, dword [eax + 4]
jmp 0xa39e0e
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
test eax, eax
jl 0xa3c23d
jg 0xa3c186
test ecx, ecx
jb 0xa3c23d
mov dword [edi + 0x4c8], ecx
mov dword [edi + 0x4cc], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
jl 0xa3c23d
jg 0xa3c1b7
cmp ecx, 0xffffffff
jb 0xa3c23d
mov dword [edi + 0x230], ecx
mov dword [edi + 0x234], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
test eax, eax
jl 0xa3c23d
jg 0xa3c1de
test ecx, ecx
jb 0xa3c23d
mov dword [edi + 0x224], eax
mov eax, ebx
mov dword [edi + 0x220], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x9d63
jg 0xa3c277
je 0xa3c25e
sub edx, 0x75c2
je 0xa3c22b
sub edx, 0x7c
jne case.0xa3c28d.40296
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [edi + 0x3c4], eax
mov eax, ebx
mov dword [edi + 0x3c0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
test eax, eax
jg 0xa3c249
jl 0xa3c23d
test ecx, ecx
jae 0xa3c249
mov eax, 0x2b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x22c], eax
mov eax, ebx
mov dword [edi + 0x228], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x628]
mov edx, dword [edx]
call fcn.00a399b0
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
add edx, 0xffff629c
cmp edx, 0x12
ja case.0xa3c28d.40296
movzx eax, byte [edx + 0xa3cb3c]
jmp dword [eax*4 + 0xa3cb1c]
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x62c]
mov edx, dword [edx]
call fcn.00a399b0
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x630]
mov edx, dword [edx]
call fcn.00a399b0
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x634]
mov edx, dword [edx]
call fcn.00a399b0
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, 0x40
call fcn.00a408a0
test al, al
je case.0xa3a7dd.239
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x640]
mov edx, dword [edx]
call fcn.00a399b0
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, 0x40
call fcn.00a408a0
test al, al
je case.0xa3a7dd.239
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x644]
mov edx, dword [edx]
call fcn.00a399b0
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x638]
mov edx, dword [edx]
call fcn.00a399b0
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x63c]
mov edx, dword [edx]
call fcn.00a399b0
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, 0x30
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret