Function at 0x40cae0
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 0x40d582
je 0x40d560
lea eax, [ecx - 3]
cmp eax, 0xcc
ja case.0x40edb5.40296
movzx eax, byte [eax + 0x40efe8]
jmp dword [eax*4 + 0x40eed8]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
cmp ecx, 0xffffffff
jl 0x40d1cf
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 0x40d1cf
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 0x40cbfc
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 0x40cc38
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.0x40cb14.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 0x40cc45
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 0x40d1cf
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 0x40d1cf
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 0x40cd6c
jl 0x40d1cf
cmp ebx, 0xffffffff
jb 0x40d1cf
mov esi, dword [esp + 0x1c]
cmp dword [esi + 0x18c], ebp
jg 0x40cdab
jl 0x40cd82
cmp dword [esi + 0x188], ebx
jae 0x40cdab
mov eax, dword [esi + 0x180]
cmp eax, dword [esi + 0x660]
jne 0x40cdab
push dword [esi + 0x660]
call dword [0x477004]
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 0x40d1cf
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 0x40d1cf
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 0x40cea4
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.0x40cb14.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 0x40d1cf
cmp ecx, 3
jl 0x40cefb
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 0x40cf2d
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 0x40cf49
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 0x40cf6e
cmp ecx, 0x1f
jl 0x40cf50
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 0x40d1cf
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 0x40cfdf
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 0x40cffb
and edx, 0xffffffef
or edx, 2
and edx, 0xffffffd3
xor ecx, ecx
mov eax, 1
shl eax, cl
inc ecx
and eax, edx
jne 0x40d01e
cmp ecx, 0x1f
jl 0x40d000
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 0x40d1cf
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 0x40d078
dec eax
jne 0x40d103
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 0x40d103
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 0x40d1cf
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 0x40d1cf
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 0x40d1cf
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 0x40d1cf
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 0x40d1cf
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 0x40d1b1
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 0x40d1cf
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 0x40d1ef
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 0x40d1cf
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 [0x477004]
push esi
mov dword [esi + 0x5d0], edi
call fcn.00417610
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 0x40d1cf
push eax
call fcn.0041e2e0
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 0x40d1cf
push eax
call fcn.0041e2c0
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.0x40cb14.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.0x40cb14.91
mov byte [eax + 0x211], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [0x477014]
test byte [eax + 8], 2
je case.0x40d5aa.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 0x40d1cf
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
cmp eax, 0x80000
jle 0x40d39e
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 0x40d3b8
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 0x40d1cf
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 0x40d1cf
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 0x40d1cf
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 0x40d1cf
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 0x40db01
je 0x40dae7
lea eax, [ecx - 0xd4]
cmp eax, 0x67
ja case.0x40edb5.40296
movzx eax, byte [eax + 0x40f140]
jmp dword [eax*4 + 0x40f0b8]
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 0x40d5e3
lea edx, [eax + 0x474]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
movzx eax, cx
and ecx, 0xffff0000
test eax, eax
js 0x40d1cf
cmp eax, 2
je 0x40d1cf
cmp eax, 3
je 0x40d1cf
cmp eax, 8
jge 0x40d1cf
cmp ecx, 0x7ffff
ja 0x40d1cf
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 0x40d1cf
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 0x40d1cf
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.0x40cb14.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 0x40d1cf
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.0x40cb14.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.0x40cb14.91
mov byte [eax + 0x251], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
call fcn.00416d50
test al, al
je case.0x40d5aa.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.0x40cb14.91
mov byte [eax + 0x212], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
call fcn.00417150
test al, al
je case.0x40d5aa.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 0x40d7d7
mov eax, 0x200000
jmp 0x40d7e1
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 [0x477004]
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 0x40d1cf
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 0x40d1cf
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 0x40d1cf
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 0x40d1cf
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 0x40d1cf
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 0x40d1cf
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 0x40dacb
mov esi, dword [esp + 0x1c]
cmp dword [esi + 0x734], edi
jne case.0x40cb14.91
call fcn.0041e680
mov dword [esi + 0x734], eax
test eax, eax
jne case.0x40cb14.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.0041e630
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 0x40e4ab
je case.0x40db2c.10179
add ecx, 0xffffd8ee
cmp ecx, 0xe4
ja case.0x40edb5.40296
movzx eax, byte [ecx + 0x40f28c]
jmp dword [eax*4 + 0x40f1a8]
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x5a4
push eax
call fcn.0040ca70
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.0040ca70
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.0040ca70
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 0x40dc4c
mov edx, dword [esi + 0x188]
mov eax, edx
mov ecx, dword [esi + 0x18c]
and eax, ecx
cmp eax, 0xffffffff
je 0x40dc4c
test ecx, ecx
jl 0x40dc1f
jg 0x40dc1f
test edx, edx
jb 0x40dc1f
test ecx, ecx
jg 0x40dc1f
jl 0x40dbd9
cmp edx, 0xffffffff
ja 0x40dc1f
push dword [esi + 0x660]
call dword [0x477004]
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 0x40dc06
mov dword [esp + 0x14], edx
jmp 0x40dc0f
mov ecx, 1
mov dword [esp + 0x14], edi
push ecx
call dword [section..data]
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x40dc26
mov edi, 0x1b
jmp 0x40dc5e
mov eax, dword [esi + 0x188]
or eax, dword [esi + 0x18c]
je 0x40dc44
push dword [esi + 0x188]
push ebp
push ebx
call fcn.0043bce0
add esp, 0xc
mov dword [esi + 0x660], ebx
jmp 0x40dc5e
lea eax, [esi + 0x660]
push ebp
push eax
call fcn.0040ca70
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 [0x477004]
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 0x40dd06
cmp byte [eax], 0
jne 0x40dd06
call fcn.0041f170
mov esi, eax
test esi, esi
jne 0x40dce0
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.0040ca70
push esi
mov edi, eax
call dword [0x477004]
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.0040ca70
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 0x40dd77
push dword [ebx + 0xc88]
call dword [0x477004]
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.0040ca70
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.0040ca70
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.0040ca70
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.0040ca70
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 0x40decb
push dword [ebx + 0xc84]
call dword [0x477004]
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.0040ca70
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.0040f5f0
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.0040ca70
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.0040ca70
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.0040ca70
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.0040ca70
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 0x40df05
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x5e0
push eax
call fcn.0040ca70
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.0040ca70
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.0040ca70
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.0040ca70
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.0x40cb14.91
call fcn.00402a40
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.0040ca70
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.0040ca70
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.0040ca70
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.0040ca70
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.0040ca70
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.0x40cb14.91
cmp byte [esi], 0
je case.0x40cb14.91
mov ebx, dword [esp + 0x1c]
push esi
lea eax, [ebx + 0x5d0]
push eax
call fcn.0040ca70
mov edi, eax
add esp, 8
test edi, edi
jne case.0x40cb14.91
push esi
push ebx
call fcn.00417600
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.0040ca70
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [0x477014]
test byte [eax + 8], 8
je case.0x40d5aa.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 [0x477014]
test byte [eax + 8], 4
je case.0x40d5aa.244
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x59c
push eax
call fcn.0040ca70
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.0040ca70
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [0x477014]
test byte [eax + 8], 1
je case.0x40d5aa.244
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x58c
push eax
call fcn.0040ca70
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.0040ca70
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.0040ca70
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 0x40e3a7
push 2
push 1
push esi
call fcn.0041f490
add esp, 0xc
cmp dword [esi + 0x6c], 2
jne 0x40e378
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 0x40e38c
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.0041f4d0
add esp, 8
mov dword [esi + 0x78], edi
test ebx, ebx
je 0x40e3b6
cmp dword [ebx], 0x7e117a1e
jne 0x40e3b6
mov dword [esi + 0x78], ebx
cmp dword [esi + 0x78], edi
je case.0x40cb14.91
push 2
push 1
push esi
call fcn.0041f490
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 0x40e3ef
add eax, 0x50
mov dword [esi + 0x68], eax
mov dword [esi + 0x6c], 2
mov eax, dword [esi + 0x78]
cmp dword [eax + 0x68], edi
je 0x40e40c
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.0041f4d0
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.0040ca70
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
cmp ecx, 0x4e2b
jg 0x40e961
je 0x40e922
add ecx, 0xffffd804
cmp ecx, 0x4d
ja case.0x40edb5.40296
movzx eax, byte [ecx + 0x40f3f0]
jmp dword [eax*4 + 0x40f374]
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x5a8
push eax
call fcn.0040ca70
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
call fcn.00417680
test al, al
je case.0x40e4d3.10240
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x5ac
push eax
call fcn.0040ca70
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
call fcn.00417680
test al, al
je case.0x40e4d3.10240
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x5b0
push eax
call fcn.0040ca70
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.0040ca70
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.0040ca70
add esp, 8
mov edi, eax
cmp dword [esi], 0
je case.0x40cb14.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.00414280
mov edi, eax
add esp, 0xc
test edi, edi
jne case.0x40cb14.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.0040ca70
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.0040ca70
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.0040ca70
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.0040ca70
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.0040ca70
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.0040ca70
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.0040ca70
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [0x477014]
test byte [eax + 8], 4
je case.0x40d5aa.244
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x5a0
push eax
call fcn.0040ca70
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.0040ca70
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [0x477014]
test byte [eax + 8], 1
je case.0x40d5aa.244
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x590
push eax
call fcn.0040ca70
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.0040ca70
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.0040ca70
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.0040ca70
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.0040ca70
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.0040ca70
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 0x40e8c6
call fcn.0041e680
mov dword [esi + 0x734], eax
test eax, eax
je 0x40dabe
mov eax, dword [esp + 0x24]
mov ebx, dword [eax]
lea eax, [esi + 0x640]
push ebx
push eax
call fcn.0040ca70
mov edi, eax
add esp, 8
test edi, edi
jne 0x40eecf
test ebx, ebx
je case.0x40cb14.91
push ebx
push dword [esi + 0x734]
push esi
call fcn.0041e6d0
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 0x40e950
mov byte [ecx + 0x6f5], al
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [ecx + 0x198], fcn.004426c6
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 0x40eb63
je 0x40eb49
add ecx, 0xffffb1d4
cmp ecx, 0xcf
ja case.0x40edb5.40296
movzx eax, byte [ecx + 0x40f47c]
jmp dword [eax*4 + 0x40f440]
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 0x40ea3f
mov byte [ecx + 0x6f4], al
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [ecx + 0x1a4], fcn.00442de9
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 [0x477014]
test byte [eax + 8], 8
je case.0x40d5aa.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 0x40ed06
je 0x40ecd1
cmp ecx, 0x75a3
jg 0x40ec43
je 0x40ec0c
add ecx, 0xffffb0c5
cmp ecx, 0x1d
ja case.0x40edb5.40296
movzx eax, byte [ecx + 0x40f560]
jmp dword [eax*4 + 0x40f54c]
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 0x40ec29
jl 0x40d1cf
cmp ecx, 0xffffffff
jb 0x40d1cf
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 0x40ec9a
dec ecx
je 0x40ec65
sub ecx, 3
jne case.0x40edb5.40296
mov eax, dword [esp + 0x24]
mov ebx, dword [eax]
mov ebp, dword [eax + 4]
jmp 0x40cd58
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
test edx, edx
jg 0x40ec80
jl 0x40d1cf
test ecx, ecx
jb 0x40d1cf
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 0x40ecb7
jl 0x40d1cf
cmp ecx, 0xffffffff
jb 0x40d1cf
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 0x40ecec
jl 0x40d1cf
test ecx, ecx
jb 0x40d1cf
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 0x40ed9f
je 0x40ed7d
sub ecx, 0x75c2
je 0x40ed48
sub ecx, 0x7c
jne case.0x40edb5.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 0x40ed63
jl 0x40d1cf
test ecx, ecx
jb 0x40d1cf
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.0040c9e0
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.0x40edb5.40296
movzx eax, byte [ecx + 0x40f5a0]
jmp dword [eax*4 + 0x40f580]
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x66c
push eax
call fcn.0040c9e0
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.0040c9e0
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.0040c9e0
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [0x477014]
test byte [eax + 8], 0x40
je case.0x40e4d3.10240
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x680
push eax
call fcn.0040c9e0
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [0x477014]
test byte [eax + 8], 0x40
je case.0x40e4d3.10240
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x684
push eax
call fcn.0040c9e0
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.0040c9e0
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.0040c9e0
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