Function at 0x404c30
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xb4
mov eax, dword [0x419064]
test eax, eax
push ebp
push esi
push edi
je 0x404d06
xor esi, esi
mov edi, edi
mov edi, 0xffffff88
mov dword [esp + 0x44], edi
lea esp, [esp]
fild dword [esp + 0x44]
push 0x78
push 0x80
fadd dword [0x4190b4]
call fcn.0040e1d0
push eax
lea eax, [esp + 0x30]
push esi
push eax
call fcn.004025d0
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x40]
push eax
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
dec eax
je 0x404cbe
dec eax
jne 0x404cdf
mov ecx, dword [0x41cf08]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
push 0
push ecx
push edx
push eax
jmp 0x404cd4
mov edx, dword [0x41cf08]
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x10]
push edx
push eax
push ecx
mov ecx, dword [0x41cf04]
call fcn.0040d080
add edi, 0x78
cmp edi, 0x1e0
mov dword [esp + 0x44], edi
jl 0x404c60
add esi, 0x80
cmp esi, 0x280
jl 0x404c50
jmp 0x404d2c
movzx eax, byte [0x41cfb0]
mov ecx, dword [0x41cf04]
xor edx, edx
mov dh, byte [0x41cfa8]
mov dl, byte [0x41cfac]
shl edx, 8
or edx, eax
push edx
call fcn.0040d0d0
mov eax, dword [0x4190a0]
xor edi, edi
test eax, eax
jle 0x404df2
mov esi, 0x41a7f4
mov eax, dword [esi - 0xc]
test eax, eax
je 0x404de1
cmp dword [esi], 8
jne 0x404de1
fld dword [esi - 0x10]
call fcn.0040e1d0
fld dword [esi - 0x14]
push eax
call fcn.0040e1d0
fld dword [esi - 0x20]
push eax
call fcn.0040e1d0
fld dword [esi - 0x24]
push eax
call fcn.0040e1d0
push eax
lea ecx, [esp + 0x34]
push ecx
call fcn.004025d0
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x40]
push ecx
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle 0x404de1
mov eax, dword [esi + 0x10]
mov edx, dword [esp + 0x14]
imul eax, eax, 0x1e
mov ecx, dword [esp + 0x1c]
add edx, eax
mov dword [esp + 0x14], edx
add ecx, eax
mov eax, dword [0x41cf5c]
lea edx, [esp + 0x14]
push edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x14]
push eax
push ecx
mov ecx, dword [0x41cf04]
push edx
call fcn.0040d080
mov eax, dword [0x4190a0]
inc edi
add esi, 0x38
cmp edi, eax
jl 0x404d40
mov eax, dword [0x4190a0]
xor ebp, ebp
test eax, eax
jle 0x4054e5
mov esi, 0x41a7d4
jmp 0x404e10
mov edi, dword [ebp*4 + 0x41c6d0]
test edi, edi
je 0x4054d4
mov eax, dword [esi + 0x14]
test eax, eax
jne 0x4054d4
mov eax, dword [esi + 0x20]
add eax, 0xfffffffe
cmp eax, 0x15
ja case.0x404e40.10
movzx eax, byte [eax + 0x40741c]
jmp dword [eax*4 + 0x4073fc]
fld dword [esi]
push 0x32
push 0x36
call fcn.0040e1d0
fld dword [esi - 4]
push eax
call fcn.0040e1d0
add eax, 5
push eax
lea ecx, [esp + 0x34]
push ecx
call fcn.004025d0
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x40]
push ecx
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle 0x404ec7
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, edi
imul eax, eax, 0x36
add edx, eax
mov dword [esp + 0x14], edx
add ecx, eax
mov eax, dword [0x41cf30]
lea edx, [esp + 0x14]
push edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x14]
push eax
push ecx
mov ecx, dword [0x41cf04]
push edx
call fcn.0040d080
fld dword [esi]
push 0x32
push 0x36
call fcn.0040e1d0
fld dword [esi - 4]
push eax
call fcn.0040e1d0
add eax, 0x28
push eax
lea eax, [esp + 0x34]
push eax
call fcn.004025d0
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x40]
push eax
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle 0x4054d4
mov eax, dword [ebp*4 + 0x41c6d0]
mov edx, dword [esp + 0x14]
imul eax, eax, 0x36
mov ecx, dword [esp + 0x1c]
add edx, eax
add ecx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], edx
mov edx, dword [0x41cf30]
push edx
push eax
push ecx
jmp 0x4054c9
fld dword [esi]
push 0x32
push 0x36
call fcn.0040e1d0
fld dword [esi - 4]
push eax
call fcn.0040e1d0
jmp 0x40546a
fld dword [esi]
push 0x32
push 0x36
call fcn.0040e1d0
fld dword [esi - 4]
sub eax, 0xa
push eax
call fcn.0040e1d0
sub eax, 0xc
jmp 0x4051d6
fld dword [esi]
push 0x32
push 0x36
call fcn.0040e1d0
fld dword [esi - 4]
push eax
call fcn.0040e1d0
add eax, 0xa
push eax
lea eax, [esp + 0x34]
push eax
call fcn.004025d0
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x40]
push eax
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle 0x405004
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov eax, edi
imul eax, eax, 0x36
add ecx, eax
add edx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], edx
mov edx, dword [0x41cf30]
push edx
push eax
push ecx
mov ecx, dword [0x41cf04]
call fcn.0040d080
fld dword [esi]
push 0x32
push 0x36
call fcn.0040e1d0
fld dword [esi - 4]
push eax
call fcn.0040e1d0
add eax, 0x32
push eax
lea edx, [esp + 0x34]
push edx
call fcn.004025d0
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x40]
push edx
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle 0x40508a
mov eax, dword [ebp*4 + 0x41c6d0]
mov edi, dword [esp + 0x14]
imul eax, eax, 0x36
mov edx, dword [esp + 0x1c]
mov ecx, dword [0x41cf30]
add edx, eax
add edi, eax
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x10]
push ecx
mov ecx, dword [0x41cf04]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x18]
push edx
push eax
mov dword [esp + 0x24], edi
call fcn.0040d080
fld dword [esi]
push 0x32
push 0x36
call fcn.0040e1d0
fld dword [esi - 4]
add eax, 0x1e
push eax
call fcn.0040e1d0
add eax, 0x1e
push eax
lea ecx, [esp + 0x34]
push ecx
call fcn.004025d0
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x40]
push ecx
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle 0x4054d4
mov eax, dword [ebp*4 + 0x41c6d0]
jmp 0x40520c
fld dword [esi]
push 0x32
push 0x36
call fcn.0040e1d0
fld dword [esi - 4]
push eax
call fcn.0040e1d0
sub eax, 0xc
push eax
lea eax, [esp + 0x34]
push eax
call fcn.004025d0
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x40]
push eax
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle 0x405165
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov eax, edi
imul eax, eax, 0x36
add ecx, eax
add edx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], edx
mov edx, dword [0x41cf30]
push edx
push eax
push ecx
mov ecx, dword [0x41cf04]
call fcn.0040d080
fld dword [esi]
push 0x32
push 0x36
call fcn.0040e1d0
fld dword [esi - 4]
add eax, 0x1e
push eax
call fcn.0040e1d0
sub eax, 0xc
push eax
lea edx, [esp + 0x34]
push edx
call fcn.004025d0
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x40]
push edx
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle 0x4054d4
mov eax, dword [ebp*4 + 0x41c6d0]
jmp 0x40549c
fld dword [esi]
push 0x32
push 0x36
call fcn.0040e1d0
fld dword [esi - 4]
push eax
call fcn.0040e1d0
sub eax, 0xf
push eax
lea ecx, [esp + 0x34]
push ecx
call fcn.004025d0
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x40]
push ecx
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle 0x4054d4
mov eax, edi
mov edx, dword [esp + 0x14]
imul eax, eax, 0x36
mov ecx, dword [esp + 0x1c]
add edx, eax
mov dword [esp + 0x14], edx
add ecx, eax
mov eax, dword [0x41cf30]
lea edx, [esp + 0x14]
push edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x14]
push eax
push ecx
push edx
jmp 0x4054c9
fld dword [esi]
push 0x32
push 0x36
call fcn.0040e1d0
fld dword [esi - 4]
push eax
call fcn.0040e1d0
add eax, 0xa
push eax
lea eax, [esp + 0x34]
push eax
call fcn.004025d0
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x40]
push eax
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle 0x4052be
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov eax, edi
imul eax, eax, 0x36
add ecx, eax
add edx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], edx
mov edx, dword [0x41cf30]
push edx
push eax
push ecx
mov ecx, dword [0x41cf04]
call fcn.0040d080
fld dword [esi]
push 0x32
push 0x36
call fcn.0040e1d0
fld dword [esi - 4]
push eax
call fcn.0040e1d0
add eax, 0x64
push eax
lea edx, [esp + 0x34]
push edx
call fcn.004025d0
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x40]
push edx
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle 0x405344
mov eax, dword [ebp*4 + 0x41c6d0]
mov edi, dword [esp + 0x14]
imul eax, eax, 0x36
mov edx, dword [esp + 0x1c]
mov ecx, dword [0x41cf30]
add edx, eax
add edi, eax
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x10]
push ecx
mov ecx, dword [0x41cf04]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x18]
push edx
push eax
mov dword [esp + 0x24], edi
call fcn.0040d080
fld dword [esi]
push 0x32
push 0x36
call fcn.0040e1d0
fld dword [esi - 4]
add eax, 0x14
push eax
call fcn.0040e1d0
add eax, 0x1e
push eax
lea ecx, [esp + 0x34]
push ecx
call fcn.004025d0
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x40]
push ecx
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle 0x4053cc
mov eax, dword [ebp*4 + 0x41c6d0]
mov edx, dword [esp + 0x14]
imul eax, eax, 0x36
mov ecx, dword [esp + 0x1c]
add edx, eax
mov dword [esp + 0x14], edx
add ecx, eax
mov eax, dword [0x41cf30]
lea edx, [esp + 0x14]
push edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x14]
push eax
push ecx
mov ecx, dword [0x41cf04]
push edx
call fcn.0040d080
fld dword [esi]
push 0x32
push 0x36
call fcn.0040e1d0
fld dword [esi - 4]
add eax, 0x1e
push eax
call fcn.0040e1d0
add eax, 0x3c
push eax
lea eax, [esp + 0x34]
push eax
call fcn.004025d0
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x40]
push eax
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle 0x4054d4
mov eax, dword [ebp*4 + 0x41c6d0]
mov edx, dword [esp + 0x14]
imul eax, eax, 0x36
mov ecx, dword [esp + 0x1c]
add edx, eax
add ecx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], edx
mov edx, dword [0x41cf30]
push edx
push eax
push ecx
jmp 0x4054c9
fld dword [esi]
push 0x32
push 0x36
call fcn.0040e1d0
fld dword [esi - 4]
sub eax, 7
push eax
call fcn.0040e1d0
sub eax, 9
lea edx, [esp + 0x30]
push eax
push edx
call fcn.004025d0
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x40]
push edx
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle 0x4054d4
mov eax, edi
mov edi, dword [esp + 0x14]
imul eax, eax, 0x36
mov edx, dword [esp + 0x1c]
mov ecx, dword [0x41cf30]
add edi, eax
add edx, eax
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x14]
push ecx
push edx
mov dword [esp + 0x20], edi
push eax
mov ecx, dword [0x41cf04]
call fcn.0040d080
mov eax, dword [0x4190a0]
inc ebp
add esi, 0x38
cmp ebp, eax
jl 0x404e10
mov ebp, 0x41c5d8
mov esi, 0x41a2dc
nop
mov edi, dword [ebp]
test edi, edi
je 0x405583
mov eax, dword [esi + 0x14]
test eax, eax
jne 0x405583
fld dword [esi]
push 0x32
push 0x36
call fcn.0040e1d0
fld dword [esi - 4]
push eax
call fcn.0040e1d0
push eax
lea ecx, [esp + 0x34]
push ecx
call fcn.004025d0
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x40]
push ecx
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle 0x405583
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, edi
imul eax, eax, 0x36
add edx, eax
mov dword [esp + 0x14], edx
add ecx, eax
mov eax, dword [0x41cf30]
lea edx, [esp + 0x14]
push edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x14]
push eax
push ecx
mov ecx, dword [0x41cf04]
push edx
call fcn.0040d080
add esi, 0x38
add ebp, 4
cmp esi, 0x41a34c
jl 0x4054f0
mov esi, dword [0x41c5d0]
test esi, esi
je 0x40562e
fld dword [0x41c09c]
push 0x4b
push 0x3f
call fcn.0040e1d0
fld dword [0x41c098]
sub eax, 0x1e
push eax
call fcn.0040e1d0
sub eax, 0x1c
push eax
lea eax, [esp + 0x34]
push eax
call fcn.004025d0
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x40]
push eax
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle 0x40562e
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov edx, dword [0x41cf34]
mov eax, esi
imul eax, eax, 0x3f
add ecx, eax
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x10]
add ebp, eax
mov eax, dword [esp + 0x14]
push edx
push eax
push ecx
mov ecx, dword [0x41cf04]
mov dword [esp + 0x2c], ebp
call fcn.0040d080
mov esi, dword [0x41c5d4]
test esi, esi
je 0x4056c7
fld dword [0x41c544]
push 0x4b
push 0x3f
call fcn.0040e1d0
fld dword [0x41c540]
sub eax, 0x1e
push eax
call fcn.0040e1d0
sub eax, 0x1c
push eax
lea edx, [esp + 0x34]
push edx
call fcn.004025d0
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x40]
push edx
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle 0x4056c7
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, esi
imul eax, eax, 0x3f
add ecx, eax
add edx, eax
mov dword [esp + 0x1c], ecx
mov ecx, dword [0x41cf34]
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x10]
push ecx
mov ecx, dword [0x41cf04]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x18]
push edx
push eax
call fcn.0040d080
mov ecx, dword [0x41cff4]
cmp ecx, 0x1e
jg 0x4056d7
mov ecx, 0x1e
mov eax, dword [0x41a2f0]
cmp eax, 2
mov dword [0x41d0cc], ecx
jne 0x405715
mov esi, dword [0x41d0c8]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
inc esi
add edx, eax
cmp esi, edx
mov dword [0x41d0c8], esi
jle 0x405728
xor esi, esi
mov dword [0x41d0c8], esi
jmp 0x405728
test eax, eax
mov esi, 0x3e8
mov dword [0x41d0c8], esi
je 0x4057b7
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp esi, edx
jle 0x4057b7
mov eax, dword [0x41906c]
sub eax, 0
je 0x40576d
dec eax
je 0x40575e
dec eax
jne 0x405782
push 0x28
push 0x28
push 0
push 0x50
lea ecx, [esp + 0x44]
push ecx
jmp 0x40577a
push 0x28
push 0x28
push 0
push 0x28
lea edx, [esp + 0x44]
push edx
jmp 0x40577a
push 0x28
push 0x28
push 0
push 0
lea eax, [esp + 0x44]
push eax
call fcn.004025d0
add esp, 0x14
mov edx, dword [0x41cf0c]
fld dword [0x41a2dc]
lea ecx, [esp + 0x34]
push ecx
push edx
call fcn.0040e1d0
fld dword [0x41a2d8]
push eax
call fcn.0040e1d0
mov ecx, dword [0x41cf04]
push eax
call fcn.0040d080
mov ecx, dword [0x41d0cc]
mov eax, dword [0x41a328]
cmp eax, 2
jne 0x4057ef
mov esi, dword [0x41d0c4]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
inc esi
add edx, eax
cmp esi, edx
mov dword [0x41d0c4], esi
jle 0x405802
xor esi, esi
mov dword [0x41d0c4], esi
jmp 0x405802
test eax, eax
mov esi, 0x3e8
mov dword [0x41d0c4], esi
je 0x40588a
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
cmp esi, edx
jle 0x40588a
mov eax, dword [0x419070]
sub eax, 0
je 0x405847
dec eax
je 0x405838
dec eax
jne 0x40585c
push 0x28
push 0x28
push 0
push 0x50
lea edx, [esp + 0x58]
push edx
jmp 0x405854
push 0x28
push 0x28
push 0
push 0x28
lea eax, [esp + 0x58]
push eax
jmp 0x405854
push 0x28
push 0x28
push 0
push 0
lea ecx, [esp + 0x58]
push ecx
call fcn.004025d0
add esp, 0x14
mov eax, dword [0x41cf10]
fld dword [0x41a314]
lea edx, [esp + 0x48]
push edx
push eax
call fcn.0040e1d0
fld dword [0x41a310]
push eax
call fcn.0040e1d0
mov ecx, dword [0x41cf04]
push eax
call fcn.0040d080
mov esi, 0x41c730
mov ebp, 1
fld dword [esi + 4]
call fcn.0040e1d0
fld dword [esi]
push eax
call fcn.0040e1d0
fld dword [esi - 0xc]
push eax
call fcn.0040e1d0
fld dword [esi - 0x10]
push eax
call fcn.0040e1d0
push eax
lea ecx, [esp + 0x34]
push ecx
call fcn.004025d0
mov eax, dword [esi + 8]
add esp, 0x14
cmp eax, ebp
jne 0x40594f
lea edx, [esp + 0xc]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x2c]
push ecx
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x14
test eax, eax
jle 0x40594f
mov eax, dword [esi + 0x14]
dec eax
je 0x405914
dec eax
jne 0x40594f
mov eax, dword [0x41cf20]
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x14]
push edx
mov edx, dword [esp + 0x10]
push eax
push ecx
push edx
jmp 0x405944
mov eax, dword [esi + 0x24]
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov ecx, dword [0x41cf1c]
lea eax, [eax + eax*4]
add edi, eax
add edx, eax
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x14]
push ecx
push edx
mov dword [esp + 0x20], edi
push eax
mov ecx, dword [0x41cf04]
call fcn.0040d080
add esi, 0x38
cmp esi, 0x41cf10
jl 0x405894
mov esi, 0x419dcc
cmp dword [esi + 4], ebp
jne 0x4059f8
fld dword [esi]
call fcn.0040e1d0
fld dword [esi - 4]
push eax
call fcn.0040e1d0
fld dword [esi - 0x10]
push eax
call fcn.0040e1d0
fld dword [esi - 0x14]
push eax
call fcn.0040e1d0
push eax
lea ecx, [esp + 0x34]
push ecx
call fcn.004025d0
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x40]
push ecx
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle 0x4059f8
mov eax, dword [esi + 0x24]
mov edx, dword [esp + 0x14]
imul eax, eax, 0x1e
mov ecx, dword [esp + 0x1c]
add edx, eax
mov dword [esp + 0x14], edx
add ecx, eax
mov eax, dword [0x41cf24]
lea edx, [esp + 0x14]
push edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x14]
push eax
push ecx
mov ecx, dword [0x41cf04]
push edx
call fcn.0040d080
add esi, 0x5c
cmp esi, 0x41a21c
jl 0x405963
mov esi, 0x41ba74
lea esp, [esp]
cmp dword [esi + 4], ebp
jne 0x405aa9
fld dword [esi]
call fcn.0040e1d0
fld dword [esi - 4]
push eax
call fcn.0040e1d0
fld dword [esi - 0x10]
push eax
call fcn.0040e1d0
fld dword [esi - 0x14]
push eax
call fcn.0040e1d0
push eax
lea eax, [esp + 0x34]
push eax
call fcn.004025d0
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x40]
push eax
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle 0x405aa9
mov eax, dword [esi + 0x24]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
lea eax, [eax + eax*4]
shl eax, 2
add ecx, eax
add edx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], edx
mov edx, dword [0x41cf7c]
push edx
push eax
push ecx
mov ecx, dword [0x41cf04]
call fcn.0040d080
add esi, 0x5c
cmp esi, 0x41be0c
jl 0x405a10
mov eax, dword [0x41c0b0]
test eax, eax
je 0x405aed
mov edx, dword [0x41cf28]
fld dword [0x41c09c]
push 0
push edx
call fcn.0040e1d0
fld dword [0x41c098]
push eax
call fcn.0040e1d0
mov ecx, dword [0x41cf04]
push eax
call fcn.0040d080
mov eax, dword [0x41c558]
test eax, eax
je 0x405b21
mov eax, dword [0x41cf28]
fld dword [0x41c544]
push 0
push eax
call fcn.0040e1d0
fld dword [0x41c540]
push eax
call fcn.0040e1d0
mov ecx, dword [0x41cf04]
push eax
call fcn.0040d080
cmp dword [0x41c5a8], ebp
jne 0x405bc8
fld dword [0x41c5a4]
call fcn.0040e1d0
fld dword [0x41c5a0]
push eax
call fcn.0040e1d0
fld dword [0x41c594]
push eax
call fcn.0040e1d0
fld dword [0x41c590]
push eax
call fcn.0040e1d0
push eax
lea ecx, [esp + 0x34]
push ecx
call fcn.004025d0
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x40]
push ecx
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle 0x405bc8
mov eax, dword [0x41c5b4]
mov edx, dword [esp + 0x14]
imul eax, eax, 0x1e
mov ecx, dword [esp + 0x1c]
add edx, eax
mov dword [esp + 0x14], edx
add ecx, eax
mov eax, dword [0x41cf3c]
lea edx, [esp + 0x14]
push edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x14]
push eax
push ecx
mov ecx, dword [0x41cf04]
push edx
call fcn.0040d080
cmp dword [0x41c5f8], ebp
jne 0x405cf9
fld dword [0x41c5e8]
fcomp dword [0x417280]
fld dword [0x41c5f4]
fnstsw ax
test ah, 1
jne 0x405c7f
call fcn.0040e1d0
fld dword [0x41c5f0]
push eax
call fcn.0040e1d0
fld dword [0x41c5e4]
push eax
call fcn.0040e1d0
fld dword [0x41c5e0]
push eax
call fcn.0040e1d0
push eax
lea eax, [esp + 0x34]
push eax
call fcn.004025d0
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x40]
push eax
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle 0x405cf9
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, 0x50
add edx, eax
add ecx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], edx
mov edx, dword [0x41cf38]
push edx
push eax
push ecx
jmp 0x405cee
call fcn.0040e1d0
fld dword [0x41c5f0]
push eax
call fcn.0040e1d0
fld dword [0x41c5e4]
push eax
call fcn.0040e1d0
fld dword [0x41c5e0]
push eax
call fcn.0040e1d0
push eax
lea edx, [esp + 0x34]
push edx
call fcn.004025d0
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x40]
push edx
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle 0x405cf9
mov ecx, dword [0x41cf38]
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x10]
push ecx
push edx
push eax
mov ecx, dword [0x41cf04]
call fcn.0040d080
mov eax, dword [0x4190a0]
xor edi, edi
test eax, eax
jle 0x4061fd
mov esi, 0x41a7e4
lea ecx, [ecx]
mov eax, dword [esi + 4]
test eax, eax
je case.0x405d2f.8
mov eax, dword [esi + 0x10]
dec eax
cmp eax, 0x16
ja case.0x405d2f.8
movzx ecx, byte [eax + 0x407464]
jmp dword [ecx*4 + 0x407434]
fld dword [esi]
call fcn.0040e1d0
fld dword [esi - 4]
push eax
call fcn.0040e1d0
fld dword [esi - 0x10]
push eax
call fcn.0040e1d0
fld dword [esi - 0x14]
push eax
call fcn.0040e1d0
push eax
lea edx, [esp + 0x34]
push edx
call fcn.004025d0
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x40]
push edx
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle case.0x405d2f.8
mov ecx, dword [0x41cf40]
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x10]
push ecx
push edx
push eax
jmp 0x4061e1
fld dword [esi]
call fcn.0040e1d0
fld dword [esi - 4]
push eax
call fcn.0040e1d0
fld dword [esi - 0x10]
push eax
call fcn.0040e1d0
fld dword [esi - 0x14]
push eax
call fcn.0040e1d0
push eax
lea ecx, [esp + 0x34]
push ecx
call fcn.004025d0
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x40]
push ecx
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle case.0x405d2f.8
mov eax, dword [0x41cf44]
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x14]
push edx
mov edx, dword [esp + 0x10]
push eax
push ecx
push edx
jmp 0x4061e1
fld dword [esi]
call fcn.0040e1d0
fld dword [esi - 4]
push eax
call fcn.0040e1d0
fld dword [esi - 0x10]
push eax
call fcn.0040e1d0
fld dword [esi - 0x14]
push eax
call fcn.0040e1d0
push eax
lea eax, [esp + 0x34]
push eax
call fcn.004025d0
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x40]
push eax
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle case.0x405d2f.8
mov edx, dword [0x41cf48]
jmp 0x4061d1
fld dword [esi]
call fcn.0040e1d0
fld dword [esi - 4]
push eax
call fcn.0040e1d0
fld dword [esi - 0x10]
push eax
call fcn.0040e1d0
fld dword [esi - 0x14]
push eax
call fcn.0040e1d0
push eax
lea edx, [esp + 0x34]
push edx
call fcn.004025d0
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x40]
push edx
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle case.0x405d2f.8
mov ecx, dword [0x41cf4c]
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x10]
push ecx
push edx
push eax
jmp 0x4061e1
fld dword [esi]
call fcn.0040e1d0
fld dword [esi - 4]
push eax
call fcn.0040e1d0
fld dword [esi - 0x10]
push eax
call fcn.0040e1d0
fld dword [esi - 0x14]
push eax
call fcn.0040e1d0
push eax
lea ecx, [esp + 0x34]
push ecx
call fcn.004025d0
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x40]
push ecx
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle case.0x405d2f.8
mov eax, dword [0x41cf50]
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x14]
push edx
mov edx, dword [esp + 0x10]
push eax
push ecx
push edx
jmp 0x4061e1
fld dword [esi]
call fcn.0040e1d0
fld dword [esi - 4]
push eax
call fcn.0040e1d0
fld dword [esi - 0x10]
push eax
call fcn.0040e1d0
fld dword [esi - 0x14]
push eax
call fcn.0040e1d0
push eax
lea edx, [esp + 0x34]
push edx
call fcn.004025d0
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x40]
push edx
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle case.0x405d2f.8
mov ecx, dword [0x41cf58]
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x10]
push ecx
push edx
push eax
jmp 0x4061e1
fld dword [esi]
call fcn.0040e1d0
fld dword [esi - 4]
push eax
call fcn.0040e1d0
fld dword [esi - 0x10]
push eax
call fcn.0040e1d0
fld dword [esi - 0x14]
push eax
call fcn.0040e1d0
push eax
lea ecx, [esp + 0x34]
push ecx
call fcn.004025d0
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x40]
push ecx
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle case.0x405d2f.8
mov eax, dword [0x41cf60]
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x14]
push edx
mov edx, dword [esp + 0x10]
push eax
push ecx
push edx
jmp 0x4061e1
fld dword [esi]
call fcn.0040e1d0
fld dword [esi - 4]
push eax
call fcn.0040e1d0
fld dword [esi - 0x10]
push eax
call fcn.0040e1d0
fld dword [esi - 0x14]
push eax
call fcn.0040e1d0
push eax
lea eax, [esp + 0x34]
push eax
call fcn.004025d0
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x40]
push eax
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle case.0x405d2f.8
mov edx, dword [0x41cf54]
jmp 0x4061d1
fld dword [esi]
call fcn.0040e1d0
fld dword [esi - 4]
push eax
call fcn.0040e1d0
fld dword [esi - 0x10]
push eax
call fcn.0040e1d0
fld dword [esi - 0x14]
push eax
call fcn.0040e1d0
push eax
lea edx, [esp + 0x34]
push edx
call fcn.004025d0
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x40]
push edx
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle case.0x405d2f.8
mov ecx, dword [0x41cf64]
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x10]
push ecx
push edx
push eax
jmp 0x4061e1
fld dword [esi]
call fcn.0040e1d0
fld dword [esi - 4]
push eax
call fcn.0040e1d0
fld dword [esi - 0x10]
push eax
call fcn.0040e1d0
fld dword [esi - 0x14]
push eax
call fcn.0040e1d0
push eax
lea ecx, [esp + 0x34]
push ecx
call fcn.004025d0
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x40]
push ecx
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle case.0x405d2f.8
mov eax, dword [0x41cf68]
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x14]
push edx
mov edx, dword [esp + 0x10]
push eax
push ecx
push edx
jmp 0x4061e1
fld dword [esi]
call fcn.0040e1d0
fld dword [esi - 4]
push eax
call fcn.0040e1d0
fld dword [esi - 0x10]
push eax
call fcn.0040e1d0
fld dword [esi - 0x14]
push eax
call fcn.0040e1d0
push eax
lea eax, [esp + 0x34]
push eax
call fcn.004025d0
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x40]
push eax
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle case.0x405d2f.8
mov edx, dword [0x41cf6c]
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x10]
push edx
push eax
push ecx
mov ecx, dword [0x41cf04]
call fcn.0040d080
mov eax, dword [0x4190a0]
inc edi
add esi, 0x38
cmp edi, eax
jl 0x405d10
mov esi, 0x41ac94
cmp dword [esi - 0x1c], ebp
jne 0x40637a
mov eax, dword [esi - 0x10]
sub eax, 2
je 0x406307
dec eax
je 0x4062eb
dec eax
je 0x40622f
mov edx, dword [0x41cf70]
push 0
push edx
jmp 0x4062f3
fld dword [esi - 0x20]
call fcn.0040e1d0
fld dword [esi - 0x24]
push eax
call fcn.0040e1d0
fld dword [esi - 0x30]
push eax
call fcn.0040e1d0
fld dword [esi - 0x34]
push eax
call fcn.0040e1d0
push eax
lea eax, [esp + 0x34]
push eax
call fcn.004025d0
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x40]
push eax
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle 0x40637a
mov eax, dword [esi]
test eax, eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], 0x14
jle 0x4062bf
cmp eax, 5
jge 0x4062bf
mov edx, dword [esp + 0x14]
lea ecx, [eax + eax*4]
shl ecx, 2
lea edx, [edx + ecx - 0x14]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x1c]
lea ecx, [edx + ecx - 0x14]
mov dword [esp + 0x1c], ecx
cmp eax, 4
jle 0x4062e4
cmp eax, 9
jge 0x4062e4
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
lea eax, [eax + eax*4 - 0x19]
shl eax, 2
add edx, eax
add ecx, eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], ecx
mov eax, dword [0x41cf78]
jmp 0x40635f
mov eax, dword [0x41cf70]
push 0
push eax
fld dword [esi - 0x30]
call fcn.0040e1d0
fld dword [esi - 0x34]
push eax
call fcn.0040e1d0
push eax
jmp 0x40636f
fld dword [esi - 0x20]
call fcn.0040e1d0
fld dword [esi - 0x24]
push eax
call fcn.0040e1d0
fld dword [esi - 0x30]
push eax
call fcn.0040e1d0
fld dword [esi - 0x34]
push eax
call fcn.0040e1d0
push eax
lea ecx, [esp + 0x34]
push ecx
call fcn.004025d0
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x40]
push ecx
push 0x1e0
push 0x280
call fcn.00402ed0
add esp, 0x28
test eax, eax
jle 0x40637a
mov eax, dword [0x41cf74]
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x14]
push edx
mov edx, dword [esp + 0x10]
push eax
push ecx
push edx
mov ecx, dword [0x41cf04]
call fcn.0040d080
add esi, 0x38
cmp esi, 0x41ba94
jl 0x406202
mov eax, dword [0x41cff8]
test eax, eax
je 0x4063b5
mov eax, dword [0x41cf84]
mov ecx, dword [0x41cf04]
push ebp
push 0
push 8
push str.0FPS
push 0x32
push 0xa
push eax
push ecx
call fcn.00402950
add esp, 0x20
mov edx, dword [0x41cf84]
mov eax, dword [0x41cf04]
push ebp
push 0
push 8
push 0x41ac50
push 5
push 0x104
push edx
push eax
call fcn.00402950
mov ecx, dword [0x41cf84]
mov edx, dword [0x41cf04]
push ebp
push 0
push 8
push 0x41c080
push 5
push 0xa
push ecx
push edx
call fcn.00402950
mov eax, dword [0x41cf84]
mov ecx, dword [0x41cf04]
add esp, 0x40
push ebp
push 0
push 8
push 0x41c578
push 5
push 0x1ea
push eax
push ecx
call fcn.00402950
push 0x18
push 0x18
push 0
lea edx, [esp + 0x60]
push 0x18
push edx
call fcn.004025d0
mov ecx, dword [0x41cf14]
add esp, 0x34
lea eax, [esp + 0x34]
push eax
push ecx
mov ecx, dword [0x41cf04]
push 0x1c2
push 0xa
call fcn.0040d080
mov edx, dword [0x41cf84]
mov eax, dword [0x41cf04]
push 0
push ebp
push 8
push 0x419084
push 0x1c7
push 0x23
push edx
push eax
call fcn.00402950
push 0x18
push 0x18
push 0
lea ecx, [esp + 0x60]
push 0x18
push ecx
call fcn.004025d0
mov eax, dword [0x41cf18]
mov ecx, dword [0x41cf04]
add esp, 0x34
lea edx, [esp + 0x34]
push edx
push eax
push 0x1c2
push 0x23a
call fcn.0040d080
push 0
push ebp
push 8
push 0x419088
mov ecx, dword [0x41cf84]
mov edx, dword [0x41cf04]
push 0x1c7
push 0x253
push ecx
push edx
call fcn.00402950
mov eax, dword [0x41cfe0]
add esp, 0x20
xor esi, esi
test eax, eax
jle 0x406516
mov edi, 0x4b
jmp 0x4064f0
mov eax, dword [0x41cf2c]
mov ecx, dword [0x41cf04]
push 0
push eax
push 0x1c5
push edi
call fcn.0040d080
mov eax, dword [0x41cfe0]
inc esi
add edi, 0xf
cmp esi, eax
jl 0x4064f0
mov eax, dword [0x41cfe4]
xor edi, edi
test eax, eax
jle 0x406551
xor esi, esi
mov ecx, dword [0x41cf2c]
push 0
push ecx
mov ecx, dword [0x41cf04]
mov edx, 0x22b
push 0x1c5
sub edx, esi
push edx
call fcn.0040d080
mov eax, dword [0x41cfe4]
inc edi
add esi, 0xf
cmp edi, eax
jl 0x406523
mov ecx, dword [0x41be00]
test ecx, ecx
jle 0x4065a3
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
lea ecx, [esp + 0x5c]
push str.SUPPER__d
push ecx
call fcn.0040e175
mov eax, dword [0x41cf84]
mov ecx, dword [0x41cf04]
push 0
push 0
push 8
lea edx, [esp + 0x70]
push edx
push 0x1b3
push 0xa
push eax
push ecx
call fcn.00402950
add esp, 0x2c
mov ecx, dword [0x41be04]
test ecx, ecx
jle 0x4065f8
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
lea ecx, [esp + 0x5c]
push str.SUPPER__d
push ecx
call fcn.0040e175
mov eax, dword [0x41cf84]
mov ecx, dword [0x41cf04]
push 0
push 0
push 8
lea edx, [esp + 0x70]
push edx
push 0x1b3
push 0x1ea
push eax
push ecx
call fcn.00402950
add esp, 0x2c
cmp dword [0x419a80], ebp
jne case.default.0x406612
mov eax, dword [0x419a8c]
cmp eax, 8
ja case.default.0x406612
jmp dword [eax*4 + 0x40747c]
mov edx, dword [0x41cf8c]
mov eax, dword [0x41cf04]
push 7
push 0xf
push 0x50
push 0xa0
push edx
push eax
call fcn.004027d0
push 0x28
push 0x28
push 0
lea ecx, [esp + 0x58]
push 0x28
push ecx
call fcn.004025d0
mov eax, dword [0x41cf10]
mov ecx, dword [0x41cf04]
add esp, 0x2c
lea edx, [esp + 0x34]
push edx
push eax
push 0x82
push 0xc8
call fcn.0040d080
push 0x1c
push 0xea
push 0
lea ecx, [esp + 0x40]
push 0
push ecx
call fcn.004025d0
mov eax, dword [0x41cf90]
mov ecx, dword [0x41cf04]
add esp, 0x14
lea edx, [esp + 0x34]
push edx
push eax
push 0x5a
push 0xe6
call fcn.0040d080
push 0x10
push 0x9e
push 0
lea ecx, [esp + 0x40]
push 0
push ecx
call fcn.004025d0
mov eax, dword [0x41cf94]
mov ecx, dword [0x41cf04]
add esp, 0x14
lea edx, [esp + 0x34]
push edx
push eax
push 0x82
push 0x104
call fcn.0040d080
push 0x10
push 0x61
push 0
lea ecx, [esp + 0x40]
push 0x9e
push ecx
call fcn.004025d0
mov eax, dword [0x41cf94]
mov ecx, dword [0x41cf04]
add esp, 0x14
lea edx, [esp + 0x34]
push edx
push eax
push 0xa0
push 0x104
call fcn.0040d080
push 0x10
push 0xeb
push 0x10
lea ecx, [esp + 0x40]
push 0
push ecx
call fcn.004025d0
add esp, 0x14
mov eax, dword [0x41cf94]
mov ecx, dword [0x41cf04]
lea edx, [esp + 0x34]
push edx
push eax
push 0xbe
push 0xe6
call fcn.0040d080
push 0x10
push 0x53
push 0x30
lea ecx, [esp + 0x40]
push 0
push ecx
call fcn.004025d0
mov eax, dword [0x41cf94]
mov ecx, dword [0x41cf04]
add esp, 0x14
lea edx, [esp + 0x34]
push edx
push eax
push 0xdc
push 0xb4
call fcn.0040d080
push 0x10
push 0xd1
push 0x20
lea ecx, [esp + 0x40]
push 0
push ecx
call fcn.004025d0
mov eax, dword [0x41cf94]
add esp, 0x14
lea edx, [esp + 0x34]
push edx
push eax
push 0xdc
jmp 0x406c5f
mov ecx, dword [0x41cf8c]
mov edx, dword [0x41cf04]
push 7
push 0xf
push 0x50
push 0xa0
push ecx
push edx
call fcn.004027d0
push 0x10
push 0x82
push 0x30
lea eax, [esp + 0x58]
push 0x53
push eax
call fcn.004025d0
mov edx, dword [0x41cf94]
add esp, 0x2c
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [0x41cf04]
push edx
push 0x5a
push 0x113
call fcn.0040d080
push 0x10
push 0xff
push 0x40
lea eax, [esp + 0x40]
push 0
push eax
call fcn.004025d0
mov edx, dword [0x41cf94]
add esp, 0x14
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [0x41cf04]
push edx
push 0x78
push 0xde
call fcn.0040d080
push 0x10
push 0xff
push 0x50
lea eax, [esp + 0x40]
push 0
push eax
call fcn.004025d0
mov edx, dword [0x41cf94]
add esp, 0x14
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [0x41cf04]
push edx
push 0x8c
push 0xbe
call fcn.0040d080
push 0x10
push 0xff
push 0x60
lea eax, [esp + 0x40]
push 0
push eax
call fcn.004025d0
mov edx, dword [0x41cf94]
add esp, 0x14
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [0x41cf04]
push edx
push 0xaa
push 0xde
call fcn.0040d080
push 0x10
push 0xb5
push 0x70
lea eax, [esp + 0x40]
push 0
push eax
call fcn.004025d0
add esp, 0x14
mov edx, dword [0x41cf94]
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [0x41cf04]
push edx
push 0xbe
push 0xbe
call fcn.0040d080
push 0x10
push 0xec
push 0x80
lea eax, [esp + 0x40]
push 0
push eax
call fcn.004025d0
mov edx, dword [0x41cf94]
add esp, 0x14
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [0x41cf04]
push edx
push 0xdc
push 0xbe
call fcn.0040d080
jmp case.default.0x406612
mov eax, dword [0x41cf8c]
mov ecx, dword [0x41cf04]
push 7
push 0xf
push 0x50
push 0xa0
push eax
push ecx
call fcn.004027d0
push 0x10
push 0x44
push 0x70
lea edx, [esp + 0x58]
push 0xb5
push edx
call fcn.004025d0
mov ecx, dword [0x41cf94]
add esp, 0x2c
lea eax, [esp + 0x34]
push eax
push ecx
mov ecx, dword [0x41cf04]
push 0x5a
push 0x12c
call fcn.0040d080
push 0x10
push 0xff
push 0x90
lea edx, [esp + 0x40]
push 0
push edx
call fcn.004025d0
mov ecx, dword [0x41cf94]
add esp, 0x14
lea eax, [esp + 0x34]
push eax
push ecx
mov ecx, dword [0x41cf04]
push 0x78
push 0xb4
call fcn.0040d080
push 0x10
push 0x3d
push 0xb0
lea edx, [esp + 0x40]
push 0xb7
push edx
call fcn.004025d0
mov ecx, dword [0x41cf94]
add esp, 0x14
lea eax, [esp + 0x34]
push eax
push ecx
mov ecx, dword [0x41cf04]
push 0x78
push 0x1b8
call fcn.0040d080
push 0x10
push 0xef
push 0xa0
lea edx, [esp + 0x40]
push 0
push edx
call fcn.004025d0
mov ecx, dword [0x41cf94]
add esp, 0x14
lea eax, [esp + 0x34]
push eax
push ecx
mov ecx, dword [0x41cf04]
push 0x96
push 0xb4
call fcn.0040d080
push 0x10
push 0xb7
push 0xb0
lea edx, [esp + 0x40]
push 0
push edx
call fcn.004025d0
add esp, 0x14
mov ecx, dword [0x41cf94]
lea eax, [esp + 0x34]
push eax
push ecx
mov ecx, dword [0x41cf04]
push 0xaa
push 0xb4
call fcn.0040d080
push 0x10
push 0xef
push 0xc0
lea edx, [esp + 0x40]
push 0
push edx
call fcn.004025d0
mov ecx, dword [0x41cf94]
add esp, 0x14
lea eax, [esp + 0x34]
push eax
push ecx
mov ecx, dword [0x41cf04]
push 0xc3
push 0xb4
call fcn.0040d080
push 0x10
push 0xb7
push 0xd0
lea edx, [esp + 0x40]
push 0
push edx
call fcn.004025d0
mov ecx, dword [0x41cf94]
add esp, 0x14
lea eax, [esp + 0x34]
push eax
push ecx
mov ecx, dword [0x41cf04]
push 0xd7
push 0xb4
call fcn.0040d080
jmp case.default.0x406612
mov edx, dword [0x41cf8c]
mov eax, dword [0x41cf04]
push 3
push 0xa
push 0x78
push 0xdc
push edx
push eax
call fcn.004027d0
push 0x10
push 0x3c
push 0xd0
lea ecx, [esp + 0x58]
push 0xb7
push ecx
call fcn.004025d0
mov eax, dword [0x41cf94]
mov ecx, dword [0x41cf04]
add esp, 0x2c
lea edx, [esp + 0x34]
push edx
push eax
push 0x82
push 0x13b
call fcn.0040d080
movzx ecx, byte [0x41908c]
push ecx
lea edx, [esp + 0x5c]
push 0x417394
push edx
call fcn.0040e175
mov al, byte [0x41908c]
mov edx, dword [0x41cf04]
mov ecx, dword [0x41cf84]
add esp, 0xc
push 0
push ebp
push 9
cmp al, 9
lea eax, [esp + 0x64]
push eax
push 0x82
jbe 0x406b77
push 0x14f
jmp 0x406b7c
push 0x154
push ecx
push edx
call fcn.00402950
add esp, 0x20
push 0x10
push 0xb9
push 0xe0
lea eax, [esp + 0x40]
push 0
push eax
call fcn.004025d0
mov edx, dword [0x41cf94]
add esp, 0x14
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [0x41cf04]
push edx
push 0xa0
push 0xfa
call fcn.0040d080
jmp case.default.0x406612
mov eax, dword [0x41cf8c]
mov ecx, dword [0x41cf04]
push 3
push 0xa
push 0x78
push 0xdc
push eax
push ecx
mov dword [0x41cfc8], 2
call fcn.004027d0
push 0x10
push 0x46
push 0xe0
lea edx, [esp + 0x58]
push 0xb9
push edx
call fcn.004025d0
mov ecx, dword [0x41cf94]
add esp, 0x2c
lea eax, [esp + 0x34]
push eax
push ecx
mov ecx, dword [0x41cf04]
push 0x82
push 0x12c
call fcn.0040d080
cmp byte [0x41908c], 0xd
push 0x10
lea edx, [esp + 0x38]
push 0x91
jne 0x406c74
push 0xb0
push 0
push edx
call fcn.004025d0
mov ecx, dword [0x41cf98]
add esp, 0x14
lea eax, [esp + 0x34]
push eax
push ecx
push 0xa0
mov ecx, dword [0x41cf04]
push 0x10e
call fcn.0040d080
jmp case.default.0x406612
push 0
push 0
push edx
call fcn.004025d0
mov ecx, dword [0x41cf98]
add esp, 0x14
lea eax, [esp + 0x34]
push eax
push ecx
mov ecx, dword [0x41cf04]
push 0xa0
push 0x10e
call fcn.0040d080
movzx edx, byte [0x41908c]
dec edx
push edx
lea eax, [esp + 0x5c]
push 0x417394
push eax
call fcn.0040e175
mov al, byte [0x41908c]
mov edx, dword [0x41cf84]
add esp, 0xc
push 0
push ebp
push 9
lea ecx, [esp + 0x64]
push ecx
cmp al, 0xa
mov eax, dword [0x41cf04]
push 0xa0
jbe 0x406cf4
push 0x177
push edx
push eax
call fcn.00402950
add esp, 0x20
jmp case.default.0x406612
push 0x17c
push edx
push eax
call fcn.00402950
add esp, 0x20
jmp case.default.0x406612
mov ecx, dword [0x41cf8c]
mov edx, dword [0x41cf04]
push 3
push 0xa
push 0x78
push 0xdc
push ecx
push edx
call fcn.004027d0
push 0x10
push 0x6e
push 0x90
lea eax, [esp + 0x58]
push 0
push eax
call fcn.004025d0
mov edx, dword [0x41cf98]
add esp, 0x2c
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [0x41cf04]
push edx
push 0x82
push 0x118
call fcn.0040d080
movzx eax, byte [0x41908c]
push eax
lea ecx, [esp + 0x5c]
push 0x417394
push ecx
call fcn.0040e175
mov al, byte [0x41908c]
mov ecx, dword [0x41cf04]
add esp, 0xc
push 0
push ebp
push 9
lea edx, [esp + 0x64]
push edx
cmp al, 9
mov eax, dword [0x41cf84]
push 0x81
jbe 0x406da3
push 0x161
jmp 0x406da8
push 0x166
push eax
push ecx
call fcn.00402950
mov edx, dword [0x41cf80]
mov eax, dword [0x41cf04]
add esp, 0x20
push 2
push ebp
push 0xc
push str.GAME_OVER
push 0x93
push 0x118
push edx
push eax
call fcn.00402950
mov eax, dword [0x4190b8]
add esp, 0x20
dec eax
cmp eax, 4
ja case.default.0x406de6
jmp dword [eax*4 + 0x4074a0]
push 0x10
push 0x86
push 0x80
push 0
lea ecx, [esp + 0x44]
push ecx
jmp 0x406e53
push 0x10
push 0x86
push 0x70
push 0
lea edx, [esp + 0x44]
push edx
jmp 0x406e53
push 0x10
push 0x86
push 0x60
jmp 0x406e4c
push 0x10
push 0x86
push 0x50
push 0
lea ecx, [esp + 0x44]
push ecx
jmp 0x406e53
push 0x10
push 0x86
push 0x40
push 0
lea edx, [esp + 0x44]
push edx
jmp 0x406e53
push 0x10
push 0x86
push 0x30
lea eax, [esp + 0x40]
push 0
push eax
call fcn.004025d0
mov edx, dword [0x41cf98]
add esp, 0x14
lea ecx, [esp + 0x34]
push ecx
push edx
push 0xaa
jmp 0x406c5f
mov eax, dword [0x41cf8c]
mov ecx, dword [0x41cf04]
push 7
push 0xf
push 0x50
push 0xaa
push eax
push ecx
call fcn.004027d0
push 0x10
push 0x75
push 0xa0
lea edx, [esp + 0x58]
push 0
push edx
call fcn.004025d0
mov ecx, dword [0x41cf98]
add esp, 0x2c
lea eax, [esp + 0x34]
push eax
push ecx
mov ecx, dword [0x41cf04]
push 0x5a
push 0x122
call fcn.0040d080
mov edx, dword [0x41cf84]
mov eax, dword [0x41cf04]
push 0
push 2
push 8
push 0x417384
push 0x78
push 0xd2
push edx
push eax
call fcn.00402950
mov ecx, dword [0x41cf84]
mov edx, dword [0x41cf04]
push 0
push 2
push 8
push 0x41be0c
push 0x78
push 0xfa
push ecx
push edx
call fcn.00402950
mov eax, dword [0x41cf84]
mov ecx, dword [0x41cf04]
add esp, 0x40
push 0
push 2
push 8
push str...........
push 0x78
push 0x122
push eax
push ecx
call fcn.00402950
mov edx, dword [0x41be10]
push edx
lea eax, [esp + 0x7c]
push 0x417394
push eax
call fcn.0040e175
mov edx, dword [0x41cf84]
mov eax, dword [0x41cf04]
push 0
push 2
push 8
lea ecx, [esp + 0x90]
push ecx
push 0x78
push 0x190
push edx
push eax
call fcn.00402950
add esp, 0x4c
push ebp
push 2
push 8
mov ecx, dword [0x41cf84]
mov edx, dword [0x41cf04]
push 0x417374
push 0x91
push 0xd2
push ecx
push edx
call fcn.00402950
mov eax, dword [0x41cf84]
mov ecx, dword [0x41cf04]
push ebp
push 2
push 8
push 0x41be70
push 0x91
push 0xfa
push eax
push ecx
call fcn.00402950
mov edx, dword [0x41cf84]
mov eax, dword [0x41cf04]
add esp, 0x40
push ebp
push 2
push 8
push str...........
push 0x91
push 0x122
push edx
push eax
call fcn.00402950
mov ecx, dword [0x41be74]
push ecx
lea edx, [esp + 0x7c]
push 0x417394
push edx
call fcn.0040e175
mov ecx, dword [0x41cf84]
mov edx, dword [0x41cf04]
push ebp
push 2
push 8
lea eax, [esp + 0x90]
push eax
push 0x91
push 0x190
push ecx
push edx
call fcn.00402950
mov eax, dword [0x41cf84]
mov ecx, dword [0x41cf04]
add esp, 0x4c
push ebp
push 2
push 8
push 0x417370
push 0xaa
push 0xd2
push eax
push ecx
call fcn.00402950
mov edx, dword [0x41cf84]
mov eax, dword [0x41cf04]
push ebp
push 2
push 8
push 0x41bed4
push 0xaa
push 0xfa
push edx
push eax
call fcn.00402950
mov ecx, dword [0x41cf84]
add esp, 0x40
push ebp
push 2
push 8
push str...........
push 0xaa
push 0x122
push ecx
mov edx, dword [0x41cf04]
push edx
call fcn.00402950
mov eax, dword [0x41bed8]
push eax
lea ecx, [esp + 0x7c]
push 0x417394
push ecx
call fcn.0040e175
mov eax, dword [0x41cf84]
mov ecx, dword [0x41cf04]
push ebp
push 2
push 8
lea edx, [esp + 0x90]
push edx
push 0xaa
push 0x190
push eax
push ecx
call fcn.00402950
mov edx, dword [0x41cf84]
mov eax, dword [0x41cf04]
add esp, 0x4c
push ebp
push 2
push 8
push 0x41736c
push 0xc3
push 0xd2
push edx
push eax
call fcn.00402950
mov ecx, dword [0x41cf84]
mov edx, dword [0x41cf04]
push ebp
push 2
push 8
push 0x41bf38
push 0xc3
push 0xfa
push ecx
push edx
call fcn.00402950
mov eax, dword [0x41cf84]
mov ecx, dword [0x41cf04]
add esp, 0x40
push ebp
push 2
push 8
push str...........
push 0xc3
push 0x122
push eax
push ecx
call fcn.00402950
mov edx, dword [0x41bf3c]
push edx
lea eax, [esp + 0x7c]
push 0x417394
push eax
call fcn.0040e175
mov edx, dword [0x41cf84]
mov eax, dword [0x41cf04]
push ebp
push 2
push 8
lea ecx, [esp + 0x90]
push ecx
push 0xc3
push 0x190
push edx
push eax
call fcn.00402950
add esp, 0x4c
push ebp
push 2
push 8
push 0x417368
push 0xdc
push 0xd2
mov ecx, dword [0x41cf84]
mov edx, dword [0x41cf04]
push ecx
push edx
call fcn.00402950
mov eax, dword [0x41cf84]
mov ecx, dword [0x41cf04]
push ebp
push 2
push 8
push 0x41bf9c
push 0xdc
push 0xfa
push eax
push ecx
call fcn.00402950
mov edx, dword [0x41cf84]
mov eax, dword [0x41cf04]
add esp, 0x40
push ebp
push 2
push 8
push str...........
push 0xdc
push 0x122
push edx
push eax
call fcn.00402950
mov ecx, dword [0x41bfa0]
push ecx
lea edx, [esp + 0x7c]
push 0x417394
push edx
call fcn.0040e175
mov ecx, dword [0x41cf84]
mov edx, dword [0x41cf04]
push ebp
push 2
push 8
lea eax, [esp + 0x90]
push eax
push 0xdc
push 0x190
push ecx
push edx
call fcn.00402950
add esp, 0x4c
jmp case.default.0x406612
mov eax, dword [0x41cf8c]
mov ecx, dword [0x41cf04]
push 3
push 0xa
push 0x78
push 0xdc
push eax
push ecx
call fcn.004027d0
push 0x10
push 0x64
push 0x10
lea edx, [esp + 0x58]
push 0
push edx
call fcn.004025d0
mov ecx, dword [0x41cf98]
add esp, 0x2c
lea eax, [esp + 0x34]
push eax
push ecx
mov ecx, dword [0x41cf04]
push 0x7d
push 0x122
call fcn.0040d080
push 0x10
push 0x98
push 0x20
lea edx, [esp + 0x40]
push 0
push edx
call fcn.004025d0
mov ecx, dword [0x41cf98]
add esp, 0x14
lea eax, [esp + 0x34]
push eax
push ecx
mov ecx, dword [0x41cf04]
push 0xac
push 0x109
call fcn.0040d080
mov edx, dword [0x41cf80]
mov eax, dword [0x41cf04]
push 0
push 4
push 0xc
push 0x4190a4
push 0x91
push 0x136
push edx
push eax
call fcn.00402950
mov eax, dword [0x41c060]
add esp, 0x20
dec eax
push 0x1b
push 0x12
push 0
je 0x407337
dec eax
je 0x40732e
dec eax
je 0x407325
push 0
jmp 0x407339
push 0x36
lea edx, [esp + 0x44]
push edx
jmp 0x40733e
push 0x24
lea eax, [esp + 0x44]
push eax
jmp 0x40733e
push 0x12
lea ecx, [esp + 0x44]
push ecx
call fcn.004025d0
mov eax, dword [0x41cf88]
mov ecx, dword [0x41cfe8]
add esp, 0x14
lea edx, [esp + 0x34]
push edx
push eax
shl ecx, 4
add ecx, 0x133
push 0x8e
push ecx
mov ecx, dword [0x41cf04]
call fcn.0040d080
jmp case.default.0x406612
mov edx, dword [0x41cf8c]
mov eax, dword [0x41cf04]
push 2
push 8
push 0x78
push 0xdf
push edx
push eax
call fcn.004027d0
mov ecx, dword [0x41cf80]
mov edx, dword [0x41cf04]
push 0
push ebp
push 0xc
push str.WARNING
push 0x7d
push 0x113
push ecx
push edx
call fcn.00402950
mov eax, dword [0x41cf80]
mov ecx, dword [0x41cf04]
push 2
push ebp
push 0xc
push 0x417354
push 0x8e
push 0xfa
push eax
push ecx
call fcn.00402950
add esp, 0x58
mov ecx, dword [0x41cf04]
call fcn.0040cfc0
xor edx, edx
test eax, eax
setge dl
pop edi
pop esi
dec edx
and eax, edx
pop ebp
mov esp, ebp
pop ebp
ret