Function at 0x40c760
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 0x40d202
je 0x40d1e0
lea eax, [ecx - 3]
cmp eax, 0xcc
ja case.0x40ea35.40296
movzx eax, byte [eax + 0x40ec68]
jmp dword [eax*4 + 0x40eb58]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
cmp ecx, 0xffffffff
jl 0x40ce4f
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 0x40ce4f
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 0x40c87c
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 0x40c8b8
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.0x40c794.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 0x40c8c5
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 0x40ce4f
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 0x40ce4f
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 0x40c9ec
jl 0x40ce4f
cmp ebx, 0xffffffff
jb 0x40ce4f
mov esi, dword [esp + 0x1c]
cmp dword [esi + 0x18c], ebp
jg 0x40ca2b
jl 0x40ca02
cmp dword [esi + 0x188], ebx
jae 0x40ca2b
mov eax, dword [esi + 0x180]
cmp eax, dword [esi + 0x660]
jne 0x40ca2b
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 0x40ce4f
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 0x40ce4f
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 0x40cb24
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.0x40c794.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 0x40ce4f
cmp ecx, 3
jl 0x40cb7b
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 0x40cbad
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 0x40cbc9
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 0x40cbee
cmp ecx, 0x1f
jl 0x40cbd0
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 0x40ce4f
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 0x40cc5f
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 0x40cc7b
and edx, 0xffffffef
or edx, 2
and edx, 0xffffffd3
xor ecx, ecx
mov eax, 1
shl eax, cl
inc ecx
and eax, edx
jne 0x40cc9e
cmp ecx, 0x1f
jl 0x40cc80
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 0x40ce4f
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 0x40ccf8
dec eax
jne 0x40cd83
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 0x40cd83
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 0x40ce4f
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 0x40ce4f
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 0x40ce4f
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 0x40ce4f
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 0x40ce4f
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 0x40ce31
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 0x40ce4f
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 0x40ce6f
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 0x40ce4f
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.004172a0
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 0x40ce4f
push eax
call fcn.0041df70
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 0x40ce4f
push eax
call fcn.0041df50
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.0x40c794.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.0x40c794.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.0x40d22a.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 0x40ce4f
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
cmp eax, 0x80000
jle 0x40d01e
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 0x40d038
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 0x40ce4f
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 0x40ce4f
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 0x40ce4f
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 0x40ce4f
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 0x40d781
je 0x40d767
lea eax, [ecx - 0xd4]
cmp eax, 0x67
ja case.0x40ea35.40296
movzx eax, byte [eax + 0x40edc0]
jmp dword [eax*4 + 0x40ed38]
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 0x40d263
lea edx, [eax + 0x474]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
movzx eax, cx
and ecx, 0xffff0000
test eax, eax
js 0x40ce4f
cmp eax, 2
je 0x40ce4f
cmp eax, 3
je 0x40ce4f
cmp eax, 8
jge 0x40ce4f
cmp ecx, 0x7ffff
ja 0x40ce4f
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 0x40ce4f
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 0x40ce4f
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.0x40c794.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 0x40ce4f
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.0x40c794.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.0x40c794.91
mov byte [eax + 0x251], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
call fcn.004169e0
test al, al
je case.0x40d22a.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.0x40c794.91
mov byte [eax + 0x212], cl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
call fcn.00416de0
test al, al
je case.0x40d22a.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 0x40d457
mov eax, 0x200000
jmp 0x40d461
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 0x40ce4f
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 0x40ce4f
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 0x40ce4f
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 0x40ce4f
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 0x40ce4f
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 0x40ce4f
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 0x40d74b
mov esi, dword [esp + 0x1c]
cmp dword [esi + 0x734], edi
jne case.0x40c794.91
call fcn.0041e320
mov dword [esi + 0x734], eax
test eax, eax
jne case.0x40c794.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.0041e2d0
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 0x40e12b
je case.0x40d7ac.10179
add ecx, 0xffffd8ee
cmp ecx, 0xe4
ja case.0x40ea35.40296
movzx eax, byte [ecx + 0x40ef0c]
jmp dword [eax*4 + 0x40ee28]
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x5a4
push eax
call fcn.0040c6f0
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.0040c6f0
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.0040c6f0
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 0x40d8cc
mov edx, dword [esi + 0x188]
mov eax, edx
mov ecx, dword [esi + 0x18c]
and eax, ecx
cmp eax, 0xffffffff
je 0x40d8cc
test ecx, ecx
jl 0x40d89f
jg 0x40d89f
test edx, edx
jb 0x40d89f
test ecx, ecx
jg 0x40d89f
jl 0x40d859
cmp edx, 0xffffffff
ja 0x40d89f
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 0x40d886
mov dword [esp + 0x14], edx
jmp 0x40d88f
mov ecx, 1
mov dword [esp + 0x14], edi
push ecx
call dword [section..data]
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x40d8a6
mov edi, 0x1b
jmp 0x40d8de
mov eax, dword [esi + 0x188]
or eax, dword [esi + 0x18c]
je 0x40d8c4
push dword [esi + 0x188]
push ebp
push ebx
call fcn.0043b9d0
add esp, 0xc
mov dword [esi + 0x660], ebx
jmp 0x40d8de
lea eax, [esi + 0x660]
push ebp
push eax
call fcn.0040c6f0
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 0x40d986
cmp byte [eax], 0
jne 0x40d986
call fcn.0041ee10
mov esi, eax
test esi, esi
jne 0x40d960
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.0040c6f0
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.0040c6f0
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 0x40d9f7
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.0040c6f0
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.0040c6f0
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.0040c6f0
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.0040c6f0
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 0x40db4b
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.0040c6f0
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.0040f270
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.0040c6f0
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.0040c6f0
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.0040c6f0
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.0040c6f0
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 0x40db85
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x5e0
push eax
call fcn.0040c6f0
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.0040c6f0
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.0040c6f0
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.0040c6f0
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.0x40c794.91
call fcn.004024a0
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.0040c6f0
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.0040c6f0
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.0040c6f0
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.0040c6f0
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.0040c6f0
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.0x40c794.91
cmp byte [esi], 0
je case.0x40c794.91
mov ebx, dword [esp + 0x1c]
push esi
lea eax, [ebx + 0x5d0]
push eax
call fcn.0040c6f0
mov edi, eax
add esp, 8
test edi, edi
jne case.0x40c794.91
push esi
push ebx
call fcn.00417290
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.0040c6f0
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.0x40d22a.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.0x40d22a.244
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x59c
push eax
call fcn.0040c6f0
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.0040c6f0
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.0x40d22a.244
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x58c
push eax
call fcn.0040c6f0
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.0040c6f0
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.0040c6f0
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 0x40e027
push 2
push 1
push esi
call fcn.0041f130
add esp, 0xc
cmp dword [esi + 0x6c], 2
jne 0x40dff8
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 0x40e00c
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.0041f170
add esp, 8
mov dword [esi + 0x78], edi
test ebx, ebx
je 0x40e036
cmp dword [ebx], 0x7e117a1e
jne 0x40e036
mov dword [esi + 0x78], ebx
cmp dword [esi + 0x78], edi
je case.0x40c794.91
push 2
push 1
push esi
call fcn.0041f130
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 0x40e06f
add eax, 0x50
mov dword [esi + 0x68], eax
mov dword [esi + 0x6c], 2
mov eax, dword [esi + 0x78]
cmp dword [eax + 0x68], edi
je 0x40e08c
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.0041f170
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.0040c6f0
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
cmp ecx, 0x4e2b
jg 0x40e5e1
je 0x40e5a2
add ecx, 0xffffd804
cmp ecx, 0x4d
ja case.0x40ea35.40296
movzx eax, byte [ecx + 0x40f070]
jmp dword [eax*4 + 0x40eff4]
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x5a8
push eax
call fcn.0040c6f0
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
call fcn.00417310
test al, al
je case.0x40e153.10240
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x5ac
push eax
call fcn.0040c6f0
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
call fcn.00417310
test al, al
je case.0x40e153.10240
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x5b0
push eax
call fcn.0040c6f0
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.0040c6f0
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.0040c6f0
add esp, 8
mov edi, eax
cmp dword [esi], 0
je case.0x40c794.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.00413f10
mov edi, eax
add esp, 0xc
test edi, edi
jne case.0x40c794.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.0040c6f0
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.0040c6f0
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.0040c6f0
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.0040c6f0
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.0040c6f0
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.0040c6f0
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.0040c6f0
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.0x40d22a.244
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x5a0
push eax
call fcn.0040c6f0
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.0040c6f0
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.0x40d22a.244
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x590
push eax
call fcn.0040c6f0
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.0040c6f0
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.0040c6f0
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.0040c6f0
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.0040c6f0
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.0040c6f0
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 0x40e546
call fcn.0041e320
mov dword [esi + 0x734], eax
test eax, eax
je 0x40d73e
mov eax, dword [esp + 0x24]
mov ebx, dword [eax]
lea eax, [esi + 0x640]
push ebx
push eax
call fcn.0040c6f0
mov edi, eax
add esp, 8
test edi, edi
jne 0x40eb4f
test ebx, ebx
je case.0x40c794.91
push ebx
push dword [esi + 0x734]
push esi
call fcn.0041e370
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 0x40e5d0
mov byte [ecx + 0x6f5], al
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [ecx + 0x198], fcn.00442126
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 0x40e7e3
je 0x40e7c9
add ecx, 0xffffb1d4
cmp ecx, 0xcf
ja case.0x40ea35.40296
movzx eax, byte [ecx + 0x40f0fc]
jmp dword [eax*4 + 0x40f0c0]
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 0x40e6bf
mov byte [ecx + 0x6f4], al
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [ecx + 0x1a4], fcn.004429f8
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.0x40d22a.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 0x40e986
je 0x40e951
cmp ecx, 0x75a3
jg 0x40e8c3
je 0x40e88c
add ecx, 0xffffb0c5
cmp ecx, 0x1d
ja case.0x40ea35.40296
movzx eax, byte [ecx + 0x40f1e0]
jmp dword [eax*4 + 0x40f1cc]
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 0x40e8a9
jl 0x40ce4f
cmp ecx, 0xffffffff
jb 0x40ce4f
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 0x40e91a
dec ecx
je 0x40e8e5
sub ecx, 3
jne case.0x40ea35.40296
mov eax, dword [esp + 0x24]
mov ebx, dword [eax]
mov ebp, dword [eax + 4]
jmp 0x40c9d8
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
test edx, edx
jg 0x40e900
jl 0x40ce4f
test ecx, ecx
jb 0x40ce4f
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 0x40e937
jl 0x40ce4f
cmp ecx, 0xffffffff
jb 0x40ce4f
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 0x40e96c
jl 0x40ce4f
test ecx, ecx
jb 0x40ce4f
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 0x40ea1f
je 0x40e9fd
sub ecx, 0x75c2
je 0x40e9c8
sub ecx, 0x7c
jne case.0x40ea35.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 0x40e9e3
jl 0x40ce4f
test ecx, ecx
jb 0x40ce4f
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.0040c660
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.0x40ea35.40296
movzx eax, byte [ecx + 0x40f220]
jmp dword [eax*4 + 0x40f200]
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x66c
push eax
call fcn.0040c660
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.0040c660
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.0040c660
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.0x40e153.10240
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x680
push eax
call fcn.0040c660
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.0x40e153.10240
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x20]
add eax, 0x684
push eax
call fcn.0040c660
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.0040c660
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.0040c660
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