Function at 0x401510
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 0x4023f0
je 0x4023cc
lea ecx, [eax - 3]
cmp ecx, 0xcc
ja case.0x404355.40296
movzx ecx, byte [ecx + 0x4045a0]
jmp dword [ecx*4 + 0x404450]
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 0xffffffff
jl 0x401df5
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x978], 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 0x401df5
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0xb50], 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 + 0xc04], 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 + 0xc08], 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 + 0xbfc], 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 + 0xbe8], 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 + 0xbd0], eax
cmp eax, ebx
je 0x401648
or dword [ecx + 0xcd4], 0x10
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
and dword [ecx + 0xcd4], 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 + 0xbf4], eax
cmp eax, ebx
je 0x40168a
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x858], 6
pop ebx
add esp, 0xc
ret
cmp dword [ecx + 0x858], 6
jne case.0x401548.91
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x858], 1
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 + 0xbd4], 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 + 0xbf8], eax
cmp eax, ebx
je 0x401697
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [ecx + 0xbf4], ebx
mov dword [ecx + 0x858], 5
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 + 0xba8], eax
mov eax, dword [esp]
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
cmp eax, 0x20c49b
ja 0x401df5
mov ecx, dword [esp + 0x20]
imul eax, eax, 0x3e8
pop edi
pop esi
pop ebp
mov dword [ecx + 0x668], 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 0x401df5
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x670], 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 0x401df5
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x9b0], 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 + 0xbb0], edx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 3
ja 0x401df5
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x84c], 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
cdq
pop esi
pop ebp
mov dword [ecx + 0x850], eax
mov eax, dword [esp + 4]
mov dword [ecx + 0x854], 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 0x401821
jl 0x401df5
cmp edi, 0xffffffff
jb 0x401df5
mov esi, dword [esp + 0x20]
cmp dword [esi + 0x5fc], ebp
jg 0x401861
jl 0x401837
cmp dword [esi + 0x5f8], edi
jae 0x401861
mov eax, dword [esi + 0x5ec]
cmp eax, dword [esi + 0xafc]
jne 0x401861
mov ecx, dword [esi + 0xafc]
push ecx
call dword [0x58a0c0]
mov dword [esi + 0xafc], ebx
add esp, 4
mov dword [esi + 0x5ec], ebx
mov eax, dword [esp + 0x10]
mov dword [esi + 0x5f8], edi
pop edi
mov dword [esi + 0x5fc], 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 + 0xbf0], 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 + 0xbe0], 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 + 0xbdc], 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 + 0xbe4], edx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 0xffffffff
jl 0x401df5
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x5e4], 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 0x401df5
mov ecx, dword [esp + 0x20]
pop edi
pop esi
and eax, 7
pop ebp
mov dword [ecx + 0x5e8], eax
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 0x401971
pop edi
pop esi
mov dword [eax + 0xbf4], ebx
pop ebp
mov dword [eax + 0x858], 2
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
pop edi
pop esi
pop ebp
mov dword [eax + 0x858], 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 + 0xb98], ecx
mov eax, dword [esp]
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
cmp dword [ecx], ebx
je case.0x401548.91
mov eax, dword [esp + 0x20]
pop edi
pop esi
mov dword [eax + 0xbf8], ebx
mov dword [eax + 0xbf4], ebx
pop ebp
mov dword [eax + 0x858], 1
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, ebx
jl 0x401df5
cmp eax, 3
jl 0x4019f9
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x85c], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, ebx
jne 0x401a2f
mov eax, dword [esp + 0x20]
pop edi
pop esi
mov dword [eax + 0x5d4], 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 + 0xf04], ecx
test al, 0x10
je 0x401a4b
and eax, 0xffffffef
or eax, 2
and eax, 0xffffffdf
xor ecx, ecx
mov esi, 1
shl esi, cl
inc ecx
and esi, eax
jne 0x401a6e
cmp ecx, 0x1f
jl 0x401a50
pop edi
pop esi
pop ebp
mov eax, 4
pop ebx
add esp, 0xc
ret
pop edi
pop esi
pop ebp
mov dword [edx + 0x5d4], 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 + 0xbac], edx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 0xffff
ja 0x401df5
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x5bc], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, ebx
jne 0x401ae8
mov eax, dword [esp + 0x20]
pop edi
pop esi
mov dword [eax + 0x5d8], 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 + 0xf1c], ecx
test al, 0x10
je 0x401b04
and eax, 0xffffffef
or eax, 2
and eax, 0xffffffdf
xor ecx, ecx
lea esp, [esp]
mov esi, 1
shl esi, cl
inc ecx
and esi, eax
jne 0x401b2c
cmp ecx, 0x1f
jl 0x401b10
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 + 0x5d8], 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 0x401df5
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x974], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
sub eax, ebx
je 0x401b8e
dec eax
jne 0x401d1b
mov eax, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [eax + 0xc24], 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 + 0xc24], 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 + 0xc28], 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 + 0xbb8], 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 + 0xbb4], edx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 3
ja 0x401df5
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x998], 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 + 0xbc4], 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 + 0xbc0], 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 + 0xbc8], edx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 2
ja 0x401df5
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x9a0], 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 + 0xbcc], edx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 2
ja 0x401df5
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x99c], 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 0x401d1b
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x9a4], eax
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 0x401df5
mov ecx, dword [esp + 0x20]
pop edi
cdq
pop esi
pop ebp
mov dword [ecx + 0x678], eax
mov eax, dword [esp + 4]
mov dword [ecx + 0x67c], edx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
cmp eax, ebx
jl 0x401df5
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x680], 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 0x401df5
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x684], 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 0x401df5
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x5d0], 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 0x401df5
imul eax, eax, 0x3e8
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x658], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, ebx
jge 0x401dd5
pop edi
pop esi
pop ebp
mov eax, 0x2b
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 0x20c49b
ja 0x401df5
imul eax, eax, 0x3e8
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x65c], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, ebx
jge 0x401e15
pop edi
pop esi
pop ebp
mov eax, 0x2b
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 0xffffffff
jl 0x401df5
mov ecx, dword [esp + 0x20]
pop edi
cdq
pop esi
pop ebp
mov dword [ecx + 0x698], eax
mov eax, dword [esp + 4]
mov dword [ecx + 0x69c], edx
pop ebx
add esp, 0xc
ret
mov esi, dword [esp + 0x20]
mov eax, dword [esi + 0xa70]
push eax
call dword [0x58a0c0]
push esi
mov dword [esi + 0xa70], ebx
call fcn.00407760
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 + 0xb9c], ecx
mov eax, dword [esp]
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
cmp eax, 0xffff
ja 0x401df5
push eax
call fcn.004131c0
mov edx, dword [esp + 0x24]
add esp, 4
pop edi
pop esi
pop ebp
mov word [edx + 0x600], 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 0x401df5
push eax
call fcn.004131e0
mov ecx, dword [esp + 0x24]
add esp, 4
pop edi
pop esi
pop ebp
mov dword [ecx + 0x604], eax
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 + 0x890], eax
mov ecx, dword [ecx + 8]
cmp ecx, ebx
je case.0x401548.91
pop edi
pop esi
pop ebp
mov dword [ecx + 0x4dc], 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 + 0x894], eax
mov ecx, dword [ecx + 8]
cmp ecx, ebx
je case.0x401548.91
pop edi
pop esi
pop ebp
mov dword [ecx + 0x4e0], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [0x58a0d0]
test byte [ecx + 8], 2
je case.0x402417.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 + 0x8cc], edx
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
cmp dword [ecx + 0xe5c], ebx
jne 0x401df5
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 0x80000
jle 0x401fe1
pop edi
pop esi
mov eax, 0x80000
pop ebp
mov dword [ecx + 0x97c], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
cmp eax, 1
jge 0x401ffd
pop edi
pop esi
mov eax, 0x4000
pop ebp
mov dword [ecx + 0x97c], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
cmp eax, 0x400
jge 0x402009
mov eax, 0x400
pop edi
pop esi
pop ebp
mov dword [ecx + 0x97c], 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 + 0xc0c], eax
mov eax, dword [esp]
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
cmp eax, ebx
jl 0x401df5
mov ecx, dword [esp + 0x20]
pop edi
cdq
pop esi
mov dword [ecx + 0x990], eax
mov eax, dword [esp + 8]
pop ebp
mov dword [ecx + 0x994], edx
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
cmp eax, 3
ja 0x401df5
mov edx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [edx + 0x9b4], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
cmp eax, 2
ja 0x401df5
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x98c], 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 + 0xc10], 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 + 0xc14], 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 + 0xc18], edx
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 + 0x89c], eax
mov dword [ecx + 0x924], 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 + 0xc1c], 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 + 0xc20], eax
mov eax, dword [esp]
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
cmp eax, 0x1ff
ja 0x401df5
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x9b8], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 0x1ff
ja 0x401df5
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x9bc], 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 + 0xb1c], 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 + 0xb20], 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 + 0xb24], 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.0x40222b
jmp dword [eax*4 + 0x404670]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
mov eax, 1
pop ebp
mov dword [ecx + 0xb2c], 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 + 0xb2c], 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 + 0xb2c], 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 + 0xb2c], 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 + 0xb2c], 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 + 0xb2c], 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 + 0xb2c], 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 + 0xb2c], 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 + 0xb2c], 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 + 0xb2c], 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 + 0xb2c], 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 + 0xb2c], 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 + 0x1190], 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 + 0x1194], 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 + 0xc30], edx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, ebx
jl 0x401df5
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0xb44], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
cmp eax, 0x2711
jg 0x4029b8
je 0x40299c
lea ecx, [eax - 0xd4]
cmp ecx, 0x4e
ja case.0x404355.40296
movzx edx, byte [ecx + 0x404728]
jmp dword [edx*4 + 0x40469c]
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 + 0xbd8], 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 + 0xb90], eax
mov eax, dword [esp]
add esp, 0xc
ret
mov ecx, dword [esp + 0x20]
lea edx, [ecx + 0x860]
cmp eax, 0x20
je 0x402473
lea edx, [ecx + 0x8e8]
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, eax
and ecx, 0xffff
and eax, 0xffff0000
cmp ecx, 7
ja 0x401df5
cmp eax, 0x7ffff
ja 0x401df5
pop edi
pop esi
pop ebp
mov dword [edx + 4], eax
mov eax, dword [esp + 4]
mov dword [edx], 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 + 0xb94], 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 0x401df5
mov edx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [edx + 0xb54], 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 0x401df5
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 + 0xc6c], ecx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x5dc], eax
test eax, 0xfffffffa
je case.0x401548.91
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, ebx
jl 0x401df5
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x660], 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 + 0xc58], 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 + 0x918], eax
mov ecx, dword [ecx + 8]
cmp ecx, ebx
je case.0x401548.91
pop edi
pop esi
pop ebp
mov dword [ecx + 0x51c], 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 + 0x91c], eax
mov ecx, dword [ecx + 8]
cmp ecx, ebx
je case.0x401548.91
pop edi
pop esi
pop ebp
mov dword [ecx + 0x520], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
call fcn.00407e10
test eax, eax
je case.0x402417.244
mov ecx, dword [esp + 0x28]
xor eax, eax
cmp dword [ecx], ebx
mov ecx, dword [esp + 0x20]
setne al
mov dword [ecx + 0x898], eax
mov ecx, dword [ecx + 8]
cmp ecx, ebx
je case.0x401548.91
pop edi
pop esi
pop ebp
mov dword [ecx + 0x4e4], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
call fcn.00407e20
test eax, eax
je case.0x402417.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 + 0x8d0], edx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, 0x200000
jle 0x402674
mov eax, 0x200000
jmp 0x402680
cmp eax, 0x4000
jge 0x402680
mov eax, 0x4000
mov esi, dword [esp + 0x20]
mov dword [esi + 0x980], eax
mov eax, dword [esi + 0xe60]
push eax
call dword [0x58a0c0]
mov eax, dword [esp + 0x14]
add esp, 4
pop edi
mov dword [esi + 0xe60], ebx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov ecx, dword [esp + 0x20]
mov edx, eax
and edx, 1
mov dword [ecx + 0x8d4], edx
mov edx, eax
shr edx, 1
and edx, 1
mov dword [ecx + 0x8d8], edx
mov edx, eax
shr edx, 2
and edx, 1
mov dword [ecx + 0x8dc], edx
mov edx, eax
pop edi
shr edx, 3
shr eax, 4
and edx, 1
pop esi
and eax, 1
mov dword [ecx + 0x8e0], edx
pop ebp
mov dword [ecx + 0x8e4], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [esp + 0x20]
mov edx, eax
and edx, 1
mov dword [ecx + 0x95c], edx
mov edx, eax
shr edx, 1
and edx, 1
mov dword [ecx + 0x960], edx
mov edx, eax
shr edx, 2
and edx, 1
mov dword [ecx + 0x964], edx
mov edx, eax
pop edi
shr edx, 4
shr eax, 3
and edx, 1
pop esi
and eax, 1
mov dword [ecx + 0x96c], edx
pop ebp
mov dword [ecx + 0x968], 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 + 0xc70], 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 + 0xc2c], 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 + 0xc34], eax
mov eax, dword [esp]
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
cmp eax, ebx
jl 0x401df5
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0xb48], 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 0x401df5
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0xb4c], 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 + 0xc3c], 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 + 0xc40], 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 + 0xc44], 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 + 0xc48], 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 + 0xc4c], edx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, ebx
jl 0x401df5
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x664], 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 + 0xc50], 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 + 0xc60], edx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
cmp eax, ebx
jl 0x401df5
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0xb6c], 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 0x401df5
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x66c], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov esi, dword [esp + 0x20]
cmp dword [esi + 0xc98], ebx
jne 0x402972
call fcn.00413630
mov dword [esi + 0xc98], eax
cmp eax, ebx
je 0x402d77
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
push eax
mov eax, dword [esi + 0xc98]
push eax
call fcn.00413670
add esp, 8
mov dword [esp + 0x10], eax
cmp eax, ebx
je case.0x401548.91
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 + 0x5c0], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
cmp eax, 0x27f4
jg 0x4038e6
je 0x4038ca
add eax, 0xffffd8ee
cmp eax, 0xde
ja case.0x404355.40296
movzx ecx, byte [eax + 0x4048a0]
jmp dword [ecx*4 + 0x404778]
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
push eax
add ecx, 0xa44
push ecx
call fcn.00401340
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, 0xa58
push ecx
call fcn.00401340
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, 0xa54
push ecx
call fcn.00401340
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, 0xa14
push ecx
call fcn.00401340
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 ebp, dword [edx]
mov esi, dword [esp + 0x20]
cmp ebp, ebx
je 0x402b37
mov ecx, dword [esi + 0x5f8]
mov eax, dword [esi + 0x5fc]
mov edx, ecx
and edx, eax
cmp edx, 0xffffffff
je 0x402b37
cmp eax, ebx
jl 0x402b06
jg 0x402b06
cmp ecx, ebx
jb 0x402b06
cmp eax, ebx
jg 0x402b06
jl 0x402abf
cmp ecx, 0xffffffff
ja 0x402b06
mov eax, dword [esi + 0xafc]
push eax
call dword [0x58a0c0]
mov dword [esi + 0xafc], ebx
mov eax, dword [esi + 0x5f8]
mov ecx, dword [esi + 0x5fc]
mov edx, eax
add esp, 4
or edx, ecx
je 0x402aed
mov dword [esp + 0x18], ecx
jmp 0x402af6
mov eax, 1
mov dword [esp + 0x18], ebx
push eax
call dword [0x58a0bc]
mov edi, eax
add esp, 4
cmp edi, ebx
jne 0x402b10
mov dword [esp + 0x10], 0x1b
jmp 0x402b4b
mov eax, dword [esi + 0x5f8]
or eax, dword [esi + 0x5fc]
je 0x402b2f
mov ecx, dword [esi + 0x5f8]
push ecx
push ebp
push edi
call fcn.00504b40
add esp, 0xc
mov dword [esi + 0xafc], edi
jmp 0x402b4b
lea eax, [esi + 0xafc]
push ebp
push eax
call fcn.00401340
add esp, 8
mov dword [esp + 0x10], eax
mov edx, dword [esi + 0xafc]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x5ec], edx
mov dword [esi + 0x858], 2
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 + 0x5ec], ecx
mov edx, dword [esi + 0xafc]
push edx
call dword [0x58a0c0]
mov eax, dword [esp + 0x14]
add esp, 4
mov dword [esi + 0xafc], ebx
pop edi
mov dword [esi + 0x858], 2
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
cmp eax, ebx
je 0x402c01
cmp byte [eax], bl
jne 0x402c01
call fcn.00418da0
mov esi, eax
cmp esi, ebx
jne 0x402bd6
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, 0x9e8
push esi
push ecx
call fcn.00401340
push esi
mov dword [esp + 0x1c], eax
call dword [0x58a0c0]
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, 0x9e8
push edx
call fcn.00401340
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 + 0xbf4], ebx
pop ebp
mov dword [eax + 0x6a8], ecx
mov dword [eax + 0x858], 3
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov esi, dword [esp + 0x20]
cmp dword [esi + 0xc8c], ebx
je 0x402c75
mov edx, dword [esi + 0xc7c]
push edx
call dword [0x58a0c0]
add esp, 4
mov dword [esi + 0xc7c], ebx
mov dword [esi + 0xc8c], ebx
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
push ecx
lea edi, [esi + 0xa24]
push edi
call fcn.00401340
mov edx, dword [edi]
add esp, 8
pop edi
mov dword [esi + 0xc7c], 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, 0xa5c
push edx
call fcn.00401340
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]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x6a0], 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 + 0x988], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
push ecx
add edx, 0x9d4
push edx
call fcn.00401340
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 case.0x401548.91
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x402d36
sub eax, esi
cmp eax, 0x7a1200
ja 0x401df5
mov esi, dword [esp + 0x20]
mov ecx, dword [esi + 0xc80]
push edx
push ecx
call fcn.00404c30
add esp, 8
cmp eax, ebx
jne 0x402d84
mov edx, dword [esi + 0xc80]
push edx
call fcn.00404cb0
add esp, 4
mov dword [esi + 0xc80], ebx
pop edi
pop esi
pop ebp
mov eax, 0x1b
pop ebx
add esp, 0xc
ret
pop edi
mov dword [esi + 0xc80], eax
mov eax, dword [esp + 0xc]
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 + 0x9d8]
push edx
call fcn.00401340
mov ecx, dword [esi + 0xc94]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0xb98]
push eax
push ecx
push ebx
push esi
call fcn.00415a80
add esp, 0x18
cmp eax, ebx
jne 0x402dd5
mov dword [esp + 0x10], 0x1b
pop edi
mov dword [esi + 0xc94], 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.0x401548.91
push 0x5442a8
push edi
call fcn.00418b50
add esp, 8
test eax, eax
je 0x402e38
mov esi, dword [esp + 0x20]
push 2
push 2
push esi
call fcn.00418d00
mov eax, dword [esi + 0xc94]
push eax
call fcn.00415e20
push 2
push esi
call fcn.00418d40
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.00418b50
add esp, 8
test eax, eax
je 0x402e7b
mov esi, dword [esp + 0x20]
push 2
push 2
push esi
call fcn.00418d00
mov ecx, dword [esi + 0xc94]
push ecx
call fcn.00415480
push 2
push esi
call fcn.00418d40
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.00418b50
add esp, 8
test eax, eax
je 0x402ea7
mov edx, dword [esp + 0x20]
push ebx
push edx
call fcn.00416150
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.00418b50
add esp, 8
test eax, eax
je 0x402ed2
mov eax, dword [esp + 0x20]
push eax
call fcn.00415ed0
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 + 0xc94], ebx
jne 0x402ef1
push 1
push ebx
push ebx
push esi
call fcn.00415a80
add esp, 0x10
mov dword [esi + 0xc94], eax
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x402ef6
sub eax, edx
cmp eax, 0x7a1200
ja 0x401df5
push edi
call dword [0x58a0c8]
mov edi, eax
add esp, 4
cmp edi, ebx
je 0x402f85
cmp dword [esi + 0xc94], ebx
je 0x402f85
push 2
push 2
push esi
call fcn.00418d00
push 0xb
push edi
push str.Set_Cookie:
call fcn.00418cf0
add esp, 0x18
push 1
push ebx
push ebx
test eax, eax
je 0x402f54
mov edx, dword [esi + 0xc94]
lea ecx, [edi + 0xb]
push ecx
push ebx
push 1
push edx
jmp 0x402f5e
mov eax, dword [esi + 0xc94]
push edi
push ebx
push ebx
push eax
push esi
call fcn.00414520
add esp, 0x20
push 2
push esi
call fcn.00418d40
push edi
call dword [0x58a0c0]
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 [0x58a0c0]
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 edx, dword [ecx]
mov eax, dword [esp + 0x20]
push edx
add eax, 0x9dc
push eax
call fcn.00401340
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, 0xa18
push eax
call fcn.00401340
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 + 0x5c8], 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 + 0x5b8], 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 + 0x9f4]
push esi
call fcn.00401340
add esp, 8
mov dword [esp + 0x10], eax
xor eax, eax
cmp dword [esi], ebx
setne al
mov dword [edi + 0xbbc], 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, 0x9ec
push eax
call fcn.00401340
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, 0x9f0
push eax
call fcn.00401340
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 + 0xa10]
push esi
call fcn.00401340
add esp, 8
mov dword [esp + 0x10], eax
xor eax, eax
cmp dword [esi], ebx
setne al
mov dword [edi + 0xc00], 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 + 0x5c4], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov esi, dword [esp + 0x20]
cmp dword [esi + 0xc88], ebx
je 0x403121
mov ecx, dword [esi + 0xc78]
push ecx
call dword [0x58a0c0]
add esp, 4
mov dword [esi + 0xc78], ebx
mov dword [esi + 0xc88], ebx
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
push eax
lea edi, [esi + 0xa28]
push edi
call fcn.00401340
mov ecx, dword [edi]
add esp, 8
pop edi
mov dword [esi + 0xc78], ecx
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 edi, dword [edx]
lea ebx, [eax + 0xa78]
add eax, 0xa74
push eax
call fcn.00401450
add esp, 4
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, 0xa74
push edx
call fcn.00401340
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, 0xa78
push edx
call fcn.00401340
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, 0xa7c
push edx
call fcn.00401340
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, 0xac8
push edx
call fcn.00401340
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]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x82c], 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 + 0x830], 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 + 0x828], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x844], eax
mov dword [ecx + 0xc84], eax
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 + 0x650], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov edi, dword [ecx]
lea ebx, [eax + 0xa84]
add eax, 0xa80
push eax
call fcn.00401450
add esp, 4
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, 0xa80
push ecx
call fcn.00401340
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, 0xa84
push ecx
call fcn.00401340
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, 0xa88
push ecx
call fcn.00401340
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, 0xa20
push ecx
call fcn.00401340
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 + 0x5b4], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov esi, dword [esp + 0x20]
mov dword [esi + 0x5b0], eax
cmp eax, ebx
jne case.0x401548.91
call fcn.00502a49
add eax, 0x40
pop edi
mov dword [esi + 0x5b0], eax
mov eax, dword [esp + 0xc]
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 + 0x640], 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 + 0x654], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
push ecx
add edx, 0x9c4
push edx
call fcn.00401340
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, 0x9cc
push edx
call fcn.00401340
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, 0x9f8
push edx
call fcn.00401340
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, 0xa08
push edx
call fcn.00401340
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, 0xa00
push edx
call fcn.00401340
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 esi, dword [eax]
cmp esi, ebx
je case.0x401548.91
cmp byte [esi], bl
je case.0x401548.91
mov edi, dword [esp + 0x20]
lea eax, [edi + 0xa70]
push esi
push eax
call fcn.00401340
add esp, 8
mov dword [esp + 0x10], eax
cmp eax, ebx
jne case.0x401548.91
push esi
push edi
call fcn.00407750
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, 0x9e4
push eax
call fcn.00401340
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [0x58a0d0]
test byte [ecx + 8], 8
je case.0x402417.244
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x8b4], 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, 0xa34
push ecx
call fcn.00401340
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [0x58a0d0]
test byte [edx + 8], 1
je case.0x402417.244
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
push ecx
add edx, 0xa2c
push edx
call fcn.00401340
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, 0xa60
push edx
call fcn.00401340
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, 0xa68
push edx
call fcn.00401340
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]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x840], ecx
pop ebx
add esp, 0xc
ret
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
mov edi, dword [eax]
cmp dword [esi + 0x80], ebx
je 0x403683
push 2
push 1
push esi
call fcn.00418d00
add esp, 0xc
cmp dword [esi + 0x74], 2
jne 0x403631
mov dword [esi + 0x70], ebx
mov dword [esi + 0x74], ebx
mov ecx, dword [esi + 0x80]
mov edx, dword [ecx + 0x68]
cmp edx, dword [esi + 0xc94]
jne 0x403648
mov dword [esi + 0xc94], ebx
mov eax, dword [esi + 0x80]
mov ecx, dword [eax + 0x6c]
cmp ecx, dword [esi + 0xe78]
jne 0x40365f
mov dword [esi + 0xe78], ebx
mov edx, dword [esi + 0x80]
mov eax, dword [edx + 4]
mov ecx, dword [esi + 0x80]
dec eax
push 1
push esi
mov dword [ecx + 4], eax
call fcn.00418d40
add esp, 8
mov dword [esi + 0x80], ebx
mov dword [esi + 0x80], edi
cmp edi, ebx
je case.0x401548.91
push 2
push 1
push esi
call fcn.00418d00
mov edx, dword [esi + 0x80]
mov eax, dword [edx + 4]
mov ecx, dword [esi + 0x80]
inc eax
mov dword [ecx + 4], eax
mov eax, dword [esi + 0x80]
add esp, 0xc
test byte [eax], 8
je 0x4036c9
add eax, 0x50
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], 2
mov edx, dword [esi + 0x80]
cmp dword [edx + 0x68], ebx
je 0x4036f2
mov eax, dword [esi + 0xc94]
push eax
call fcn.00415560
mov ecx, dword [esi + 0x80]
mov edx, dword [ecx + 0x68]
add esp, 4
mov dword [esi + 0xc94], edx
mov eax, dword [esi + 0x80]
cmp dword [eax + 0x6c], ebx
je 0x403715
mov edx, dword [eax + 0x70]
mov dword [esi + 0x970], edx
mov eax, dword [esi + 0x80]
mov ecx, dword [eax + 0x6c]
mov dword [esi + 0xe78], ecx
push 1
push esi
call fcn.00418d40
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 + 0x984], 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 + 0x62c], 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 + 0x634], 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 + 0x63c], 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, 0xab0
push ecx
call fcn.00401340
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, 0xab4
push ecx
call fcn.00401340
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 + 0xb28], 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, 0xa8c
push ecx
call fcn.00401340
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, 0xa90
push ecx
call fcn.00401340
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, 0xa94
push ecx
call fcn.00401340
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 + 0x5cc], 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 + 0x128c], 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 + 0xb40], 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 + 0x6a4], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
cmp eax, 0x4e2b
jg 0x403ea2
je 0x403e5c
add eax, 0xffffd80a
cmp eax, 0x4b
ja case.0x404355.40296
movzx edx, byte [eax + 0x404a04]
jmp dword [edx*4 + 0x404980]
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
push ecx
add edx, 0xa48
push edx
call fcn.00401340
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
call fcn.00407e30
test eax, eax
je case.0x40390c.10240
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
push ecx
add edx, 0xa4c
push edx
call fcn.00401340
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
call fcn.00407e30
test eax, eax
je case.0x40390c.10240
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
push ecx
add edx, 0xa50
push edx
call fcn.00401340
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, 0xad0
push edx
call fcn.00401340
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 + 0xb00]
push esi
call fcn.00401340
add esp, 8
mov dword [esp + 0x10], eax
cmp dword [esi], ebx
je case.0x401548.91
mov dword [edi + 0x5d4], 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 + 0x6b0]
push ecx
call fcn.00413040
add esp, 0xc
mov dword [esp + 0x10], eax
cmp eax, ebx
jne case.0x401548.91
pop edi
mov dword [esi + 0xbf4], ebx
mov dword [esi + 0x858], 4
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, 0xa1c
push ecx
call fcn.00401340
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, 0xaa8
push ecx
call fcn.00401340
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, 0xaac
push ecx
call fcn.00401340
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 + 0xb78], 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, 0x9c8
push ecx
call fcn.00401340
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, 0x9d0
push ecx
call fcn.00401340
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, 0x9fc
push ecx
call fcn.00401340
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, 0xa0c
push ecx
call fcn.00401340
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, 0xa04
push ecx
call fcn.00401340
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [0x58a0d0]
mov eax, 4
test byte [edx + 8], al
je 0x402a01
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
push ecx
add edx, 0xa3c
push edx
call fcn.00401340
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [0x58a0d0]
mov eax, 4
test byte [ecx + 8], al
je 0x402a01
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
push eax
add ecx, 0xa40
push ecx
call fcn.00401340
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, 0xa38
push ecx
call fcn.00401340
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [0x58a0d0]
test byte [edx + 8], 1
je case.0x402417.244
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
push ecx
add edx, 0xa30
push edx
call fcn.00401340
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, 0xa64
push edx
call fcn.00401340
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, 0xa6c
push edx
call fcn.00401340
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, 0xaf4
push edx
call fcn.00401340
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]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0xb68], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
push ecx
add edx, 0x9e0
push edx
call fcn.00401340
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, 0xae0
push edx
call fcn.00401340
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 ecx, dword [esp + 0x28]
mov dword [eax + 0xc5c], ebx
mov edx, dword [ecx]
push edx
add eax, 0xacc
push eax
call fcn.00401340
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 ecx, dword [esp + 0x28]
mov dword [eax + 0xc5c], 1
mov edx, dword [ecx]
push edx
add eax, 0xacc
push eax
call fcn.00401340
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]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x848], 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 + 0xad4]
push esi
call fcn.00401340
add esp, 8
xor edx, edx
cmp dword [esi], ebx
mov dword [esp + 0x10], eax
setne dl
mov dword [edi + 0xc64], 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 + 0xb7c], ecx
pop ebx
add esp, 0xc
ret
mov edi, dword [esp + 0x20]
cmp dword [edi + 0xc98], ebx
jne 0x403e16
call fcn.00413630
mov dword [edi + 0xc98], eax
cmp eax, ebx
je 0x402d77
mov eax, dword [esp + 0x28]
mov esi, dword [eax]
lea ecx, [edi + 0xad8]
push esi
push ecx
call fcn.00401340
add esp, 8
mov dword [esp + 0x10], eax
cmp eax, ebx
jne 0x404446
cmp esi, ebx
je case.0x401548.91
mov edx, dword [edi + 0xc98]
push esi
push edx
call fcn.00413660
mov eax, dword [esp + 0x18]
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x608], eax
cmp eax, ebx
jne 0x403e8c
mov eax, dword [esp + 0x10]
pop edi
pop esi
mov dword [ecx + 0xb88], ebx
pop ebp
mov dword [ecx + 0x608], 0x502c7e
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [ecx + 0xb88], 1
pop ebx
add esp, 0xc
ret
cmp eax, 0x4f30
jg 0x404139
je 0x40411d
add eax, 0xffffb1d4
cmp eax, 0xcf
ja case.0x404355.40296
movzx ecx, byte [eax + 0x404a9c]
jmp dword [ecx*4 + 0x404a50]
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 + 0x618], eax
mov eax, dword [esp + 4]
pop ebx
mov dword [ecx + 0xe24], 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 + 0x61c], eax
mov eax, dword [esp + 4]
pop ebx
mov dword [ecx + 0xe24], 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 + 0x620], 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 + 0x60c], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x614], eax
cmp eax, ebx
jne 0x403f8b
mov eax, dword [esp + 0x10]
pop edi
pop esi
mov dword [ecx + 0xb84], ebx
pop ebp
mov dword [ecx + 0x614], 0x5088cf
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [ecx + 0xb84], 1
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 + 0x5f0], 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 + 0x644], 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 + 0x648], 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 + 0x64c], 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 + 0x624], edx
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov ecx, dword [0x58a0d0]
test byte [ecx + 8], 8
je case.0x402417.244
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x8b0], 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 + 0x628], 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 + 0x630], 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 + 0x638], 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 + 0x610], 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 + 0xb34], 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 + 0xb38], 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 + 0xb3c], 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 + 0xb64], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
cmp eax, 0x763e
jg 0x404347
je 0x404322
cmp eax, 0x75a3
jg 0x4041b3
je 0x40417a
cmp eax, 0x4f3b
jne case.0x404355.40296
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [ecx + 0xb80], 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 0x404197
jl 0x401df5
cmp ecx, 0xffffffff
jb 0x401df5
mov edx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [edx + 0x67c], eax
mov eax, dword [esp + 4]
mov dword [edx + 0x678], ecx
pop ebx
add esp, 0xc
ret
add eax, 0xffff8a5c
cmp eax, 0x1e
ja case.0x404355.40296
movzx edx, byte [eax + 0x404b84]
jmp dword [edx*4 + 0x404b6c]
mov eax, dword [esp + 0x28]
mov edi, dword [eax + 4]
mov ebp, dword [eax]
cmp edi, 0xffffffff
jg 0x4041ec
jl 0x401df5
cmp ebp, 0xffffffff
jb 0x401df5
mov esi, dword [esp + 0x20]
cmp dword [esi + 0x5fc], edi
jg 0x40422c
jl 0x404202
cmp dword [esi + 0x5f8], ebp
jae 0x40422c
mov edx, dword [esi + 0x5ec]
cmp edx, dword [esi + 0xafc]
jne 0x40422c
mov eax, dword [esi + 0xafc]
push eax
call dword [0x58a0c0]
mov dword [esi + 0xafc], ebx
add esp, 4
mov dword [esi + 0x5ec], ebx
mov eax, dword [esp + 0x10]
mov dword [esi + 0x5fc], edi
pop edi
mov dword [esi + 0x5f8], 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 0x40425f
jl 0x401df5
cmp ecx, ebx
jb 0x401df5
mov edx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [edx + 0x68c], eax
mov eax, dword [esp + 4]
mov dword [edx + 0x688], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp eax, ebx
jg 0x404296
jl 0x401df5
cmp ecx, ebx
jb 0x401df5
mov edx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [edx + 0x694], eax
mov eax, dword [esp + 4]
mov dword [edx + 0x690], 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 0x4042cf
jl 0x401df5
cmp ecx, 0xffffffff
jb 0x401df5
mov edx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [edx + 0x69c], eax
mov eax, dword [esp + 4]
mov dword [edx + 0x698], ecx
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp eax, ebx
jg 0x404306
jl 0x401df5
cmp ecx, ebx
jb 0x401df5
mov edx, dword [esp + 0x20]
pop edi
pop esi
mov dword [edx + 0x990], ecx
pop ebp
mov dword [edx + 0x994], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov edx, dword [eax]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
mov dword [ecx + 0x850], edx
mov eax, dword [eax + 4]
pop ebp
mov dword [ecx + 0x854], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
add eax, 0xffff629d
cmp eax, 6
ja case.0x404355.40296
jmp dword [eax*4 + 0x404ba4]
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x20]
push edx
add eax, 0xb04
push eax
call fcn.004013b0
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, 0xb08
push eax
call fcn.004013b0
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, 0xb0c
push eax
call fcn.004013b0
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, 0xb10
push eax
call fcn.004013b0
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, 0xb14
push eax
call fcn.004013b0
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, 0xb18
push eax
call fcn.004013b0
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