Function at 0x405c30
Capabilities:
Check for software breakpoints

Disassembly:
sub esp, 0xc
mov eax, dword [esp + 0x14]
push ebx
push ebp
xor ebx, ebx
push esi
push edi
mov dword [esp + 0x10], ebx
cmp eax, 0xd2
jg 0x406b0a
je 0x406aec
lea ecx, [eax - 3]
cmp ecx, 0xcc
ja case.0x408dff.40296
movzx ecx, byte [ecx + 0x409098]
jmp dword [ecx*4 + 0x408f4c]
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 0xffffffff
jge 0x405c87
pop edi
pop esi
pop ebp
mov eax, 0x2b
pop ebx
add esp, 0xc
ret
cmp eax, 0x7fffffff
jle 0x405c93
mov eax, bind
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x514], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, ebx
jl 0x405c7a
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x6e8], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x798], edx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x79c], edx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x790], edx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x780], edx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor eax, eax
cmp dword [edx], ebx
setne al
mov dword [ecx + 0x768], eax
cmp eax, ebx
je 0x405d79
or dword [ecx + 0x844], 0x10
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
and dword [ecx + 0x844], 0xffffffef
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
xor eax, eax
cmp dword [ecx], ebx
mov ecx, dword [esp + 0x20]
setne al
mov dword [ecx + 0x78c], eax
cmp eax, ebx
je 0x405db8
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov byte [ecx + 0x3e9], 5
pop ebx
add esp, 0xc
ret
cmp byte [ecx + 0x3e9], 5
jne case.0x407291.10076
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov byte [ecx + 0x3e9], bl
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x76c], edx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
cmp dword [edx], ebx
je 0x405e1d
pop edi
pop esi
mov dword [eax + 0x78c], ebx
pop ebp
mov byte [eax + 0x3e9], 4
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
pop edi
pop esi
mov byte [eax + 0x3e9], bl
mov eax, dword [esp + 8]
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
xor ecx, ecx
cmp dword [edx], ebx
pop edi
setne cl
pop esi
pop ebp
pop ebx
mov dword [eax + 0x73c], ecx
mov eax, dword [esp]
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
cmp eax, 0x20c49b
ja 0x405c7a
mov edx, dword [esp + 0x20]
imul eax, eax, 0x3e8
pop edi
pop esi
pop ebp
mov dword [edx + 0x21c], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
cmp eax, ebx
jl 0x405c7a
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x228], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 2
ja 0x405c7a
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov byte [ecx + 0x54d], al
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x744], edx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 3
ja 0x405c7a
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov byte [ecx + 0x3e8], al
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
cdq
pop esi
pop ebp
mov dword [ecx + 0x3e0], eax
mov eax, dword [esp + 4]
mov dword [ecx + 0x3e4], edx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
cdq
mov ebp, edx
mov edi, eax
cmp ebp, 0xffffffff
jg 0x405f4d
jl 0x405c7a
cmp edi, 0xffffffff
jb 0x405c7a
mov esi, dword [esp + 0x20]
cmp dword [esi + 0x1a4], ebp
jg 0x405f8d
jl 0x405f63
cmp dword [esi + 0x1a0], edi
jae 0x405f8d
mov eax, dword [esi + 0x198]
cmp eax, dword [esi + 0x68c]
jne 0x405f8d
mov ecx, dword [esi + 0x68c]
push ecx
call dword [0x45d004]
mov dword [esi + 0x68c], ebx
add esp, 4
mov dword [esi + 0x198], ebx
mov eax, dword [esp + 0x10]
mov dword [esi + 0x1a0], edi
pop edi
mov dword [esi + 0x1a4], ebp
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x788], edx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x778], edx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x774], edx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x77c], edx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 0xffffffff
jl 0x405c7a
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x194], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, ebx
jl 0x405c7a
mov ecx, dword [esp + 0x20]
pop edi
pop esi
and al, 7
pop ebp
mov byte [ecx + 0x710], al
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
cmp dword [edx], ebx
je 0x405e1d
pop edi
pop esi
mov dword [eax + 0x78c], ebx
pop ebp
mov byte [eax + 0x3e9], 1
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
xor ecx, ecx
cmp dword [edx], ebx
pop edi
setne cl
pop esi
pop ebp
pop ebx
mov dword [eax + 0x72c], ecx
mov eax, dword [esp]
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
cmp dword [ecx], ebx
je case.0x407291.10076
mov eax, dword [esp + 0x20]
pop edi
pop esi
mov byte [eax + 0x3e9], bl
mov dword [eax + 0x78c], ebx
mov eax, dword [esp + 8]
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, ebx
je 0x40610c
jle 0x4060f6
cmp eax, 2
jle 0x40610c
xor ecx, ecx
cmp eax, ebx
setge cl
pop edi
pop esi
pop ebp
pop ebx
lea eax, [ecx - 1]
and eax, 0x2a
inc eax
add esp, 0xc
ret
mov edx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov byte [edx + 0x3ea], al
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
cmp eax, ebx
jne 0x406142
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x18c], ebx
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x20]
mov ecx, eax
shr ecx, 4
and ecx, 1
mov dword [edx + 0xa88], ecx
test al, 0x10
je 0x40615e
and eax, 0xffffffef
or eax, 2
and eax, 0xffffffdf
xor ecx, ecx
mov esi, 1
shl esi, cl
inc ecx
and esi, eax
jne 0x406181
cmp ecx, 0x1f
jl 0x406163
pop edi
pop esi
pop ebp
mov eax, 4
pop ebx
add esp, 0xc
ret
pop edi
pop esi
pop ebp
mov dword [edx + 0x18c], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x740], edx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 0xffff
ja 0x405c7a
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov word [ecx + 0x508], ax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, ebx
jne 0x4061fc
mov eax, dword [esp + 0x20]
pop edi
pop esi
mov dword [eax + 0x190], ebx
mov eax, dword [esp + 8]
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x20]
mov ecx, eax
shr ecx, 4
and ecx, 1
mov dword [edx + 0xaa0], ecx
test al, 0x10
je 0x406218
and eax, 0xffffffef
or eax, 2
and eax, 0xffffffdf
xor ecx, ecx
lea ecx, [ecx]
mov esi, 1
shl esi, cl
inc ecx
and esi, eax
jne 0x40623c
cmp ecx, 0x1f
jl 0x406220
pop edi
lea eax, [esi + 4]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
pop edi
pop esi
pop ebp
mov dword [edx + 0x190], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 7
ja 0x405c7a
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov byte [ecx + 0x50a], al
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
sub eax, ebx
je 0x40629e
dec eax
jne 0x40642b
mov eax, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [eax + 0x7b4], 1
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x7b4], ebx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x7b8], edx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x74c], edx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x748], edx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 3
ja 0x405c7a
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov byte [ecx + 0x538], al
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x758], edx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x754], edx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x75c], edx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 2
ja 0x405c7a
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov byte [ecx + 0x53a], al
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x760], edx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 2
ja 0x405c7a
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov byte [ecx + 0x539], al
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 2
ja 0x40642b
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov byte [ecx + 0x54c], al
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
pop edi
pop esi
mov dword [esp + 8], 0x2b
mov eax, dword [esp + 8]
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 0xffffffff
jl 0x405c7a
mov ecx, dword [esp + 0x20]
pop edi
cdq
pop esi
pop ebp
mov dword [ecx + 0x230], eax
mov eax, dword [esp + 4]
mov dword [ecx + 0x234], edx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
cmp eax, ebx
jl 0x405c7a
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x238], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, ebx
jl 0x405c7a
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x23c], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 0xffff
ja 0x405c7a
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov word [ecx + 0x188], ax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 0x20c49b
ja 0x405c7a
mov ecx, dword [esp + 0x20]
imul eax, eax, 0x3e8
pop edi
pop esi
pop ebp
mov dword [ecx + 0x210], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 0xffffffff
jbe 0x406516
or eax, 0xffffffff
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x210], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 0x20c49b
ja 0x405c7a
mov ecx, dword [esp + 0x20]
imul eax, eax, 0x3e8
pop edi
pop esi
pop ebp
mov dword [ecx + 0x214], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 0xffffffff
jbe 0x406567
or eax, 0xffffffff
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x214], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 0xffffffff
jl 0x405c7a
mov ecx, dword [esp + 0x20]
pop edi
cdq
pop esi
mov dword [ecx + 0x250], eax
mov eax, dword [esp + 8]
pop ebp
mov dword [ecx + 0x254], edx
pop ebx
add esp, 0xc
ret
mov esi, dword [esp + 0x20]
mov eax, dword [esi + 0x5f8]
push eax
call dword [0x45d004]
push esi
mov dword [esi + 0x5f8], ebx
call fcn.0040e9f0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
xor ecx, ecx
cmp dword [edx], ebx
pop edi
setne cl
pop esi
pop ebp
pop ebx
mov dword [eax + 0x730], ecx
mov eax, dword [esp]
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
cmp eax, 0xffff
ja 0x405c7a
push eax
call fcn.004128b0
mov edx, dword [esp + 0x24]
add esp, 4
pop edi
pop esi
pop ebp
mov word [edx + 0x1a8], ax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
cmp eax, 0xffff
ja 0x405c7a
push eax
call fcn.004128b0
mov ecx, dword [esp + 0x24]
add esp, 4
pop edi
pop esi
pop ebp
mov word [ecx + 0x1aa], ax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor eax, eax
cmp dword [edx], ebx
setne al
mov dword [ecx + 0x428], eax
mov ecx, dword [ecx + 0xc]
cmp ecx, ebx
je case.0x407291.10076
pop edi
pop esi
pop ebp
mov dword [ecx + 0x17c], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
test byte [eax], 3
mov ecx, dword [esp + 0x20]
mov eax, ebx
setne al
mov dword [ecx + 0x42c], eax
mov ecx, dword [ecx + 0xc]
cmp ecx, ebx
je case.0x407291.10076
pop edi
pop esi
pop ebp
mov dword [ecx + 0x180], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov esi, dword [esp + 0x20]
push 2
push esi
call fcn.0040f830
add esp, 8
test eax, eax
je case.0x406b31.244
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp dword [edx], ebx
pop edi
setne cl
mov dword [esi + 0x458], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
cmp dword [ecx + 0x9cc], ebx
jne 0x405c7a
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
cmp eax, 0xa00000
jle 0x406724
pop edi
pop esi
mov eax, 0xa00000
pop ebp
mov dword [ecx + 0x518], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
cmp eax, 1
jge 0x406740
pop edi
pop esi
mov eax, 0x4000
pop ebp
mov dword [ecx + 0x518], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
cmp eax, 0x400
jge 0x40674c
mov eax, 0x400
pop edi
pop esi
pop ebp
mov dword [ecx + 0x518], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
xor ecx, ecx
cmp dword [edx], ebx
pop edi
setne cl
pop esi
pop ebp
pop ebx
mov dword [eax + 0x7a0], ecx
mov eax, dword [esp]
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
cmp eax, ebx
jl 0x405c7a
mov ecx, dword [esp + 0x20]
pop edi
cdq
pop esi
mov dword [ecx + 0x530], eax
mov eax, dword [esp + 8]
pop ebp
mov dword [ecx + 0x534], edx
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 3
ja 0x405c7a
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov byte [ecx + 0x71c], al
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 2
ja 0x405c7a
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov byte [ecx + 0x528], al
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x7a4], edx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x7a8], edx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 2
jg 0x405c7a
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov byte [ecx + 0x71d], al
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor eax, eax
cmp dword [edx], ebx
pop edi
setne al
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x434], eax
mov dword [ecx + 0x4c0], eax
mov eax, dword [esp]
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
xor eax, eax
cmp dword [ecx], ebx
pop edi
sete al
pop esi
pop ebp
pop ebx
mov dword [edx + 0x7ac], eax
mov eax, dword [esp]
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
xor eax, eax
cmp dword [ecx], ebx
pop edi
sete al
pop esi
pop ebp
pop ebx
mov dword [edx + 0x7b0], eax
mov eax, dword [esp]
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
cmp eax, 0x1ff
ja 0x405c7a
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x550], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x6b0], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x6b4], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x6b8], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
dec eax
cmp eax, 0xa
ja case.default.0x40694b
jmp dword [eax*4 + 0x409168]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
mov eax, 1
pop ebp
mov dword [ecx + 0x6c4], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
pop edi
pop esi
mov eax, 2
pop ebp
mov dword [ecx + 0x6c4], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
pop edi
pop esi
mov eax, 3
pop ebp
mov dword [ecx + 0x6c4], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
pop edi
pop esi
mov eax, 4
pop ebp
mov dword [ecx + 0x6c4], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
pop edi
pop esi
mov eax, 5
pop ebp
mov dword [ecx + 0x6c4], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
pop edi
pop esi
mov eax, 6
pop ebp
mov dword [ecx + 0x6c4], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
pop edi
pop esi
mov eax, 7
pop ebp
mov dword [ecx + 0x6c4], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
pop edi
pop esi
mov eax, 8
pop ebp
mov dword [ecx + 0x6c4], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
pop edi
pop esi
mov eax, 9
pop ebp
mov dword [ecx + 0x6c4], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
pop edi
pop esi
mov eax, 0xa
pop ebp
mov dword [ecx + 0x6c4], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
pop edi
pop esi
mov eax, 0xb
pop ebp
mov dword [ecx + 0x6c4], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
pop edi
pop esi
xor eax, eax
pop ebp
mov dword [ecx + 0x6c4], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0xd70], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0xd74], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x764], edx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov al, byte [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
and al, 3
pop ebp
mov byte [ecx + 0x6dc], al
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
cmp eax, 0x2711
jg 0x407269
je 0x40724d
lea ecx, [eax - 0xd4]
cmp ecx, 0x6e
ja case.0x408dff.40296
movzx edx, byte [ecx + 0x409240]
jmp dword [edx*4 + 0x409194]
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
cmp eax, 0xffffffff
jl 0x405c7a
cmp eax, 0x7fffffff
jle 0x406b53
mov eax, bind
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x510], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x770], edx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x724], edx
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
lea edx, [ecx + 0x3ec]
cmp eax, 0x20
je 0x406bc0
lea edx, [ecx + 0x478]
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov eax, ecx
and eax, 0xffff
and ecx, 0xffff0000
cmp eax, ebx
jl 0x405c7a
cmp eax, 2
je 0x405c7a
cmp eax, 3
je 0x405c7a
cmp eax, 8
jge 0x405c7a
cmp ecx, 0x7ffff
ja 0x405c7a
pop edi
pop esi
pop ebp
mov byte [edx + 0x38], al
mov eax, dword [esp + 4]
mov dword [edx + 0x34], ecx
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x20]
pop edi
pop esi
and edx, 1
pop ebp
mov dword [eax + 0x728], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
cmp eax, ebx
jl 0x405c7a
mov edx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [edx + 0x6ec], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
cmp eax, 1
jg 0x405c7a
mov edx, dword [esp + 0x20]
xor ecx, ecx
cmp eax, ebx
mov eax, dword [esp + 0x10]
setne cl
pop edi
pop esi
pop ebp
pop ebx
mov dword [edx + 0x7f8], ecx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x6bc], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov al, byte [eax]
mov ecx, dword [esp + 0x20]
mov byte [ecx + 0x50b], al
test al, 0xfa
je case.0x407291.10076
pop edi
pop esi
mov dword [esp + 8], 4
mov eax, dword [esp + 8]
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 0xffffffff
jbe 0x406cd9
or eax, 0xffffffff
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x53c], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x7dc], edx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x7ec], edx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor eax, eax
cmp dword [edx], ebx
setne al
mov dword [ecx + 0x4b4], eax
mov ecx, dword [ecx + 0xc]
cmp ecx, ebx
je case.0x407291.10076
pop edi
pop esi
pop ebp
mov dword [ecx + 0x1c8], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
test byte [eax], 3
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
mov ecx, ebx
setne cl
pop edi
pop esi
pop ebp
pop ebx
mov dword [edx + 0x7f0], ecx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
test byte [eax], 3
mov ecx, dword [esp + 0x20]
mov eax, ebx
setne al
mov dword [ecx + 0x4b8], eax
mov ecx, dword [ecx + 0xc]
cmp ecx, ebx
je case.0x407291.10076
pop edi
pop esi
pop ebp
mov dword [ecx + 0x1cc], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
call fcn.0040f070
test eax, eax
je case.0x406b31.244
mov ecx, dword [esp + 0x28]
xor eax, eax
cmp dword [ecx], ebx
mov ecx, dword [esp + 0x20]
setne al
mov dword [ecx + 0x430], eax
mov ecx, dword [ecx + 0xc]
cmp ecx, ebx
je case.0x407291.10076
pop edi
pop esi
pop ebp
mov dword [ecx + 0x184], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
call fcn.0040f070
test eax, eax
je case.0x406b31.244
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x7f4], edx
add esp, 0xc
ret
mov esi, dword [esp + 0x20]
push esi
call fcn.0040f080
add esp, 4
test eax, eax
je case.0x406b31.244
mov eax, dword [esp + 0x28]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
mov dword [esi + 0x45c], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
cmp eax, 0x200000
jle 0x406e6b
mov eax, 0x200000
jmp 0x406e77
cmp eax, 0x4000
jge 0x406e77
mov eax, 0x4000
mov esi, dword [esp + 0x20]
mov dword [esi + 0x51c], eax
mov edx, dword [esi + 0x9d0]
push edx
call dword [0x45d004]
mov eax, dword [esp + 0x14]
add esp, 4
pop edi
mov dword [esi + 0x9d0], ebx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov byte [ecx + 0x41c], al
mov edx, eax
and edx, 1
mov dword [ecx + 0x460], edx
mov edx, eax
shr edx, 1
and edx, 1
mov dword [ecx + 0x464], edx
mov edx, eax
shr edx, 2
and edx, 1
mov dword [ecx + 0x468], edx
mov edx, eax
shr edx, 3
and edx, 1
mov dword [ecx + 0x46c], edx
mov edx, eax
pop edi
shr edx, 4
shr eax, 5
and edx, 1
pop esi
and eax, 1
mov dword [ecx + 0x470], edx
pop ebp
mov dword [ecx + 0x474], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov byte [ecx + 0x4a8], al
mov edx, eax
and edx, 1
mov dword [ecx + 0x4ec], edx
mov edx, eax
shr edx, 1
and edx, 1
mov dword [ecx + 0x4f0], edx
mov edx, eax
shr edx, 2
and edx, 1
mov dword [ecx + 0x4f4], edx
mov edx, eax
shr edx, 3
and edx, 1
mov dword [ecx + 0x4f8], edx
mov edx, eax
pop edi
shr edx, 4
shr eax, 5
and edx, 1
pop esi
and eax, 1
mov dword [ecx + 0x4fc], edx
pop ebp
mov dword [ecx + 0x500], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
xor eax, eax
cmp dword [ecx], ebx
pop edi
setne al
pop esi
pop ebp
pop ebx
mov dword [edx + 0x718], eax
mov eax, dword [esp]
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
xor eax, eax
cmp dword [ecx], ebx
pop edi
setne al
pop esi
pop ebp
pop ebx
mov dword [edx + 0x7bc], eax
mov eax, dword [esp]
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
xor eax, eax
cmp dword [ecx], ebx
pop edi
setne al
pop esi
pop ebp
pop ebx
mov dword [edx + 0x7c0], eax
mov eax, dword [esp]
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
cmp eax, ebx
jl 0x405c7a
cmp eax, 0x7fffffff
jle 0x406ff1
mov eax, bind
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x6e0], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, ebx
jl 0x405c7a
cmp eax, 0x7fffffff
jle 0x407021
mov eax, bind
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x6e4], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x7c8], edx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x7cc], edx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x7d0], edx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x7d4], edx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 0xffffffff
jbe 0x4070c9
or eax, 0xffffffff
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x218], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x7d8], edx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x7e4], edx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, ebx
jl 0x405c7a
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x6f8], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, ebx
jl 0x405c7a
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x220], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, ebx
jl 0x405c7a
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x224], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
test byte [edx], 1
je 0x4071c6
mov esi, dword [esp + 0x20]
cmp dword [esi + 0x804], ebx
jne case.0x407291.10076
call fcn.004124f0
mov dword [esi + 0x804], eax
cmp eax, ebx
jne case.0x407291.10076
pop edi
pop esi
pop ebp
mov eax, 0x1b
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x20]
add eax, 0x804
push eax
call fcn.00412520
mov eax, dword [esp + 0x14]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov esi, dword [esp + 0x20]
cmp dword [esi + 0x808], ebx
jne 0x407203
call fcn.0040be90
mov dword [esi + 0x808], eax
cmp eax, ebx
je 0x407595
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov edx, dword [esi + 0x808]
push eax
push edx
call fcn.0040bed0
add esp, 8
mov dword [esp + 0x10], eax
cmp eax, ebx
je case.0x407291.10076
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
xor eax, eax
cmp dword [ecx], ebx
pop edi
setne al
pop esi
pop ebp
pop ebx
mov dword [edx + 0x738], eax
mov eax, dword [esp]
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x17c], ecx
pop ebx
add esp, 0xc
ret
cmp eax, 0x27f4
jg 0x408184
je 0x408168
add eax, 0xffffd8ee
cmp eax, 0xde
ja case.0x408dff.40296
movzx eax, byte [eax + 0x4093d4]
jmp dword [eax*4 + 0x4092b0]
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x20]
push edx
add eax, 0x5d4
push eax
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x20]
push edx
add eax, 0x5a4
push eax
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov ebp, dword [ecx]
mov esi, dword [esp + 0x20]
cmp ebp, ebx
je 0x40739a
mov ecx, dword [esi + 0x1a0]
mov eax, dword [esi + 0x1a4]
mov edx, ecx
and edx, eax
cmp edx, 0xffffffff
je 0x40739a
cmp eax, ebx
jl 0x407369
jg 0x407369
cmp ecx, ebx
jb 0x407369
cmp eax, ebx
jg 0x407369
jl 0x407322
cmp ecx, 0xffffffff
ja 0x407369
mov eax, dword [esi + 0x68c]
push eax
call dword [0x45d004]
mov dword [esi + 0x68c], ebx
mov eax, dword [esi + 0x1a0]
mov ecx, dword [esi + 0x1a4]
mov edx, eax
add esp, 4
or edx, ecx
je 0x407350
mov dword [esp + 0x18], ecx
jmp 0x407359
mov eax, 1
mov dword [esp + 0x18], ebx
push eax
call dword [section..data]
mov edi, eax
add esp, 4
cmp edi, ebx
jne 0x407373
mov dword [esp + 0x10], 0x1b
jmp 0x4073ae
mov eax, dword [esi + 0x1a0]
or eax, dword [esi + 0x1a4]
je 0x407392
mov ecx, dword [esi + 0x1a0]
push ecx
push ebp
push edi
call sub.MSVCR100.dll_memcpy
add esp, 0xc
mov dword [esi + 0x68c], edi
jmp 0x4073ae
lea eax, [esi + 0x68c]
push ebp
push eax
call fcn.004059b0
add esp, 8
mov dword [esp + 0x10], eax
mov edx, dword [esi + 0x68c]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x198], edx
mov byte [esi + 0x3e9], 1
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov esi, dword [esp + 0x20]
mov dword [esi + 0x198], ecx
mov edx, dword [esi + 0x68c]
push edx
call dword [0x45d004]
mov eax, dword [esp + 0x14]
add esp, 4
mov dword [esi + 0x68c], ebx
pop edi
mov byte [esi + 0x3e9], 1
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
cmp eax, ebx
je 0x40745e
cmp byte [eax], bl
jne 0x40745e
call fcn.004122f0
mov esi, eax
cmp esi, ebx
jne 0x407433
pop edi
pop esi
mov dword [esp + 8], 0x1b
mov eax, dword [esp + 8]
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
add ecx, 0x578
push esi
push ecx
call fcn.004059b0
push esi
mov dword [esp + 0x1c], eax
call dword [0x45d004]
mov eax, dword [esp + 0x1c]
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x20]
push eax
add edx, 0x578
push edx
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov eax, dword [esp + 0x20]
pop edi
pop esi
mov dword [eax + 0x78c], ebx
pop ebp
mov dword [eax + 0x25c], ecx
mov byte [eax + 0x3e9], 2
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov esi, dword [esp + 0x20]
cmp dword [esi + 0xebc], ebx
je 0x4074cf
mov edx, dword [esi + 0xdd8]
push edx
call dword [0x45d004]
add esp, 4
mov dword [esi + 0xdd8], ebx
mov dword [esi + 0xebc], ebx
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
push ecx
lea edi, [esi + 0x5b4]
push edi
call fcn.004059b0
mov edx, dword [edi]
add esp, 8
pop edi
mov dword [esi + 0xdd8], edx
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
push ecx
add edx, 0x5e4
push edx
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
push ecx
add edx, 0x564
push edx
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov edx, dword [eax]
cmp edx, ebx
je 0x4075b4
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x407554
sub eax, esi
cmp eax, 0x7a1200
ja 0x405c7a
mov esi, dword [esp + 0x20]
mov ecx, dword [esi + 0x1f0]
push edx
push ecx
call fcn.00412210
add esp, 8
cmp eax, ebx
jne 0x4075a2
mov edx, dword [esi + 0x1f0]
push edx
call fcn.00412290
add esp, 4
mov dword [esi + 0x1f0], ebx
pop edi
pop esi
pop ebp
mov eax, 0x1b
pop ebx
add esp, 0xc
ret
pop edi
mov dword [esi + 0x1f0], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov esi, dword [esp + 0x20]
mov eax, dword [esi + 0x1f0]
push eax
call fcn.00412290
mov eax, dword [esi + 0x78]
add esp, 4
mov dword [esi + 0x1f0], ebx
cmp eax, ebx
je 0x4075d9
cmp dword [eax + 0x68], ebx
jne 0x4075f4
mov ecx, dword [esi + 0x800]
push ecx
call fcn.00411e10
mov edx, dword [esi + 0x800]
push edx
call fcn.00410790
add esp, 8
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x800], ebx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov esi, dword [esp + 0x20]
push ecx
lea edx, [esi + 0x568]
push edx
call fcn.004059b0
mov ecx, dword [esi + 0x800]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x72c]
push eax
push ecx
push ebx
push esi
call fcn.00411a30
add esp, 0x18
cmp eax, ebx
jne 0x407645
mov dword [esp + 0x10], 0x1b
pop edi
mov dword [esi + 0x800], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov edi, dword [edx]
cmp edi, ebx
je case.0x407291.10076
push 0x44e5a4
push edi
call fcn.0040b820
add esp, 8
test eax, eax
je 0x4076a8
mov esi, dword [esp + 0x20]
push 2
push 2
push esi
call fcn.00412150
mov eax, dword [esi + 0x800]
push eax
call fcn.00411e10
push 2
push esi
call fcn.00412190
mov eax, dword [esp + 0x28]
add esp, 0x18
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
push str.SESS
push edi
call fcn.0040b820
add esp, 8
test eax, eax
je 0x4076eb
mov esi, dword [esp + 0x20]
push 2
push 2
push esi
call fcn.00412150
mov ecx, dword [esi + 0x800]
push ecx
call fcn.004106b0
push 2
push esi
call fcn.00412190
mov eax, dword [esp + 0x28]
add esp, 0x18
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
push str.FLUSH
push edi
call fcn.0040b820
add esp, 8
test eax, eax
je 0x407717
mov edx, dword [esp + 0x20]
push ebx
push edx
call fcn.00410af0
mov eax, dword [esp + 0x18]
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
push str.RELOAD
push edi
call fcn.0040b820
add esp, 8
test eax, eax
je 0x407742
mov eax, dword [esp + 0x20]
push eax
call fcn.00411ee0
mov eax, dword [esp + 0x14]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov esi, dword [esp + 0x20]
cmp dword [esi + 0x800], ebx
jne 0x407761
push 1
push ebx
push ebx
push esi
call fcn.00411a30
add esp, 0x10
mov dword [esi + 0x800], eax
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x407766
sub eax, edx
cmp eax, 0x7a1200
ja 0x405c7a
push edi
call dword [0x45d00c]
mov edi, eax
add esp, 4
cmp edi, ebx
je 0x4077f5
cmp dword [esi + 0x800], ebx
je 0x4077f5
push 2
push 2
push esi
call fcn.00412150
push 0xb
push str.Set_Cookie:
push edi
call fcn.0040b8c0
add esp, 0x18
push 1
push ebx
push ebx
test eax, eax
je 0x4077c4
mov edx, dword [esi + 0x800]
lea ecx, [edi + 0xb]
push ecx
push ebx
push 1
push edx
jmp 0x4077ce
mov eax, dword [esi + 0x800]
push edi
push ebx
push ebx
push eax
push esi
call fcn.00410d20
add esp, 0x20
push 2
push esi
call fcn.00412190
push edi
call dword [0x45d004]
mov eax, dword [esp + 0x1c]
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
push edi
mov dword [esp + 0x14], 0x1b
call dword [0x45d004]
mov eax, dword [esp + 0x14]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x524], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x258], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x20]
push edx
add eax, 0x56c
push eax
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x20]
push edx
add eax, 0x5a8
push eax
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x184], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x178], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov edi, dword [esp + 0x20]
push edx
lea esi, [edi + 0x584]
push esi
call fcn.004059b0
add esp, 8
mov dword [esp + 0x10], eax
xor eax, eax
cmp dword [esi], ebx
setne al
mov dword [edi + 0x750], eax
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x20]
push edx
add eax, 0x57c
push eax
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x20]
push edx
add eax, 0x580
push eax
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov edi, dword [esp + 0x20]
push edx
lea esi, [edi + 0x5a0]
push esi
call fcn.004059b0
add esp, 8
mov dword [esp + 0x10], eax
xor eax, eax
cmp dword [esi], ebx
setne al
mov dword [edi + 0x794], eax
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x544], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x548], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x540], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x180], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov esi, dword [esp + 0x20]
cmp dword [esi + 0xeb8], ebx
je 0x407a1d
mov ecx, dword [esi + 0xdd4]
push ecx
call dword [0x45d004]
add esp, 4
mov dword [esi + 0xdd4], ebx
mov dword [esi + 0xeb8], ebx
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
push eax
lea edi, [esi + 0x5b8]
push edi
call fcn.004059b0
mov ecx, dword [edi]
add esp, 8
pop edi
mov dword [esi + 0xdd4], ecx
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x20]
lea edx, [eax + 0x600]
lea ebx, [eax + 0x5fc]
mov eax, dword [esp + 0x28]
mov edi, dword [eax]
push edx
call fcn.00405ab0
add esp, 4
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x20]
push edx
add eax, 0x5fc
push eax
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x20]
push edx
add eax, 0x600
push eax
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x20]
push edx
add eax, 0x604
push eax
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x20]
push edx
add eax, 0x654
push eax
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x3d4], eax
mov dword [ecx + 0xddc], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x208], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x20]
lea edx, [eax + 0x60c]
lea ebx, [eax + 0x608]
jmp 0x407a57
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x20]
push edx
add eax, 0x608
push eax
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x20]
push edx
add eax, 0x60c
push eax
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x20]
push edx
add eax, 0x610
push eax
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x20]
push edx
add eax, 0x5b0
push eax
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x174], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov esi, dword [esp + 0x20]
mov dword [esi + 0x170], eax
cmp eax, ebx
jne case.0x407291.10076
call dword [sym.imp.MSVCR100.dll___iob_func]
add eax, 0x40
pop edi
mov dword [esi + 0x170], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x1ec], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x20c], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
push eax
add ecx, 0x554
push ecx
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
push eax
add ecx, 0x55c
push ecx
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
push eax
add ecx, 0x588
push ecx
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
push eax
add ecx, 0x598
push ecx
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
push eax
add ecx, 0x590
push ecx
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov esi, dword [edx]
cmp esi, ebx
je case.0x407291.10076
cmp byte [esi], bl
je case.0x407291.10076
mov edi, dword [esp + 0x20]
lea eax, [edi + 0x5f8]
push esi
push eax
call fcn.004059b0
add esp, 8
mov dword [esp + 0x10], eax
cmp eax, ebx
jne case.0x407291.10076
push esi
push edi
call fcn.0040e9e0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
push ecx
add edx, 0x574
push edx
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov esi, dword [esp + 0x20]
push 8
push esi
call fcn.0040f830
add esp, 8
test eax, eax
je case.0x406b31.244
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x440], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
push eax
add ecx, 0x5c4
push ecx
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov esi, dword [esp + 0x20]
push 1
push esi
call fcn.0040f830
add esp, 8
test eax, eax
je case.0x406b31.244
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
push eax
add esi, 0x5bc
push esi
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x20]
push edx
add eax, 0x5e8
push eax
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x20]
push edx
add eax, 0x5f0
push eax
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x3d0], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov edi, dword [ecx]
cmp dword [esi + 0x78], ebx
je 0x407f14
push 2
push 1
push esi
call fcn.00412150
add esp, 0xc
cmp dword [esi + 0x6c], 2
jne 0x407ec0
mov dword [esi + 0x68], ebx
mov dword [esi + 0x6c], ebx
mov eax, dword [esi + 0x78]
mov edx, dword [eax + 0x68]
cmp edx, dword [esi + 0x800]
jne 0x407ed4
mov dword [esi + 0x800], ebx
mov eax, dword [eax + 0x6c]
cmp eax, dword [esi + 0x804]
jne 0x407ee5
mov dword [esi + 0x804], ebx
mov ecx, dword [esi + 0x78]
mov edx, dword [ecx + 0x70]
cmp edx, dword [esi + 0x9f0]
jne 0x407ef9
mov dword [esi + 0x9f0], ebx
mov eax, dword [esi + 0x78]
mov ecx, dword [eax + 8]
mov edx, dword [esi + 0x78]
dec ecx
push 1
push esi
mov dword [edx + 8], ecx
call fcn.00412190
add esp, 8
mov dword [esi + 0x78], ebx
cmp edi, ebx
je 0x407f23
cmp dword [edi], 0x7e117a1e
jne 0x407f23
mov dword [esi + 0x78], edi
cmp dword [esi + 0x78], ebx
je case.0x407291.10076
push 2
push 1
push esi
call fcn.00412150
mov eax, dword [esi + 0x78]
mov ecx, dword [eax + 8]
mov edx, dword [esi + 0x78]
inc ecx
mov dword [edx + 8], ecx
mov eax, dword [esi + 0x78]
add esp, 0xc
test byte [eax + 4], 8
je 0x407f5c
add eax, 0x50
mov dword [esi + 0x68], eax
mov dword [esi + 0x6c], 2
mov eax, dword [esi + 0x78]
cmp dword [eax + 0x68], ebx
je 0x407f7f
mov eax, dword [esi + 0x800]
push eax
call fcn.00410790
mov eax, dword [esi + 0x78]
mov ecx, dword [eax + 0x68]
add esp, 4
mov dword [esi + 0x800], ecx
cmp dword [eax + 0x6c], ebx
je 0x407f9b
lea edi, [esi + 0x804]
push edi
call fcn.00412520
mov edx, dword [esi + 0x78]
mov eax, dword [edx + 0x6c]
add esp, 4
mov dword [edi], eax
mov eax, dword [esi + 0x78]
cmp dword [eax + 0x70], ebx
je 0x407fb8
mov ecx, dword [eax + 0x74]
mov dword [esi + 0x50c], ecx
mov edx, dword [esi + 0x78]
mov eax, dword [edx + 0x70]
mov dword [esi + 0x9f0], eax
push 1
push esi
call fcn.00412190
mov eax, dword [esp + 0x18]
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x520], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x1d0], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x1d8], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x1e0], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x20]
push edx
add eax, 0x63c
push eax
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x20]
push edx
add eax, 0x640
push eax
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x714], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x20]
push edx
add eax, 0x614
push eax
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x20]
push edx
add eax, 0x618
push eax
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x20]
push edx
add eax, 0x61c
push eax
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x6c0], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x6d8], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x6d4], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
pop edi
pop esi
pop ebp
mov dword [eax + 0x504], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
cmp eax, 0x4e2b
jg 0x4088e6
je 0x4088b7
add eax, 0xffffd80a
cmp eax, 0x59
ja case.0x408dff.40296
movzx ecx, byte [eax + 0x409550]
jmp dword [ecx*4 + 0x4094b4]
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
push eax
add ecx, 0x5d8
push ecx
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov esi, dword [esp + 0x20]
push 0x20
push esi
call fcn.0040f830
add esp, 8
test eax, eax
je case.0x406b31.239
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
push eax
add esi, 0x5dc
push esi
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov esi, dword [esp + 0x20]
push 0x20
push esi
call fcn.0040f830
add esp, 8
test eax, eax
je case.0x406b31.239
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
push edx
add esi, 0x5e0
push esi
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
push ecx
add edx, 0x65c
push edx
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edi, dword [esp + 0x20]
push ecx
lea esi, [edi + 0x684]
push esi
call fcn.004059b0
add esp, 8
mov dword [esp + 0x10], eax
cmp dword [esi], ebx
je case.0x407291.10076
mov dword [edi + 0x18c], 0x80
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov esi, dword [esp + 0x20]
push ebx
push eax
lea ecx, [esi + 0x260]
push ecx
call fcn.0040e0f0
add esp, 0xc
mov dword [esp + 0x10], eax
cmp eax, ebx
jne case.0x407291.10076
pop edi
mov dword [esi + 0x78c], ebx
mov byte [esi + 0x3e9], 3
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
push eax
add ecx, 0x5ac
push ecx
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
push eax
add ecx, 0x634
push ecx
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
push eax
add ecx, 0x638
push ecx
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x704], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
push eax
add ecx, 0x558
push ecx
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
push eax
add ecx, 0x560
push ecx
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
push eax
add ecx, 0x58c
push ecx
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
push eax
add ecx, 0x59c
push ecx
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
push eax
add ecx, 0x594
push ecx
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov esi, dword [esp + 0x20]
push 4
push esi
call fcn.0040f830
add esp, 8
test eax, eax
je case.0x406b31.244
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
push eax
add esi, 0x5cc
push esi
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov esi, dword [esp + 0x20]
push 4
push esi
call fcn.0040f830
add esp, 8
test eax, eax
je case.0x406b31.244
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
push edx
add esi, 0x5d0
push esi
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
push ecx
add edx, 0x5c8
push edx
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov esi, dword [esp + 0x20]
push 1
push esi
call fcn.0040f830
add esp, 8
test eax, eax
je case.0x406b31.244
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
push ecx
add esi, 0x5c0
push esi
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
push eax
add ecx, 0x5ec
push ecx
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
push eax
add ecx, 0x5f4
push ecx
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
push eax
add ecx, 0x680
push ecx
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x6f4], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
lea ecx, [esp + 0x24]
push ecx
call fcn.00405b80
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, ebx
jne 0x408f42
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [edx + 0x6b4], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
lea edx, [esp + 0x14]
push edx
call fcn.00405b80
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, ebx
jne 0x408f42
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
pop edi
pop esi
pop ebp
mov dword [eax + 0x6b8], ecx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
push eax
add ecx, 0x570
push ecx
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
push eax
add ecx, 0x66c
push ecx
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
mov dword [eax + 0x7e0], ebx
mov ecx, dword [edx]
push ecx
add eax, 0x658
push eax
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
mov dword [eax + 0x7e0], 1
mov ecx, dword [edx]
push ecx
add eax, 0x658
push eax
call fcn.004059b0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, ebx
je 0x4086bc
cmp dword [eax], 0xc0dedbad
jne case.0x407291.10076
pop edi
pop esi
pop ebp
mov eax, 4
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x3d8], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edi, dword [esp + 0x20]
push ecx
lea esi, [edi + 0x660]
push esi
call fcn.004059b0
add esp, 8
xor edx, edx
cmp dword [esi], ebx
mov dword [esp + 0x10], eax
setne dl
mov dword [edi + 0x7e8], edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x708], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x1fc], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x204], ecx
pop ebx
add esp, 0xc
ret
mov esi, dword [esp + 0x20]
cmp dword [esi + 0x804], ebx
lea ebp, [esi + 0x804]
jne 0x40878e
call fcn.004124f0
mov dword [ebp], eax
cmp eax, ebx
je 0x407595
mov eax, dword [esp + 0x28]
mov edi, dword [eax]
cmp edi, ebx
je 0x4087fc
lea ecx, [esi + 0x668]
push edi
push ecx
call fcn.004059b0
add esp, 8
mov dword [esp + 0x10], eax
cmp eax, ebx
jne 0x408f42
mov edx, dword [esi + 0x1f4]
push edi
push edx
call fcn.00412210
add esp, 8
cmp eax, ebx
jne 0x4087ea
mov eax, dword [esi + 0x1f4]
push eax
call fcn.00412290
add esp, 4
pop edi
mov dword [esi + 0x1f4], ebx
pop esi
pop ebp
mov eax, 0x1b
pop ebx
add esp, 0xc
ret
pop edi
mov dword [esi + 0x1f4], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [esi + 0x1f4]
push ecx
call fcn.00412290
mov dword [esi + 0x1f4], ebx
mov esi, dword [esi + 0x78]
add esp, 4
cmp esi, ebx
je 0x408821
cmp dword [esi + 0x6c], ebx
jne case.0x407291.10076
push ebp
call fcn.00412520
mov eax, dword [esp + 0x14]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [esp + 0x20]
cmp dword [edi + 0x808], ebx
jne 0x408855
call fcn.0040be90
mov dword [edi + 0x808], eax
cmp eax, ebx
je 0x407595
mov edx, dword [esp + 0x28]
mov esi, dword [edx]
lea eax, [edi + 0x664]
push esi
push eax
call fcn.004059b0
add esp, 8
mov dword [esp + 0x10], eax
cmp eax, ebx
jne 0x408f42
cmp esi, ebx
je case.0x407291.10076
mov ecx, dword [edi + 0x808]
push esi
push ecx
call fcn.0040bec0
mov eax, dword [esp + 0x18]
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x1e8], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x1ac], eax
cmp eax, ebx
jne case.0x407291.10076
mov eax, dword [sym.imp.MSVCR100.dll_fwrite]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x1ac], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
cmp eax, 0x4f30
jg 0x408b2e
je 0x408b12
add eax, 0xffffb1d4
cmp eax, 0xcf
ja case.0x408dff.40296
movzx ecx, byte [eax + 0x4095ec]
jmp dword [ecx*4 + 0x4095ac]
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp eax, ebx
setne dl
pop edi
pop esi
pop ebp
mov dword [ecx + 0x1bc], eax
mov eax, dword [esp + 4]
pop ebx
mov dword [ecx + 0x994], edx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp eax, ebx
setne dl
pop edi
pop esi
pop ebp
mov dword [ecx + 0x1c0], eax
mov eax, dword [esp + 4]
pop ebx
mov dword [ecx + 0x994], edx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x1c4], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x1b0], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x1b8], eax
cmp eax, ebx
jne 0x4089d1
mov edx, dword [sym.imp.MSVCR100.dll_fread]
mov eax, dword [esp + 0x10]
pop edi
pop esi
mov dword [ecx + 0x720], ebx
pop ebp
mov dword [ecx + 0x1b8], edx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x720], 1
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x19c], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x1c8], ecx
pop ebx
add esp, 0xc
ret
mov esi, dword [esp + 0x20]
push 8
push esi
call fcn.0040f830
add esp, 8
test eax, eax
je case.0x406b31.244
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x43c], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x1cc], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x1d4], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x1dc], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x1b4], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x6c8], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x6cc], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x6d0], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x6f0], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
cmp eax, 0x75c1
jg 0x408d4c
je 0x408d15
cmp eax, 0x75a3
jg 0x408c15
je 0x408bdc
add eax, 0xffffb0c5
cmp eax, 0x1d
ja case.0x408dff.40296
movzx edx, byte [eax + 0x4096d0]
jmp dword [edx*4 + 0x4096bc]
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x70c], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x1f8], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x200], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x1e4], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
jg 0x408bf9
jl 0x405c7a
cmp ecx, 0xffffffff
jb 0x405c7a
mov edx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [edx + 0x234], eax
mov eax, dword [esp + 4]
mov dword [edx + 0x230], ecx
pop ebx
add esp, 0xc
ret
sub eax, 0x75a4
je 0x408cdc
dec eax
je 0x408ca5
sub eax, 3
jne case.0x408dff.40296
mov eax, dword [esp + 0x28]
mov edi, dword [eax + 4]
mov ebp, dword [eax]
cmp edi, 0xffffffff
jg 0x408c4d
jl 0x405c7a
cmp ebp, 0xffffffff
jb 0x405c7a
mov esi, dword [esp + 0x20]
cmp dword [esi + 0x1a4], edi
jg 0x408c8d
jl 0x408c63
cmp dword [esi + 0x1a0], ebp
jae 0x408c8d
mov edx, dword [esi + 0x198]
cmp edx, dword [esi + 0x68c]
jne 0x408c8d
mov eax, dword [esi + 0x68c]
push eax
call dword [0x45d004]
mov dword [esi + 0x68c], ebx
add esp, 4
mov dword [esi + 0x198], ebx
mov eax, dword [esp + 0x10]
mov dword [esi + 0x1a4], edi
pop edi
mov dword [esi + 0x1a0], ebp
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp eax, ebx
jg 0x408cc0
jl 0x405c7a
cmp ecx, ebx
jb 0x405c7a
mov edx, dword [esp + 0x20]
pop edi
pop esi
mov dword [edx + 0x530], ecx
pop ebp
mov dword [edx + 0x534], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
jg 0x408cf9
jl 0x405c7a
cmp ecx, 0xffffffff
jb 0x405c7a
mov edx, dword [esp + 0x20]
pop edi
pop esi
mov dword [edx + 0x250], ecx
pop ebp
mov dword [edx + 0x254], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp eax, ebx
jg 0x408d30
jl 0x405c7a
cmp ecx, ebx
jb 0x405c7a
mov edx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [edx + 0x244], eax
mov eax, dword [esp + 4]
mov dword [edx + 0x240], ecx
pop ebx
add esp, 0xc
ret
cmp eax, 0x9d63
jg 0x408dea
je 0x408dc5
sub eax, 0x75c2
je 0x408d8e
sub eax, 0x7c
jne case.0x408dff.40296
mov eax, dword [esp + 0x28]
mov edx, dword [eax]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
mov dword [ecx + 0x3e0], edx
mov eax, dword [eax + 4]
pop ebp
mov dword [ecx + 0x3e4], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp eax, ebx
jg 0x408da9
jl 0x405c7a
cmp ecx, ebx
jb 0x405c7a
mov edx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [edx + 0x24c], eax
mov eax, dword [esp + 4]
mov dword [edx + 0x248], ecx
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x20]
push edx
add eax, 0x690
push eax
call fcn.00405a10
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
add eax, 0xffff629c
cmp eax, 0x12
ja case.0x408dff.40296
movzx ecx, byte [eax + 0x409710]
jmp dword [ecx*4 + 0x4096f0]
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
push eax
add ecx, 0x694
push ecx
call fcn.00405a10
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
push eax
add ecx, 0x698
push ecx
call fcn.00405a10
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
push eax
add ecx, 0x69c
push ecx
call fcn.00405a10
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov esi, dword [esp + 0x20]
push 0x40
push esi
call fcn.0040f830
add esp, 8
test eax, eax
je case.0x406b31.239
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
push eax
add esi, 0x6a8
push esi
call fcn.00405a10
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov esi, dword [esp + 0x20]
push 0x40
push esi
call fcn.0040f830
add esp, 8
test eax, eax
je case.0x406b31.239
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
push edx
add esi, 0x6ac
push esi
call fcn.00405a10
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
push ecx
add edx, 0x6a0
push edx
call fcn.00405a10
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
push ecx
add edx, 0x6a4
push edx
call fcn.00405a10
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov dword [esp + 0x10], 0x30
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret