Function at 0xcd9bb0
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
push ebx
push esi
xor ebx, ebx
push edi
mov edi, ecx
cmp edx, 0xd2
jg 0xcda794
je 0xcda77e
lea eax, [edx - 3]
cmp eax, 0xcc
ja case.0xcdc362.40296
movzx eax, byte [eax + 0xcdc594]
jmp dword [eax*4 + 0xcdc44c]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp eax, 0xffffffff
jl 0xcdc312
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 0xcdc312
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 + 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 + 0x6ce], 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]
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]
mov ecx, dword [edi + 0x72c]
mov edx, dword [eax]
test edx, edx
setne al
mov byte [edi + 0x6c1], al
mov eax, ecx
and eax, 0xffffffef
or ecx, 0x10
test edx, edx
cmove ecx, eax
mov eax, ebx
mov dword [edi + 0x72c], 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 + 0x6ca], al
test ecx, ecx
je 0xcd9cd9
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.0xcdad51.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 + 0x6c2], 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 0xcd9d2a
mov al, 4
mov byte [edi + 0x6ca], 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 + 0x6b6], 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 0xcdc312
cmp eax, 0x20c49b
jg 0xcdc312
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 0xcdc312
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 0xcdc312
cmp eax, 3
jge 0xcdc312
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 + 0x6b8], 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 0xcdc312
cmp eax, 4
jge 0xcdc312
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 ecx, edx
mov esi, eax
mov dword [esp + 0x14], ecx
cmp ecx, 0xffffffff
jl 0xcdc312
jg 0xcd9e39
cmp esi, 0xffffffff
jb 0xcdc312
cmp dword [edi + 0x184], ecx
jg 0xcd9e70
jl 0xcd9e4b
cmp dword [edi + 0x180], esi
jae 0xcd9e70
mov eax, dword [edi + 0x178]
cmp eax, dword [edi + 0x624]
jne 0xcd9e70
xor edx, edx
lea ecx, [edi + 0x624]
call fcn.00cd9950
mov ecx, dword [esp + 0x14]
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 + 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 + 0x6c5], 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 + 0x6c4], 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 + 0x6c6], 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 0xcdc312
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 0xcdc312
and al, 7
mov byte [edi + 0x6a4], 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 0xcd9d2a
mov al, 1
mov byte [edi + 0x6ca], bl
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 + 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
je case.0xcdad51.10076
mov byte [edi + 0x3c9], bl
mov eax, ebx
mov byte [edi + 0x6ca], bl
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 0xcd9f9f
sub eax, 1
je 0xcd9f9f
sub eax, 1
je 0xcd9f9f
test ecx, ecx
js 0xcdc312
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 0xcd9fc6
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 + 0x962], al
test dl, 0x10
je 0xcd9fde
and edx, 0xffffffef
or edx, 2
and edx, 0xffffffdf
xor ecx, ecx
mov eax, 1
shl eax, cl
inc ecx
test edx, eax
jne 0xcda000
cmp ecx, 0x1f
jl 0xcd9fe3
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 + 0x6b7], 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 0xcdc312
cmp eax, 0xffff
jg 0xcdc312
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 0xcda066
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 + 0x972], al
test dl, 0x10
je 0xcda07e
and edx, 0xffffffef
or edx, 2
and edx, 0xffffffdf
xor ecx, ecx
mov eax, 1
shl eax, cl
inc ecx
test edx, eax
jne 0xcda0a0
cmp ecx, 0x1f
jl 0xcda083
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 0xcdc312
cmp eax, 7
jg 0xcdc312
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 0xcda0f7
sub eax, 1
jne 0xcda233
mov byte [edi + 0x6d4], 1
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [edi + 0x6d4], 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 + 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 + 0x6ba], 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 + 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]
test eax, eax
js 0xcdc312
cmp eax, 4
jge 0xcdc312
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 + 0x6bd], 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]
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]
mov eax, dword [eax]
test eax, eax
js 0xcdc312
cmp eax, 3
jge 0xcdc312
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 + 0x6bf], 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 0xcdc312
cmp eax, 3
jge 0xcdc312
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 0xcda233
cmp eax, 2
jg 0xcda233
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 0xcdc312
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 0xcdc312
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 0xcdc312
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 0xcdc312
cmp eax, 0xffff
jg 0xcdc312
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 0xcdc312
cmp eax, 0x20c49b
jg 0xcdc312
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 0xcdc312
cmp eax, 0x20c49b
jg 0xcdc312
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 0xcdc312
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.00cd9950
mov ecx, edi
call fcn.00cdf8c0
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 + 0x6b3], 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 0xcdc312
cmp ecx, 0xffff
jg 0xcdc312
call fcn.00ce41b0
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 0xcdc312
cmp ecx, 0xffff
jg 0xcdc312
call fcn.00ce41b0
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.0xcdad51.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.0xcdad51.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.00ce0990
test al, al
je case.0xcda7bc.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 + 0x8ac], ebx
jne 0xcdc312
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp eax, 0xa00000
jle 0xcda4a1
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 0xcda4ba
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 + 0x6cf], 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 0xcdc312
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 0xcdc312
cmp eax, 4
jge 0xcdc312
mov byte [edi + 0x6ad], 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 0xcdc312
cmp eax, 2
jg 0xcdc312
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 + 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 + 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]
cmp eax, 2
jg 0xcdc312
mov byte [edi + 0x6ae], 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 + 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
sete 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]
mov eax, dword [eax]
test eax, eax
js 0xcdc312
cmp eax, 0x1ff
jg 0xcdc312
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]
dec eax
cmp eax, 0xa
ja case.default.0xcda64b
jmp dword [eax*4 + 0xcdc664]
mov eax, 1
mov dword [edi + 0x658], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 2
mov dword [edi + 0x658], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 3
mov dword [edi + 0x658], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 4
mov dword [edi + 0x658], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 5
mov dword [edi + 0x658], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 6
mov dword [edi + 0x658], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 7
mov dword [edi + 0x658], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 8
mov dword [edi + 0x658], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 9
mov dword [edi + 0x658], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0xa
mov dword [edi + 0x658], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0xb
mov dword [edi + 0x658], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, 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 + 0xc40], 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 + 0xc44], 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 + 0x6c0], 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 + 0x670], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x2711
jg 0xcdad26
je 0xcdad12
lea eax, [edx - 0xd4]
cmp eax, 0x6e
ja case.0xcdc362.40296
movzx eax, byte [eax + 0xcdc73c]
jmp dword [eax*4 + 0xcdc690]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp eax, 0xffffffff
jl 0xcdc312
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 + 0x6c3], 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 + 0x6b0], 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 + 0x14], eax
cmp eax, 2
je 0xcdc312
cmp eax, 3
je 0xcdc312
cmp eax, 8
jae 0xcdc312
cmp ecx, 0x7ffff
ja 0xcdc312
mov ebx, dword [esp + 0x14]
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 + 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 0xcdc312
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]
mov eax, dword [eax]
cmp eax, 1
jg 0xcdc312
test eax, eax
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]
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 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 + 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 + 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 + 0x46d], al
mov ecx, dword [edi + 0xc]
test ecx, ecx
je case.0xcdad51.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 + 0x6e3], 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.0xcdad51.10076
mov byte [ecx + 0x1ba], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00cdffa0
test al, al
jne 0xcda9c3
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.0xcdad51.10076
mov byte [ecx + 0x17b], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00cdffa0
test al, al
je case.0xcda7bc.244
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6e4], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00cdffb0
test al, al
je case.0xcda7bc.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 0xcdaa3e
mov eax, 0x200000
jmp 0xcdaa48
mov ecx, 0x4000
cmp eax, ecx
cmovl eax, ecx
mov dword [edi + 0x4b4], eax
push dword [edi + 0x8b0]
call dword [0xd93ddc]
add esp, 4
mov dword [edi + 0x8b0], 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 + 0x6ac], 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]
cmp dword [eax], ebx
setne 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]
mov eax, dword [eax]
test eax, eax
js 0xcdc312
mov dword [edi + 0x674], 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 0xcdc312
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]
cmp dword [eax], ebx
setne al
mov byte [edi + 0x6d9], 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 + 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 + 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]
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 + 0x6dd], 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]
mov eax, dword [eax]
test eax, eax
js 0xcdc312
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]
mov eax, dword [eax]
test eax, eax
js 0xcdc312
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 0xcdc312
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 0xcdbe9c
cmp dword [edi + 0x6ec], ebx
jne case.0xcdad51.10076
call fcn.00ced220
mov dword [edi + 0x6ec], eax
test eax, eax
je 0xcdb015
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x6f0]
test ecx, ecx
jne 0xcdace8
call fcn.00ce85b0
mov ecx, eax
mov dword [edi + 0x6f0], ecx
test ecx, ecx
je 0xcdb015
mov eax, dword [ebp + 8]
mov edx, dword [eax]
call fcn.00ce85f0
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 + 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]
mov dword [edi + 0x15c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x27f4
jg 0xcdb9c0
je 0xcdb9ac
add edx, 0xffffd8ee
cmp edx, 0xde
ja case.0xcdc362.40296
movzx eax, byte [edx + 0xcdc8d0]
jmp dword [eax*4 + 0xcdc7ac]
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x56c]
mov edx, dword [edx]
call fcn.00cd9950
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.00cd9950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [esp + 0x14], ecx
test ecx, ecx
je 0xcdae81
mov esi, dword [edi + 0x180]
mov eax, esi
mov edx, dword [edi + 0x184]
and eax, edx
cmp eax, 0xffffffff
je 0xcdae81
test edx, edx
ja 0xcdae5a
jb 0xcdadc7
cmp esi, 0xffffffff
ja 0xcdae5a
lea esi, [edi + 0x624]
xor edx, edx
mov ecx, esi
call fcn.00cd9950
mov ecx, dword [edi + 0x180]
mov eax, ecx
mov edx, dword [edi + 0x184]
or eax, edx
jne 0xcdaded
mov ecx, 1
push ecx
call dword [0xd93dd4]
mov ecx, eax
add esp, 4
mov dword [esp + 0x10], ecx
test ecx, ecx
jne 0xcdae1e
mov eax, dword [esi]
mov ebx, 0x1b
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 edx, dword [edi + 0x180]
mov eax, edx
or eax, dword [edi + 0x184]
je 0xcdae40
push edx
push dword [esp + 0x18]
push ecx
call fcn.00d29c90
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov eax, ecx
mov dword [esi], ecx
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 [edi + 0x624]
lea esi, [edi + 0x624]
mov ebx, 0x1b
mov dword [edi + 0x178], eax
mov byte [edi + 0x3c9], 1
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea esi, [edi + 0x624]
mov edx, ecx
mov ecx, esi
call fcn.00cd9950
mov ebx, eax
mov eax, dword [esi]
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 + 0x624]
xor edx, edx
mov eax, dword [eax]
mov dword [edi + 0x178], eax
call fcn.00cd9950
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 0xcdaf1a
cmp byte [edx], bl
jne 0xcdaf1a
call fcn.00cef3b0
mov esi, eax
test esi, esi
jne 0xcdaef8
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.00cd9950
push esi
mov ebx, eax
call dword [0xd93ddc]
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [edi + 0x510]
call fcn.00cd9950
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 + 0x6ca], bl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [edi + 0xd59], bl
je 0xcdaf72
push dword [edi + 0xca8]
call dword [0xd93ddc]
add esp, 4
mov dword [edi + 0xca8], ebx
mov byte [edi + 0xd59], bl
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x54c]
mov edx, dword [edx]
call fcn.00cd9950
mov ebx, eax
mov eax, dword [edi + 0x54c]
mov dword [edi + 0xca8], 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.00cd9950
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.00cd9950
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 0xcdb030
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0xcdafe0
sub ecx, esi
cmp ecx, 0x7a1200
ja 0xcdc312
mov ecx, dword [edi + 0x1d0]
call fcn.00ce4280
test eax, eax
jne 0xcdb021
mov ecx, dword [edi + 0x1d0]
call fcn.00ce42c0
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.00ce42c0
mov eax, dword [edi + 0x78]
mov dword [edi + 0x1d0], ebx
test eax, eax
je 0xcdb04d
cmp dword [eax + 0x68], ebx
jne 0xcdb063
mov ecx, dword [edi + 0x6e8]
call fcn.00ce7190
mov ecx, dword [edi + 0x6e8]
call fcn.00ce7270
mov dword [edi + 0x6e8], 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.00cd9950
mov ebx, eax
xor edx, edx
movzx eax, byte [edi + 0x6b2]
mov ecx, edi
push eax
push dword [edi + 0x6e8]
call fcn.00ce6ba0
add esp, 8
mov dword [edi + 0x6e8], 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.0xcdad51.10076
mov edx, 0xd5caf0
mov ecx, esi
call fcn.00cef880
test eax, eax
je 0xcdb104
push ecx
mov edx, 2
mov ecx, edi
call fcn.00cef2f0
mov ecx, dword [edi + 0x6e8]
add esp, 4
call fcn.00ce7190
mov edx, 2
mov ecx, edi
call fcn.00cef330
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, str.SESS
mov ecx, esi
call fcn.00cef880
test eax, eax
je 0xcdb144
push ecx
mov edx, 2
mov ecx, edi
call fcn.00cef2f0
mov ecx, dword [edi + 0x6e8]
add esp, 4
call fcn.00ce71f0
mov edx, 2
mov ecx, edi
call fcn.00cef330
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, str.FLUSH
mov ecx, esi
call fcn.00cef880
test eax, eax
je 0xcdb166
xor dl, dl
mov ecx, edi
call fcn.00ce7560
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, str.RELOAD
mov ecx, esi
call fcn.00cef880
test eax, eax
je 0xcdb186
mov ecx, edi
call fcn.00ce5c90
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x6e8], ebx
jne 0xcdb1a4
push 1
push 0
xor edx, edx
mov ecx, edi
call fcn.00ce6ba0
add esp, 8
mov dword [edi + 0x6e8], eax
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0xcdb1b0
sub ecx, edx
cmp ecx, 0x7a1200
ja 0xcdc312
push esi
call dword [0xd93de0]
mov esi, eax
add esp, 4
test esi, esi
je 0xcdb245
cmp dword [edi + 0x6e8], ebx
je 0xcdb245
push ecx
mov edx, 2
mov ecx, edi
call fcn.00cef2f0
add esp, 4
mov edx, str.Set_Cookie:
mov ecx, esi
push 0xb
call fcn.00cef910
add esp, 4
lea ecx, [esi + 0xb]
test eax, eax
jne 0xcdb207
mov ecx, esi
mov edx, dword [edi + 0x6e8]
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.00ce5eb0
mov edx, 2
mov ecx, edi
call fcn.00cef330
push esi
call dword [0xd93ddc]
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 [0xd93ddc]
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.00cd9950
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.00cd9950
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.00cd9950
cmp dword [edi + 0x51c], 0
mov ebx, eax
setne al
mov byte [edi + 0x6bb], 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.00cd9950
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.00cd9950
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.00cd9950
cmp dword [edi + 0x538], 0
mov ebx, eax
setne al
mov byte [edi + 0x6cc], 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 + 0xd58], bl
je 0xcdb3da
push dword [edi + 0xca4]
call dword [0xd93ddc]
add esp, 4
mov dword [edi + 0xca4], ebx
mov byte [edi + 0xd58], bl
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x550]
mov edx, dword [edx]
call fcn.00cd9950
mov ebx, eax
mov eax, dword [edi + 0x550]
mov dword [edi + 0xca4], 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.00cd9a40
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.00cd9950
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.00cd9950
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.00cd9950
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.00cd9950
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 + 0xcac], 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.00cd9a40
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.00cd9950
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.00cd9950
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.00cd9950
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.00cd9950
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.0xcdad51.10076
push 2
call fcn.00d303c1
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.00cd9950
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.00cd9950
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.00cd9950
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.00cd9950
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.00cd9950
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.0xcdad51.10076
cmp byte [esi], bl
je case.0xcdad51.10076
lea ecx, [edi + 0x590]
mov edx, esi
call fcn.00cd9950
mov ebx, eax
test ebx, ebx
jne case.0xcdad51.10076
mov edx, esi
mov ecx, edi
call fcn.00cdf8b0
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.00cd9950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, 8
call fcn.00ce0990
test al, al
je case.0xcda7bc.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.00cd9950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, 1
call fcn.00ce0990
test al, al
je case.0xcda7bc.244
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x554]
mov edx, dword [edx]
call fcn.00cd9950
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.00cd9950
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.00cd9950
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]
lea esi, [edi + 0x78]
mov dword [esp + 0x10], esi
mov edx, dword [eax]
mov eax, dword [esi]
mov dword [esp + 0x18], edx
test eax, eax
je 0xcdb7c4
push ecx
mov edx, 1
call fcn.00cef2f0
add esp, 4
mov ecx, esi
cmp dword [edi + 0x6c], 2
jne 0xcdb762
mov dword [edi + 0x68], ebx
lea ecx, [edi + 0x78]
mov dword [edi + 0x6c], ebx
mov edx, dword [esi]
mov eax, dword [edx + 0x68]
cmp eax, dword [edi + 0x6e8]
jne 0xcdb777
mov dword [edi + 0x6e8], ebx
jmp 0xcdb779
mov ecx, esi
mov eax, dword [edx + 0x6c]
mov dword [esp + 0x10], esi
cmp eax, dword [edi + 0x6ec]
jne 0xcdb794
mov dword [edi + 0x6ec], ebx
mov esi, ecx
mov dword [esp + 0x10], ecx
mov eax, dword [edx + 0x70]
cmp eax, dword [edi + 0x8d0]
jne 0xcdb7a5
mov dword [edi + 0x8d0], ebx
mov eax, dword [esi]
mov edx, 1
mov ecx, dword [eax + 8]
mov eax, dword [esi]
dec ecx
mov dword [eax + 8], ecx
mov ecx, edi
call fcn.00cef330
mov edx, dword [esp + 0x18]
xor eax, eax
mov dword [esi], ebx
mov ecx, esi
test edx, edx
je 0xcdb7dd
cmp dword [edx], 0x7e117a1e
jne 0xcdb7dd
lea eax, [edi + 0x78]
mov dword [esi], edx
mov dword [esp + 0x14], eax
jmp 0xcdb7e9
mov dword [esp + 0x14], ecx
test eax, eax
je case.0xcdad51.10076
push ecx
mov edx, 1
mov ecx, edi
call fcn.00cef2f0
mov eax, dword [esi]
add esp, 4
mov ecx, dword [eax + 8]
mov eax, dword [esi]
inc ecx
mov dword [eax + 8], ecx
mov ecx, dword [esi]
test byte [ecx + 4], 8
je 0xcdb821
mov esi, dword [esp + 0x14]
lea eax, [ecx + 0x50]
mov dword [edi + 0x68], eax
mov dword [edi + 0x6c], 2
mov dword [esp + 0x10], esi
cmp dword [ecx + 0x68], ebx
je 0xcdb83c
mov ecx, dword [edi + 0x6e8]
call fcn.00ce7270
mov ecx, dword [esi]
mov eax, dword [ecx + 0x68]
mov dword [edi + 0x6e8], eax
cmp dword [ecx + 0x6c], ebx
je 0xcdb85d
lea ecx, [edi + 0x6ec]
call fcn.00ced260
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x6c]
mov dword [edi + 0x6ec], eax
jmp 0xcdb861
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx]
cmp dword [ecx + 0x70], ebx
je 0xcdb87a
mov eax, dword [ecx + 0x74]
mov dword [edi + 0x4a4], eax
mov eax, dword [ecx + 0x70]
mov dword [edi + 0x8d0], eax
mov edx, 1
mov ecx, edi
call fcn.00cef330
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.00cd9950
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.00cd9950
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 + 0x6a8], 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.00cd9950
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.00cd9950
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.00cd9950
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 + 0x654], 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 + 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 + 0x49c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x4e2b
jg 0xcdbf3f
je 0xcdbf19
add edx, 0xffffd80a
cmp edx, 0x59
ja case.0xcdc362.40296
movzx eax, byte [edx + 0xcdca4c]
jmp dword [eax*4 + 0xcdc9b0]
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x570]
mov edx, dword [edx]
call fcn.00cd9950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, 0x20
call fcn.00ce0990
test al, al
je case.0xcda7bc.239
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x574]
mov edx, dword [edx]
call fcn.00cd9950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, 0x20
call fcn.00ce0990
test al, al
je case.0xcda7bc.239
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x578]
mov edx, dword [edx]
call fcn.00cd9950
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.00cd9950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x61c]
mov edx, dword [edx]
call fcn.00cd9950
cmp dword [edi + 0x61c], 0
mov ebx, eax
je case.0xcdad51.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.00cde220
mov ebx, eax
add esp, 4
test ebx, ebx
jne case.0xcdad51.10076
mov byte [edi + 0x3c9], 3
mov byte [edi + 0x6ca], 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.00cd9950
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.00cd9950
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.00cd9950
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 + 0x698], 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.00cd9950
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.00cd9950
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.00cd9950
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.00cd9950
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.00cd9950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, 4
call fcn.00ce0990
test al, al
je 0xcdbbdd
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x564]
mov edx, dword [edx]
call fcn.00cd9950
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.00ce0990
test al, al
je 0xcdbbdd
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x568]
mov edx, dword [edx]
call fcn.00cd9950
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.00cd9950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, 1
call fcn.00ce0990
test al, al
je case.0xcda7bc.244
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x558]
mov edx, dword [edx]
call fcn.00cd9950
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.00cd9950
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.00cd9950
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.00cd9950
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 + 0x688], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
lea edx, [esp + 0x18]
mov ecx, dword [eax]
call fcn.00cd9b10
mov ebx, eax
test ebx, ebx
jne 0xcdc443
mov eax, dword [esp + 0x18]
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]
lea edx, [esp + 0x18]
mov ecx, dword [eax]
call fcn.00cd9b10
mov ebx, eax
test ebx, ebx
jne 0xcdc443
mov eax, dword [esp + 0x18]
mov dword [edi + 0x64c], 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.00cd9950
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.00cd9950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [edi + 0x6df], bl
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x5f0]
mov edx, dword [edx]
call fcn.00cd9950
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [edi + 0x6df], 1
jmp 0xcdbd40
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
je case.0xcda7bc.239
cmp dword [eax], 0xc0dedbad
je case.0xcda7bc.239
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 + 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.00cd9950
cmp dword [edi + 0x5f8], 0
mov ebx, eax
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 + 0x69c], 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 + 0x6ec], ebx
jne 0xcdbe1a
call fcn.00ced220
mov dword [edi + 0x6ec], eax
test eax, eax
je 0xcdb015
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
test eax, eax
je 0xcdbe7b
lea ecx, [edi + 0x600]
mov edx, eax
call fcn.00cd9950
mov ebx, eax
test ebx, ebx
jne 0xcdc443
mov edx, dword [esp + 0x18]
mov ecx, dword [edi + 0x1d4]
call fcn.00ce4280
test eax, eax
jne 0xcdbe6c
mov ecx, dword [edi + 0x1d4]
call fcn.00ce42c0
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.00ce42c0
mov dword [edi + 0x1d4], ebx
mov eax, dword [edi + 0x78]
test eax, eax
je 0xcdbe9c
cmp dword [eax + 0x6c], ebx
jne case.0xcdad51.10076
lea ecx, [edi + 0x6ec]
call fcn.00ced260
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x6f0], ebx
jne 0xcdbecb
call fcn.00ce85b0
mov dword [edi + 0x6f0], eax
test eax, eax
je 0xcdb015
mov eax, dword [ebp + 8]
lea ecx, [edi + 0x5fc]
mov esi, dword [eax]
mov edx, esi
call fcn.00cd9950
mov ebx, eax
test ebx, ebx
jne 0xcdc443
test esi, esi
je case.0xcdad51.10076
mov ecx, dword [edi + 0x6f0]
mov edx, esi
call fcn.00ce85e0
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.0xcdad51.10076
mov dword [edi + 0x18c], fcn.00d3a4ac
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x4f30
jg 0xcdc0fd
je 0xcdc0e9
add edx, 0xffffb1d4
cmp edx, 0xcf
ja case.0xcdc362.40296
movzx eax, byte [edx + 0xcdcae8]
jmp dword [eax*4 + 0xcdcaa8]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
mov dword [edi + 0x19c], eax
setne al
mov byte [edi + 0x87c], 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 + 0x87c], 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 0xcdbfff
mov byte [edi + 0x6af], bl
mov eax, ebx
mov dword [edi + 0x198], fcn.00d3a6d0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [edi + 0x6af], 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.00ce0990
test al, al
je case.0xcda7bc.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 + 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 + 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 + 0x684], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x75c1
jg 0xcdc2c8
je 0xcdc2a1
cmp edx, 0x75a3
jg 0xcdc1bb
je 0xcdc18a
add edx, 0xffffb0c5
cmp edx, 0x1d
ja case.0xcdc362.40296
movzx eax, byte [edx + 0xcdcbcc]
jmp dword [eax*4 + 0xcdcbb8]
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 + 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 0xcdc312
jg 0xcdc1a6
cmp ecx, 0xffffffff
jb 0xcdc312
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 0xcdc270
sub edx, 1
je 0xcdc241
sub edx, 3
jne case.0xcdc362.40296
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov esi, dword [eax]
mov dword [esp + 0x18], ecx
cmp ecx, 0xffffffff
jl 0xcdc312
jg 0xcdc1f5
cmp esi, 0xffffffff
jb 0xcdc312
cmp dword [edi + 0x184], ecx
jg 0xcdc22c
jl 0xcdc207
cmp dword [edi + 0x180], esi
jae 0xcdc22c
mov eax, dword [edi + 0x178]
cmp eax, dword [edi + 0x624]
jne 0xcdc22c
xor edx, edx
lea ecx, [edi + 0x624]
call fcn.00cd9950
mov ecx, dword [esp + 0x18]
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]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
test eax, eax
jl 0xcdc312
jg 0xcdc25b
test ecx, ecx
jb 0xcdc312
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 0xcdc312
jg 0xcdc28c
cmp ecx, 0xffffffff
jb 0xcdc312
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 0xcdc312
jg 0xcdc2b3
test ecx, ecx
jb 0xcdc312
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 0xcdc34c
je 0xcdc333
sub edx, 0x75c2
je 0xcdc300
sub edx, 0x7c
jne case.0xcdc362.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 0xcdc31e
jl 0xcdc312
test ecx, ecx
jae 0xcdc31e
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.00cd99b0
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
add edx, 0xffff629c
cmp edx, 0x12
ja case.0xcdc362.40296
movzx eax, byte [edx + 0xcdcc0c]
jmp dword [eax*4 + 0xcdcbec]
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x62c]
mov edx, dword [edx]
call fcn.00cd99b0
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.00cd99b0
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.00cd99b0
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, 0x40
call fcn.00ce0990
test al, al
je case.0xcda7bc.239
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x640]
mov edx, dword [edx]
call fcn.00cd99b0
mov ebx, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, 0x40
call fcn.00ce0990
test al, al
je case.0xcda7bc.239
mov edx, dword [ebp + 8]
lea ecx, [edi + 0x644]
mov edx, dword [edx]
call fcn.00cd99b0
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.00cd99b0
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.00cd99b0
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