Function at 0x40ce90
Capabilities:
Check for software breakpoints

Disassembly:
mov ecx, dword [esp + 8]
sub esp, 8
push ebx
push ebp
push esi
push edi
xor edi, edi
cmp ecx, 0xd2
jg 0x40d932
je 0x40d910
lea eax, [ecx - 3]
cmp eax, 0xcc
ja case.0x40f165.40296
movzx eax, byte [eax + 0x40f398]
jmp dword [eax*4 + 0x40f288]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
cmp ecx, 0xffffffff
jl 0x40d57f
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x4e4], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x40d57f
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x6c0], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x70f], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x710], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x70d], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x708], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
cmp dword [eax], edi
setne al
mov byte [ecx + 0x702], al
test al, al
je 0x40cfac
or dword [ecx + 0x76c], 0x10
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
and dword [ecx + 0x76c], 0xffffffef
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
cmp dword [eax], edi
setne al
mov byte [ecx + 0x70b], al
test al, al
je 0x40cfe8
mov eax, edi
mov dword [ecx + 0x400], 5
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
cmp dword [ecx + 0x400], 5
jne case.0x40cec4.91
mov dword [ecx + 0x400], edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x703], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
cmp dword [eax], edi
setne al
mov byte [ecx + 0x70c], al
test al, al
je 0x40cff5
mov eax, edi
mov dword [ecx + 0x400], 4
pop edi
pop esi
pop ebp
mov byte [ecx + 0x70b], 0
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x6fd], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
cmp eax, 0x20c49b
ja 0x40d57f
imul ecx, eax, 0x3e8
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x210], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x6ff], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
cmp ecx, 3
ja 0x40d57f
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x3ec], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax]
cdq
mov dword [ecx + 0x3f8], eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [ecx + 0x3fc], edx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
cdq
mov ebx, eax
mov ebp, edx
cmp ebp, 0xffffffff
jg 0x40d11c
jl 0x40d57f
cmp ebx, 0xffffffff
jb 0x40d57f
mov esi, dword [esp + 0x1c]
cmp dword [esi + 0x18c], ebp
jg 0x40d15b
jl 0x40d132
cmp dword [esi + 0x188], ebx
jae 0x40d15b
mov eax, dword [esi + 0x180]
cmp eax, dword [esi + 0x660]
jne 0x40d15b
push dword [esi + 0x660]
call dword [0x478004]
mov dword [esi + 0x660], edi
add esp, 4
mov dword [esi + 0x180], edi
mov eax, edi
mov dword [esi + 0x188], ebx
pop edi
mov dword [esi + 0x18c], ebp
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x70a], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x706], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x705], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x707], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
cmp ecx, 0xffffffff
jl 0x40d57f
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x178], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x40d57f
mov eax, dword [esp + 0x1c]
and ecx, 7
mov dword [eax + 0x17c], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
je 0x40d254
mov dword [eax + 0x400], 1
mov byte [eax + 0x70b], 0
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov dword [eax + 0x400], edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
je case.0x40cec4.91
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x400], edi
mov word [eax + 0x70b], di
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x40d57f
cmp ecx, 3
jl 0x40d2ab
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x1c]
mov byte [eax + 0x404], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [eax]
test edx, edx
jne 0x40d2dd
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x16c], edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, edx
shr eax, 4
and al, 1
mov byte [esi + 0x996], al
test dl, 0x10
je 0x40d2f9
and edx, 0xffffffef
or edx, 2
and edx, 0xffffffd3
xor ecx, ecx
mov edi, edi
mov eax, 1
shl eax, cl
inc ecx
and eax, edx
jne 0x40d31e
cmp ecx, 0x1f
jl 0x40d300
pop edi
pop esi
pop ebp
mov eax, 4
pop ebx
add esp, 8
ret
mov eax, edi
mov dword [esi + 0x16c], edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x6fe], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
cmp ecx, 0xffff
ja 0x40d57f
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x154], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [eax]
test edx, edx
jne 0x40d38f
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x170], edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, edx
shr eax, 4
and al, 1
mov byte [esi + 0x9a6], al
test dl, 0x10
je 0x40d3ab
and edx, 0xffffffef
or edx, 2
and edx, 0xffffffd3
xor ecx, ecx
mov eax, 1
shl eax, cl
inc ecx
and eax, edx
jne 0x40d3ce
cmp ecx, 0x1f
jl 0x40d3b0
pop edi
pop esi
pop ebp
mov eax, 4
pop ebx
add esp, 8
ret
mov eax, edi
mov dword [esi + 0x170], edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
cmp ecx, 7
ja 0x40d57f
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x3f0], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
sub eax, 0
je 0x40d428
dec eax
jne 0x40d4b3
mov eax, dword [esp + 0x1c]
mov byte [eax + 0x717], 1
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x1c]
mov byte [eax + 0x717], 0
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x718], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x701], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x700], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
cmp ecx, 2
ja 0x40d4b3
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x508], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov edi, 0x2b
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
cmp eax, 0xffffffff
jl 0x40d57f
mov ecx, dword [esp + 0x1c]
cdq
mov dword [ecx + 0x220], eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [ecx + 0x224], edx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x40d57f
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x228], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x40d57f
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x22c], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
cmp ecx, 0xffff
ja 0x40d57f
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x168], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
cmp eax, 0x20c49b
ja 0x40d57f
imul ecx, eax, 0x3e8
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x200], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
jns 0x40d561
pop edi
pop esi
pop ebp
mov eax, 0x2b
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
cmp eax, 0x20c49b
ja 0x40d57f
imul ecx, eax, 0x3e8
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x204], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
jns 0x40d59f
pop edi
pop esi
pop ebp
mov eax, 0x2b
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
cmp eax, 0xffffffff
jl 0x40d57f
mov ecx, dword [esp + 0x1c]
cdq
mov dword [ecx + 0x240], eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [ecx + 0x244], edx
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
push dword [esi + 0x5d0]
call dword [0x478004]
push esi
mov dword [esi + 0x5d0], edi
call fcn.004179c0
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x6fa], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
cmp eax, 0xffff
ja 0x40d57f
push eax
call fcn.0041e690
mov ecx, dword [esp + 0x20]
add esp, 4
mov word [ecx + 0x190], ax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
cmp eax, 0xffff
ja 0x40d57f
push eax
call fcn.0041e670
mov ecx, dword [esp + 0x20]
add esp, 4
mov dword [ecx + 0x194], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x444], cl
mov eax, dword [eax + 0xc]
test eax, eax
je case.0x40cec4.91
mov byte [eax + 0x210], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
test byte [eax], 3
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x445], cl
mov eax, dword [eax + 0xc]
test eax, eax
je case.0x40cec4.91
mov byte [eax + 0x211], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [0x478014]
test byte [eax + 8], 2
je case.0x40d95a.244
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x46c], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov ecx, dword [esp + 0x1c]
cmp dword [ecx + 0x8ec], edi
jne 0x40d57f
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
cmp eax, 0x80000
jle 0x40d74e
mov eax, 0x80000
mov dword [ecx + 0x4e8], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
cmp eax, 1
jge 0x40d768
mov eax, 0x4000
mov dword [ecx + 0x4e8], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov edx, 0x400
cmp eax, edx
cmovl eax, edx
mov dword [ecx + 0x4e8], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x711], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
test eax, eax
js 0x40d57f
mov ecx, dword [esp + 0x1c]
cdq
mov dword [ecx + 0x500], eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [ecx + 0x504], edx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
cmp ecx, 3
ja 0x40d57f
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x514], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
cmp ecx, 2
ja 0x40d57f
mov eax, dword [esp + 0x1c]
mov byte [eax + 0x4f8], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x712], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x713], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x714], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x447], cl
mov byte [eax + 0x4b3], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
sete cl
mov byte [eax + 0x715], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
sete cl
mov byte [eax + 0x716], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x688], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x68c], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x690], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x40d57f
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x6b4], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
cmp ecx, 0x2711
jg 0x40deb1
je 0x40de97
lea eax, [ecx - 0xd4]
cmp eax, 0x67
ja case.0x40f165.40296
movzx eax, byte [eax + 0x40f4f0]
jmp dword [eax*4 + 0x40f468]
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x704], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x1c]
lea edx, [eax + 0x408]
cmp ecx, 0x20
je 0x40d993
lea edx, [eax + 0x474]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
movzx eax, cx
and ecx, 0xffff0000
test eax, eax
js 0x40d57f
cmp eax, 2
je 0x40d57f
cmp eax, 3
je 0x40d57f
cmp eax, 8
jge 0x40d57f
cmp ecx, 0x7ffff
ja 0x40d57f
mov dword [edx], eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [edx + 4], ecx
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov cl, byte [eax]
mov eax, dword [esp + 0x1c]
and cl, 1
mov byte [eax + 0x6f8], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x40d57f
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x6c4], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
cmp eax, 1
jg 0x40d57f
test eax, eax
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x727], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x174], ecx
test ecx, 0xfffffffa
je case.0x40cec4.91
mov edi, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x40d57f
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x208], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x724], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x4b0], cl
mov eax, dword [eax + 0xc]
test eax, eax
je case.0x40cec4.91
mov byte [eax + 0x250], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
test byte [eax], 3
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x4b1], cl
mov eax, dword [eax + 0xc]
test eax, eax
je case.0x40cec4.91
mov byte [eax + 0x251], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
call fcn.00417100
test al, al
je case.0x40d95a.244
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x446], cl
mov eax, dword [eax + 0xc]
test eax, eax
je case.0x40cec4.91
mov byte [eax + 0x212], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
call fcn.00417500
test al, al
je case.0x40d95a.244
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x46d], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
cmp eax, 0x200000
jle 0x40db87
mov eax, 0x200000
jmp 0x40db91
mov ecx, 0x4000
cmp eax, ecx
cmovl eax, ecx
mov esi, dword [esp + 0x1c]
mov dword [esi + 0x4ec], eax
push dword [esi + 0x8f0]
call dword [0x478004]
add esp, 4
mov dword [esi + 0x8f0], edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov edx, dword [eax]
mov al, dl
and al, 1
mov byte [ecx + 0x46e], al
mov eax, edx
shr eax, 1
and al, 1
mov byte [ecx + 0x46f], al
mov eax, edx
shr eax, 2
and al, 1
mov byte [ecx + 0x470], al
mov eax, edx
shr eax, 3
and al, 1
mov byte [ecx + 0x471], al
mov eax, edx
shr eax, 4
and al, 1
shr edx, 5
mov byte [ecx + 0x472], al
and dl, 1
mov eax, edi
mov byte [ecx + 0x473], dl
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov edx, dword [eax]
mov al, dl
and al, 1
mov byte [ecx + 0x4da], al
mov eax, edx
shr eax, 1
and al, 1
mov byte [ecx + 0x4db], al
mov eax, edx
shr eax, 2
and al, 1
mov byte [ecx + 0x4dc], al
mov eax, edx
shr eax, 3
and al, 1
mov byte [ecx + 0x4dd], al
mov eax, edx
shr eax, 4
and al, 1
shr edx, 5
mov byte [ecx + 0x4de], al
and dl, 1
mov eax, edi
mov byte [ecx + 0x4df], dl
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x694], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x719], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x71b], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x40d57f
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x6b8], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x40d57f
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x6bc], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x71d], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x71e], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x71f], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x720], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x721], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x40d57f
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x20c], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
cmp dword [eax], edi
mov eax, dword [esp + 0x1c]
setne cl
mov byte [eax + 0x726], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x40d57f
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x6dc], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x40d57f
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x214], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
test ecx, ecx
js 0x40d57f
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x218], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
test byte [eax], 1
je 0x40de7b
mov esi, dword [esp + 0x1c]
cmp dword [esi + 0x734], edi
jne case.0x40cec4.91
call fcn.0041ea30
mov dword [esi + 0x734], eax
test eax, eax
jne case.0x40cec4.91
pop edi
pop esi
pop ebp
mov eax, 0x1b
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x1c]
add eax, 0x734
push eax
call fcn.0041e9e0
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x158], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
cmp ecx, 0x27fb
jg 0x40e85b
je case.0x40dedc.10179
add ecx, 0xffffd8ee
cmp ecx, 0xe4
ja case.0x40f165.40296
movzx eax, byte [ecx + 0x40f63c]
jmp dword [eax*4 + 0x40f558]
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x5a4
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x5b8
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x5b4
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov ebp, dword [eax]
test ebp, ebp
je 0x40dffc
mov edx, dword [esi + 0x188]
mov eax, edx
mov ecx, dword [esi + 0x18c]
and eax, ecx
cmp eax, 0xffffffff
je 0x40dffc
test ecx, ecx
jl 0x40dfcf
jg 0x40dfcf
test edx, edx
jb 0x40dfcf
test ecx, ecx
jg 0x40dfcf
jl 0x40df89
cmp edx, 0xffffffff
ja 0x40dfcf
push dword [esi + 0x660]
call dword [0x478004]
mov dword [esi + 0x660], edi
add esp, 4
mov ecx, dword [esi + 0x188]
mov eax, ecx
mov edx, dword [esi + 0x18c]
or eax, edx
je 0x40dfb6
mov dword [esp + 0x14], edx
jmp 0x40dfbf
mov ecx, 1
mov dword [esp + 0x14], edi
push ecx
call dword [section..data]
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x40dfd6
mov edi, 0x1b
jmp 0x40e00e
mov eax, dword [esi + 0x188]
or eax, dword [esi + 0x18c]
je 0x40dff4
push dword [esi + 0x188]
push ebp
push ebx
call fcn.0043c080
add esp, 0xc
mov dword [esi + 0x660], ebx
jmp 0x40e00e
lea eax, [esi + 0x660]
push ebp
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
mov eax, dword [esi + 0x660]
mov dword [esi + 0x180], eax
mov eax, edi
pop edi
mov dword [esi + 0x400], 1
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esi + 0x180], eax
push dword [esi + 0x660]
call dword [0x478004]
add esp, 4
mov dword [esi + 0x660], edi
mov eax, edi
mov dword [esi + 0x400], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
test eax, eax
je 0x40e0b6
cmp byte [eax], 0
jne 0x40e0b6
call fcn.0041f520
mov esi, eax
test esi, esi
jne 0x40e090
mov edi, 0x1b
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x1c]
add eax, 0x548
push esi
push eax
call fcn.0040ce20
push esi
mov edi, eax
call dword [0x478004]
add esp, 0xc
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
push eax
mov eax, dword [esp + 0x20]
add eax, 0x548
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
mov dword [ecx + 0x250], eax
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [ecx + 0x400], 2
mov byte [ecx + 0x70b], 0
pop ebx
add esp, 8
ret
mov ebx, dword [esp + 0x1c]
cmp byte [ebx + 0xcf7], 0
je 0x40e127
push dword [ebx + 0xc88]
call dword [0x478004]
add esp, 4
mov dword [ebx + 0xc88], edi
mov byte [ebx + 0xcf7], 0
mov eax, dword [esp + 0x24]
lea esi, [ebx + 0x584]
push dword [eax]
push esi
call fcn.0040ce20
add esp, 8
mov edi, eax
mov eax, dword [esi]
mov dword [ebx + 0xc88], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x5bc
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x248], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x24c], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x4f4], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x53c
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x578
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x160], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x150], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x15c], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov ebx, dword [esp + 0x1c]
cmp byte [ebx + 0xcf6], 0
je 0x40e27b
push dword [ebx + 0xc84]
call dword [0x478004]
add esp, 4
mov dword [ebx + 0xc84], edi
mov byte [ebx + 0xcf6], 0
mov eax, dword [esp + 0x24]
lea esi, [ebx + 0x588]
push dword [eax]
push esi
call fcn.0040ce20
add esp, 8
mov edi, eax
mov eax, dword [esi]
mov dword [ebx + 0xc84], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 0x5d8]
push eax
lea eax, [ecx + 0x5d4]
push eax
mov eax, dword [esp + 0x2c]
push dword [eax]
call fcn.0040f9a0
add esp, 0xc
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x5d4
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x5d8
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x5dc
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x62c
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x3cc], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x3d0], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x3c8], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x3e4], ecx
mov dword [eax + 0xc90], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x1f8], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 0x5e4]
push eax
lea eax, [ecx + 0x5e0]
jmp 0x40e2b5
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x5e0
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x5e4
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x5e8
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x580
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x14c], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esi + 0x148], eax
test eax, eax
jne case.0x40cec4.91
call fcn.00402d10
add eax, 0x40
mov dword [esi + 0x148], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x1d8], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x1fc], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x524
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x52c
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x558
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x568
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x560
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov esi, dword [eax]
test esi, esi
je case.0x40cec4.91
cmp byte [esi], 0
je case.0x40cec4.91
mov ebx, dword [esp + 0x1c]
push esi
lea eax, [ebx + 0x5d0]
push eax
call fcn.0040ce20
mov edi, eax
add esp, 8
test edi, edi
jne case.0x40cec4.91
push esi
push ebx
call fcn.004179b0
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x544
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [0x478014]
test byte [eax + 8], 8
je case.0x40d95a.244
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x454], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [0x478014]
test byte [eax + 8], 4
je case.0x40d95a.244
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x59c
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x594
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [0x478014]
test byte [eax + 8], 1
je case.0x40d95a.244
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x58c
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x5c0
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x5c8
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov ebx, dword [eax]
cmp dword [esi + 0x78], edi
je 0x40e757
push 2
push 1
push esi
call fcn.0041f840
add esp, 0xc
cmp dword [esi + 0x6c], 2
jne 0x40e728
mov dword [esi + 0x68], edi
mov dword [esi + 0x6c], edi
mov eax, dword [esi + 0x78]
mov eax, dword [eax + 0x68]
cmp eax, dword [esi + 0x90c]
jne 0x40e73c
mov dword [esi + 0x90c], edi
mov eax, dword [esi + 0x78]
push 1
push esi
mov ecx, dword [eax + 8]
mov eax, dword [esi + 0x78]
dec ecx
mov dword [eax + 8], ecx
call fcn.0041f880
add esp, 8
mov dword [esi + 0x78], edi
test ebx, ebx
je 0x40e766
cmp dword [ebx], 0x7e117a1e
jne 0x40e766
mov dword [esi + 0x78], ebx
cmp dword [esi + 0x78], edi
je case.0x40cec4.91
push 2
push 1
push esi
call fcn.0041f840
mov eax, dword [esi + 0x78]
add esp, 0xc
mov ecx, dword [eax + 8]
mov eax, dword [esi + 0x78]
inc ecx
mov dword [eax + 8], ecx
mov eax, dword [esi + 0x78]
test byte [eax + 4], 8
je 0x40e79f
add eax, 0x50
mov dword [esi + 0x68], eax
mov dword [esi + 0x6c], 2
mov eax, dword [esi + 0x78]
cmp dword [eax + 0x68], edi
je 0x40e7bc
mov eax, dword [eax + 0x6c]
mov dword [esi + 0x4e0], eax
mov eax, dword [esi + 0x78]
mov eax, dword [eax + 0x68]
mov dword [esi + 0x90c], eax
push 1
push esi
call fcn.0041f880
add esp, 8
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x4f0], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x1bc], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x1c4], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x1cc], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x60c
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
cmp ecx, 0x4e2b
jg 0x40ed11
je 0x40ecd2
add ecx, 0xffffd804
cmp ecx, 0x4d
ja case.0x40f165.40296
movzx eax, byte [ecx + 0x40f7a0]
jmp dword [eax*4 + 0x40f724]
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x5a8
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
call fcn.00417a30
test al, al
je case.0x40e883.10240
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x5ac
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
call fcn.00417a30
test al, al
je case.0x40e883.10240
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x5b0
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x634
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x1c]
push dword [eax]
lea esi, [ebx + 0x664]
push esi
call fcn.0040ce20
add esp, 8
mov edi, eax
cmp dword [esi], 0
je case.0x40cec4.91
pop edi
pop esi
pop ebp
mov dword [ebx + 0x16c], 0x80
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
push 0
push dword [eax]
lea eax, [esi + 0x258]
push eax
call fcn.00414630
mov edi, eax
add esp, 0xc
test edi, edi
jne case.0x40cec4.91
pop edi
mov dword [esi + 0x400], 3
mov byte [esi + 0x70b], al
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x57c
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x610
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x6e8], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x528
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x530
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x55c
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x56c
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x564
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [0x478014]
test byte [eax + 8], 4
je case.0x40d95a.244
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x5a0
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x598
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [0x478014]
test byte [eax + 8], 1
je case.0x40d95a.244
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x590
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x5c4
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x5cc
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x658
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x6d8], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x540
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x644
push eax
call fcn.0040ce20
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x3e8], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x6ec], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x1ec], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x1f4], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x1c]
cmp dword [esi + 0x734], edi
jne 0x40ec76
call fcn.0041ea30
mov dword [esi + 0x734], eax
test eax, eax
je 0x40de6e
mov eax, dword [esp + 0x24]
mov ebx, dword [eax]
lea eax, [esi + 0x640]
push ebx
push eax
call fcn.0040ce20
mov edi, eax
add esp, 8
test edi, edi
jne 0x40f27f
test ebx, ebx
je case.0x40cec4.91
push ebx
push dword [esi + 0x734]
push esi
call fcn.0041ea80
add esp, 0xc
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x1d4], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [ecx + 0x198], eax
test eax, eax
jne 0x40ed00
mov byte [ecx + 0x6f5], al
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [ecx + 0x198], fcn.00442a66
pop ebx
add esp, 8
ret
mov eax, edi
mov byte [ecx + 0x6f5], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
cmp ecx, 0x4f30
jg 0x40ef13
je 0x40eef9
add ecx, 0xffffb1d4
cmp ecx, 0xcf
ja case.0x40f165.40296
movzx eax, byte [ecx + 0x40f82c]
jmp dword [eax*4 + 0x40f7f0]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
mov dword [ecx + 0x1a8], eax
setne al
mov byte [ecx + 0x8bc], al
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
mov dword [ecx + 0x1ac], eax
setne al
mov byte [ecx + 0x8bc], al
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x1b0], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x19c], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [ecx + 0x1a4], eax
test eax, eax
jne 0x40edef
mov byte [ecx + 0x6f4], al
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [ecx + 0x1a4], fcn.00443189
pop ebx
add esp, 8
ret
mov eax, edi
mov byte [ecx + 0x6f4], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x184], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x1dc], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x1e0], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x1e4], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x1b4], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [0x478014]
test byte [eax + 8], 8
je case.0x40d95a.244
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x450], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x1b8], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x1c0], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x1c8], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x6d4], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
cmp ecx, 0x75c1
jg 0x40f0b6
je 0x40f081
cmp ecx, 0x75a3
jg 0x40eff3
je 0x40efbc
add ecx, 0xffffb0c5
cmp ecx, 0x1d
ja case.0x40f165.40296
movzx eax, byte [ecx + 0x40f910]
jmp dword [eax*4 + 0x40f8fc]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x6f0], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x1e8], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x1f0], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x1d0], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
cmp edx, 0xffffffff
jg 0x40efd9
jl 0x40d57f
cmp ecx, 0xffffffff
jb 0x40d57f
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x220], ecx
mov dword [eax + 0x224], edx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
sub ecx, 0x75a4
je 0x40f04a
dec ecx
je 0x40f015
sub ecx, 3
jne case.0x40f165.40296
mov eax, dword [esp + 0x24]
mov ebx, dword [eax]
mov ebp, dword [eax + 4]
jmp 0x40d108
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
test edx, edx
jg 0x40f030
jl 0x40d57f
test ecx, ecx
jb 0x40d57f
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x500], ecx
mov dword [eax + 0x504], edx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
cmp edx, 0xffffffff
jg 0x40f067
jl 0x40d57f
cmp ecx, 0xffffffff
jb 0x40d57f
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x240], ecx
mov dword [eax + 0x244], edx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
test edx, edx
jg 0x40f09c
jl 0x40d57f
test ecx, ecx
jb 0x40d57f
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x230], ecx
mov dword [eax + 0x234], edx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
cmp ecx, 0x9d63
jg 0x40f14f
je 0x40f12d
sub ecx, 0x75c2
je 0x40f0f8
sub ecx, 0x7c
jne case.0x40f165.40296
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov eax, dword [edx]
mov dword [ecx + 0x3f8], eax
mov eax, dword [edx + 4]
mov dword [ecx + 0x3fc], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
test edx, edx
jg 0x40f113
jl 0x40d57f
test ecx, ecx
jb 0x40d57f
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x238], ecx
mov dword [eax + 0x23c], edx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x668
push eax
call fcn.0040cd90
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
add ecx, 0xffff629c
cmp ecx, 0x12
ja case.0x40f165.40296
movzx eax, byte [ecx + 0x40f950]
jmp dword [eax*4 + 0x40f930]
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x66c
push eax
call fcn.0040cd90
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x670
push eax
call fcn.0040cd90
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x674
push eax
call fcn.0040cd90
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [0x478014]
test byte [eax + 8], 0x40
je case.0x40e883.10240
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x680
push eax
call fcn.0040cd90
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [0x478014]
test byte [eax + 8], 0x40
je case.0x40e883.10240
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x684
push eax
call fcn.0040cd90
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x678
push eax
call fcn.0040cd90
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x67c
push eax
call fcn.0040cd90
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov edi, 0x30
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret