Function at 0x469f10
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53f0f9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb8
push ebx
push esi
push edi
mov esi, ecx
call fcn.004c0db0
mov eax, dword [esi + 0x5c]
mov eax, dword [eax + 0x2ec]
mov ecx, dword [eax + 0x54]
mov edx, dword [eax + 0x58]
mov eax, dword [esi + 0x298]
test eax, eax
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x70], edx
je 0x469f5e
dec eax
mov dword [esi + 0x298], eax
mov al, byte [esi + 0x64]
test al, al
jne 0x469f76
mov eax, dword [esi + 0x60]
mov ecx, dword [eax + 8]
test ecx, ecx
mov byte [0x58d0e0], 1
jg 0x469f7d
mov byte [0x58d0e0], 0
mov al, byte [esi + 0x64]
test al, al
jne 0x46bc18
mov ecx, dword [esi + 0x60]
call fcn.0043ab20
mov ecx, dword [esi + 0x5c]
mov edx, dword [ecx + 0x7a0]
mov eax, dword [edx + 0x84]
shr eax, 3
test al, 1
je 0x469fb1
mov ecx, dword [esi + 0x110]
call fcn.00437610
mov ecx, dword [esi + 0xec]
call fcn.00436f30
mov ecx, dword [esi + 0x5c]
call fcn.0046d5a0
test al, al
je 0x46a09e
mov eax, dword [esi + 0x4c]
cdq
mov ecx, 0x2a30
idiv ecx
test edx, edx
jne 0x46a09e
mov edx, dword [esi + 0x5c]
mov al, byte [edx + 0x722]
test al, al
je 0x46a09e
xor eax, eax
xor ebx, ebx
xor edi, edi
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x10], eax
jmp 0x46a010
mov ecx, dword [esi + 0x5c]
mov edx, dword [ecx + 0x7a0]
mov cl, byte [edx + eax + 0x72]
test cl, cl
je 0x46a043
mov edx, dword [esi + 0x3b8]
lea ecx, [eax + 1]
cmp ecx, edx
je 0x46a043
lea edx, [ebp - 0x10]
push edx
lea ecx, [ebp - 0x24]
call fcn.00424480
mov edi, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
inc eax
cmp eax, 6
mov dword [ebp - 0x10], eax
jl 0x46a010
test ebx, ebx
je 0x46a08a
sub edi, ebx
sar edi, 2
test edi, edi
je 0x46a08a
call fcn.00477120
xor edx, edx
div edi
cmp dword [esi + 0x3bc], 0xffffffff
jne 0x46a077
mov eax, dword [esi + 0x3b8]
mov dword [esi + 0x3bc], eax
mov ecx, dword [ebx + edx*4]
inc ecx
push ecx
mov ecx, esi
call fcn.0045df80
mov ecx, esi
call fcn.0045ea00
test ebx, ebx
mov dword [ebp - 4], 0xffffffff
je 0x46a09e
push ebx
call fcn.00527b8e
add esp, 4
mov eax, dword [esi + 0x5c]
inc dword [eax + 0x77c]
mov ecx, dword [esi + 0x5c]
cmp dword [ecx + 0x764], 4
jne 0x46a0f0
mov edx, dword [esi + 0x2b0]
cmp edx, dword [esi + 0x2ac]
jge 0x46a0f0
cmp dword [esi + 0x414], 0x2a30
jle 0x46a0f0
mov edx, dword [0x58d344]
mov eax, dword [ecx]
push edx
call dword [eax + 0xb8]
xor edi, edi
mov edi, edi
push 1
push edi
mov ecx, esi
call fcn.004638a0
inc edi
cmp edi, 0xc
jl 0x46a0e0
mov al, byte [esi + 0x277]
test al, al
je 0x46a124
mov eax, dword [esi + 0x5c]
mov byte [esi + 0x277], 0
cmp dword [eax + 0x764], 5
jne 0x46a114
mov ecx, esi
call fcn.0045eea0
xor ecx, ecx
mov cl, byte [esi + 0x276]
push ecx
mov ecx, esi
call fcn.0045f240
mov eax, dword [esi + 0x284]
test eax, eax
je 0x46a135
dec eax
mov dword [esi + 0x284], eax
mov al, byte [esi + 0x4cd]
test al, al
je 0x46a1f0
mov eax, dword [esi + 0x418]
cdq
mov ecx, 0x1f4
idiv ecx
mov ecx, edx
xor edx, edx
cmp ecx, 0x3c
jge 0x46a164
mov eax, ecx
cdq
mov edi, 0x14
idiv edi
cmp edx, 0xd
mov dword [esi + 0x41c], edx
jne 0x46a1ea
cmp ecx, 0x14
jge 0x46a189
push 0x3ff00000
push 0
push 3
push 0x110
mov ecx, esi
call fcn.0045d960
lea edx, [ebp - 0x14]
push edx
mov ecx, esi
call fcn.0045e0b0
call fcn.00477120
cdq
mov ecx, 5
idiv ecx
add edx, ecx
test edx, edx
jle 0x46a1ea
mov ebx, edx
lea esp, [esp]
call fcn.00477120
cdq
mov ecx, 0x29
idiv ecx
mov edi, edx
sub edi, 0x14
call fcn.00477120
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
sub eax, edx
sub eax, 0xf
lea edx, [ecx + edi + 0x19]
push eax
push edx
mov ecx, esi
call fcn.0045e020
dec ebx
jne 0x46a1b0
inc dword [esi + 0x418]
mov eax, dword [esi + 0x5c]
mov cl, byte [eax + 0x768]
test cl, cl
mov ebx, 2
je 0x46a268
cmp dword [0x58d0dc], ebx
je 0x46a227
mov eax, dword [esi + 0x70]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x46a227
mov eax, dword [eax + 8]
sub eax, ecx
sar eax, 2
cmp eax, 5
jb 0x46a227
mov dword [0x58d0dc], ebx
mov edi, dword [0x584658]
cmp edi, 9
jge 0x46a268
mov ecx, dword [esi + 0x70]
mov edx, dword [ecx + 4]
test edx, edx
jne 0x46a240
xor eax, eax
jmp 0x46a248
mov eax, dword [ecx + 8]
sub eax, edx
sar eax, 2
cmp edi, eax
jge 0x46a268
mov eax, dword [ecx + 4]
test eax, eax
jne 0x46a25a
mov dword [0x584658], eax
jmp 0x46a268
mov ecx, dword [ecx + 8]
sub ecx, eax
sar ecx, 2
mov dword [0x584658], ecx
mov edi, dword [esi + 0x5c]
cmp dword [edi + 0x764], 1
jne 0x46a2f3
mov ecx, esi
call fcn.0045d2a0
mov edx, dword [esi + 0x388]
mov ecx, eax
sub ecx, edx
mov eax, 0x10624dd3
imul ecx
mov ecx, dword [esi + 0x38c]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
sub ecx, edx
mov dword [esi + 0x380], edx
mov dword [ebp - 0x10], ecx
jns 0x46a2f3
mov ecx, esi
mov byte [esi + 0x4be], 0
call fcn.00460110
mov eax, dword [esi + 0x5c]
mov edx, dword [esi + 0x3c0]
mov ecx, dword [eax + 0x7a0]
push edx
mov edx, dword [esi + 0x398]
push ecx
mov ecx, dword [eax + 0x794]
push edx
call fcn.00439290
mov ecx, dword [esi + 0x5c]
call fcn.004711a0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x764], 4
jne 0x46a324
mov ecx, esi
call fcn.0045d2a0
mov edx, dword [esi + 0x388]
mov ecx, eax
sub ecx, edx
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [esi + 0x380], edx
mov al, byte [esi + 0x275]
test al, al
je 0x46a433
mov al, byte [esi + 0x274]
test al, al
jne 0x46a360
mov ecx, dword [esi + 0x414]
sub ecx, dword [esi + 0x278]
cmp ecx, 0xa0
jl 0x46a433
mov ecx, esi
call fcn.0045d670
jmp 0x46a433
mov ecx, esi
call fcn.0045d2a0
mov edx, dword [esi + 0x388]
mov ecx, eax
sub ecx, edx
mov eax, 0x10624dd3
imul ecx
mov ecx, dword [esi + 0x38c]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
sub ecx, edx
mov dword [esi + 0x380], edx
mov dword [ebp - 0x10], ecx
jns 0x46a41a
mov eax, dword [esi + 0x78]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x46a3b3
mov eax, dword [eax + 8]
sub eax, ecx
sar eax, 2
test eax, eax
jne 0x46a433
mov eax, dword [esi + 0x3c8]
cmp eax, 0x64
lea edx, [eax + 1]
mov dword [esi + 0x3c8], edx
jle 0x46a433
mov ecx, dword [edi + 0x7a0]
call fcn.0042ad60
mov eax, dword [esi + 0x39c]
cmp eax, 5
jg 0x46a401
mov edx, dword [esi + 0x3cc]
mov ecx, dword [esi + 0x5c]
push edx
mov edx, dword [ecx + 0x7a0]
mov ecx, dword [ecx + 0x794]
push edx
push eax
mov eax, dword [esi + 0x398]
push eax
call fcn.00439330
mov ecx, dword [esi + 0x5c]
call fcn.0046e7d0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x414]
cdq
mov ecx, 0xa
idiv ecx
test edx, edx
jne 0x46a433
mov ecx, esi
call fcn.00468af0
mov edx, dword [esi + 0x5c]
cmp dword [edx + 0x764], 4
jne 0x46a59b
mov al, byte [esi + 0x374]
test al, al
jne 0x46a45b
mov al, byte [esi + 0x375]
test al, al
je 0x46a59b
mov eax, dword [esi + 0x398]
cmp eax, 1
jne 0x46a46d
mov ecx, 0x96
jmp 0x46a491
cmp eax, ebx
jne 0x46a478
mov ecx, 0x96
jmp 0x46a491
cmp eax, 3
jne 0x46a484
mov ecx, 0xaf
jmp 0x46a491
cmp eax, 4
mov ecx, 0xc8
je 0x46a491
mov ecx, dword [ebp - 0x10]
mov eax, dword [esi + 0x424]
test eax, eax
jg 0x46a544
cmp dword [esi + 0x40c], 5
jg 0x46a544
mov eax, dword [esi + 0x414]
cdq
idiv ecx
test edx, edx
jne 0x46a52f
xor ebx, ebx
lea edi, [esi + 0x2e4]
push ebx
mov ecx, esi
call fcn.0045d7d0
test eax, eax
je 0x46a4f0
mov ecx, dword [edi + 0x60]
mov edx, dword [edi]
add edx, ecx
mov ecx, edx
cmp ecx, 0x1869f
mov dword [edi], edx
jle 0x46a4e6
mov dword [edi], 0x1869f
mov edx, dword [edi]
push edx
mov ecx, eax
call fcn.004598b0
inc ebx
add edi, 4
cmp ebx, 0xc
jl 0x46a4c1
push 0xff
lea ecx, [ebp - 0x24]
push 0x6e
push 0x9b
push 0xfa
call fcn.00494f40
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
jmp 0x46a594
add ecx, 0xfffffff6
cmp edx, ecx
push 0xff
lea ecx, [ebp - 0x24]
jle 0x46a501
push 0x37
push 0x6e
jmp 0x46a508
cdq
mov ecx, 0xe
idiv ecx
cmp edx, 7
jge 0x46a558
imul edx, edx, 0xe
mov eax, edx
jmp 0x46a562
mov eax, 0xe
sub eax, edx
imul eax, eax, 0xe
push 0xff
add eax, 0x6e
push eax
push 0xfa
push eax
lea ecx, [ebp - 0x24]
call fcn.00494f40
mov ecx, dword [eax]
sub esp, 0x10
mov edx, esp
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [edx + 8], ecx
mov dword [edx + 0xc], eax
mov ecx, esi
call fcn.0045ddb0
mov eax, dword [esi + 0x5c]
cmp dword [eax + 0x764], 5
jne 0x46a601
mov ecx, dword [eax + 0x7a0]
mov eax, dword [ecx + 0x48]
test eax, eax
jne 0x46a601
cmp dword [esi + 0x414], 0x96
jne 0x46a601
push 0x2c
push 0
sub esp, 0x1c
mov ecx, esp
mov eax, 0x557120
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], 0
mov dword [ebp - 0x10], esp
mov byte [ecx + 4], 0
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x46a5e6
sub eax, edi
push eax
push 0x557120
call fcn.0041af60
mov ecx, esi
call fcn.00461150
mov al, byte [esi + 0x4bc]
test al, al
je 0x46a61d
mov ecx, dword [esi + 0x24]
call fcn.004c0a10
test al, al
jne 0x46a649
mov byte [esi + 0x4bc], al
mov ebx, dword [ebp - 0x70]
mov al, byte [esi + 0x4bd]
test al, al
je 0x46a7c9
mov ecx, dword [esi + 0x24]
call fcn.004c0a10
test al, al
jne 0x46a6ce
mov byte [esi + 0x4bd], al
jmp 0x46a7c9
mov edx, dword [0x584658]
mov eax, dword [esi + 0x414]
mov ecx, 0x10
sub ecx, edx
cdq
idiv ecx
test edx, edx
jne 0x46a61d
mov ecx, esi
call fcn.0045d2a0
mov edx, dword [esi + 0x390]
add edx, 0xc8
cmp edx, eax
jge 0x46a61d
mov eax, dword [ebp - 0x34]
cmp eax, 0x24b
jge 0x46a61d
cmp eax, 0x1e
jle 0x46a61d
mov ebx, dword [ebp - 0x70]
cmp ebx, 0x190
jge 0x46a620
cmp ebx, 0x3c
jle 0x46a620
mov eax, dword [esi + 0x47c]
push 0
push eax
call fcn.00463a40
test al, al
je 0x46a620
mov edx, dword [ebp - 0x34]
push 0xffffffffffffffff
push 0x14
push 0
push 0
lea ecx, [ebx - 0xa]
push ecx
add edx, 0xfffffff6
push edx
mov ecx, esi
call fcn.004661b0
jmp 0x46a620
mov eax, dword [esi + 0x3b4]
cmp eax, 0xb
jle 0x46a7c9
cdq
sub eax, edx
sar eax, 1
mov ecx, 0xb
sub ecx, eax
mov eax, dword [esi + 0x414]
cdq
idiv ecx
test edx, edx
jne 0x46a7c9
mov ecx, esi
call fcn.0045d2a0
mov edx, dword [esi + 0x394]
add edx, 0x64
cmp edx, eax
jge 0x46a7c9
cmp ebx, 0x28
jle 0x46a7c9
mov eax, dword [esi + 0xc4]
mov edi, dword [eax + 4]
cmp edi, dword [eax + 8]
je 0x46a750
lea esp, [esp]
mov eax, dword [ebp - 0x34]
mov ecx, dword [edi]
push ebx
push eax
call fcn.00429560
test al, al
jne 0x46a750
mov eax, dword [esi + 0xc4]
mov ecx, dword [eax + 8]
add edi, 4
cmp edi, ecx
jne 0x46a730
mov eax, dword [esi + 0xac]
mov edi, dword [eax + 4]
cmp edi, dword [eax + 8]
je 0x46a780
mov edi, edi
mov ecx, dword [ebp - 0x34]
push ebx
push ecx
mov ecx, dword [edi]
call fcn.00404ba0
test al, al
jne 0x46a780
mov eax, dword [esi + 0xac]
mov ecx, dword [eax + 8]
add edi, 4
cmp edi, ecx
jne 0x46a760
mov eax, dword [esi + 0x88]
mov edi, dword [eax + 4]
cmp edi, dword [eax + 8]
je 0x46a7b0
mov edi, edi
mov edx, dword [ebp - 0x34]
mov ecx, dword [edi]
push ebx
push edx
call fcn.00425070
test al, al
jne 0x46a7b0
mov eax, dword [esi + 0x88]
mov ecx, dword [eax + 8]
add edi, 4
cmp edi, ecx
jne 0x46a790
mov eax, dword [ebp - 0x34]
add ebx, 0xffffffd8
push ebx
add eax, 0xffffffd8
push eax
mov ecx, esi
call fcn.00466500
mov ecx, esi
call fcn.0045e040
mov eax, dword [esi + 0x420]
test eax, eax
jle 0x46a7da
dec eax
mov dword [esi + 0x420], eax
mov eax, dword [esi + 0x424]
test eax, eax
jle 0x46a7eb
dec eax
mov dword [esi + 0x424], eax
mov eax, dword [esi + 0x428]
test eax, eax
jle 0x46a7fc
dec eax
mov dword [esi + 0x428], eax
fld dword [esi + 0x3a8]
lea ecx, [esi + 0x3a8]
fsub qword [0x546588]
mov edx, 0xa
fstp dword [ecx]
fld dword [esi + 0x3ac]
fadd qword [0x547050]
fstp dword [esi + 0x3ac]
fld dword [esi + 0x3b0]
fadd qword [0x557118]
fstp dword [esi + 0x3b0]
lea esp, [esp]
fld dword [ecx]
fcomp dword [0x553b28]
fnstsw ax
test ah, 0x41
jne 0x46a857
mov dword [ecx], 0
jmp 0x46a86c
fld dword [ecx]
fcomp dword [0x54653c]
fnstsw ax
test ah, 5
jp 0x46a86c
mov dword [ecx], 0x44200000
add ecx, 4
dec edx
jne 0x46a840
mov ecx, dword [esi + 0x5c]
cmp dword [ecx + 0x764], 3
jne 0x46a8b2
mov edx, dword [esi + 0x2b0]
cmp edx, dword [esi + 0x2ac]
jge 0x46a8b2
cmp dword [esi + 0x398], 5
je 0x46a8b2
xor edi, edi
push 1
push edi
mov ecx, esi
call fcn.004638a0
inc edi
cmp edi, 0xc
jl 0x46a897
push 0
push 0xb
mov ecx, esi
call fcn.0045d800
mov ecx, esi
call fcn.0045f430
mov al, byte [esi + 0x64]
test al, al
jne 0x46a950
inc dword [esi + 0x414]
jns 0x46a8d6
mov dword [esi + 0x414], 0x40000000
mov eax, dword [esi + 0x414]
and eax, 0x800007ff
jns 0x46a8ea
dec eax
or eax, 0xfffff800
inc eax
jne 0x46a8f3
mov ecx, esi
call fcn.0045ee40
mov al, byte [esi + 0x4cd]
test al, al
jne 0x46a950
mov ecx, dword [esi + 0x5c]
mov ecx, dword [ecx + 0x698]
call fcn.00477110
xor edx, edx
mov ecx, 0x3e8
div ecx
test edx, edx
jne 0x46a950
mov edx, dword [esi + 0x5c]
mov ecx, dword [edx + 0x698]
call fcn.00477110
and eax, 3
add eax, 2
js 0x46a93b
lea edi, [eax + 1]
mov ecx, esi
call fcn.0045dfc0
dec edi
jne 0x46a931
push 0x3ff00000
push 0
push 3
push 0x110
mov ecx, esi
call fcn.0045d960
mov eax, dword [esi + 0x294]
test eax, eax
je 0x46a961
dec eax
mov dword [esi + 0x294], eax
mov al, byte [esi + 0x64]
test al, al
jne 0x46bb8b
mov eax, dword [esi + 0x5c]
cmp dword [eax + 0x764], 5
jne 0x46a986
mov al, byte [esi + 0x4ce]
test al, al
je 0x46bb8b
mov eax, dword [esi + 0x88]
mov ecx, dword [eax + 4]
test ecx, ecx
mov edi, 5
je 0x46a9a8
mov eax, dword [eax + 8]
sub eax, ecx
sar eax, 2
test eax, eax
jne 0x46b600
mov eax, dword [esi + 0xc4]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x46a9c5
mov eax, dword [eax + 8]
sub eax, ecx
sar eax, 2
test eax, eax
jne 0x46b600
mov eax, dword [esi + 0xac]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x46a9e2
mov eax, dword [eax + 8]
sub eax, ecx
sar eax, 2
test eax, eax
jne 0x46b600
mov eax, dword [esi + 0x28c]
test eax, eax
je 0x46aa33
mov eax, dword [esi + 0xe0]
test eax, eax
jne 0x46aa33
mov al, byte [esi + 0x4c4]
test al, al
jne 0x46aa33
mov edx, dword [esi + 0x290]
mov cl, byte [esi + 0x4ce]
dec edx
test cl, cl
mov dword [esi + 0x290], edx
mov eax, edx
je 0x46aa33
cmp eax, 0x21
jne 0x46aa33
push 0x3ff00000
push 0
push 3
push 0x143
mov ecx, esi
call fcn.0045d960
cmp dword [esi + 0x290], 0x1e
jne 0x46aa55
mov eax, dword [esi + 0x168]
test eax, eax
je 0x46aa55
cmp dword [esi + 0x398], edi
je 0x46aa55
mov ecx, esi
call fcn.00466be0
mov edx, dword [esi + 0x5c]
mov eax, dword [edx + 0x764]
mov ebx, 4
cmp eax, ebx
jne 0x46ab74
cmp dword [esi + 0x290], 0xbb7
jne 0x46ab74
mov eax, dword [esi + 0x398]
cmp eax, 1
jne 0x46aa8a
mov ecx, ebx
jmp 0x46aaa8
cmp eax, 2
jne 0x46aa93
mov ecx, edi
jmp 0x46aaa8
cmp eax, 3
jne 0x46aa9c
mov ecx, edi
jmp 0x46aaa8
cmp eax, ebx
mov ecx, 6
je 0x46aaa8
mov ecx, dword [ebp - 0x10]
mov edi, dword [esi + 0x42c]
mov eax, edi
cdq
idiv ecx
test edx, edx
jne 0x46b600
test edi, edi
je 0x46b600
mov ecx, dword [esi + 0xe8]
mov eax, str.WARNING__ALIEN_DIFFICULTY_INCREASED_
add ecx, 0x5c
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x46aad4
sub eax, edi
push eax
push str.WARNING__ALIEN_DIFFICULTY_INCREASED_
call fcn.0041af60
mov ecx, dword [esi + 0xe8]
push 0xff
push 0x32
mov byte [ecx + 0xa4], 1
mov edx, dword [esi + 0xe8]
push 0x32
push 0xff
lea ecx, [ebp - 0x24]
mov dword [edx + 0xa0], 0x112
call fcn.00494f40
mov ecx, dword [esi + 0xe8]
mov edx, dword [eax]
add ecx, 0x78
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
push 0xff
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
push 0x14
push 0x14
mov dword [ecx + 0xc], eax
push 0x64
lea ecx, [ebp - 0x24]
call fcn.00494f40
mov ecx, dword [esi + 0xe8]
mov edx, dword [eax]
add ecx, 0x88
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
jmp 0x46b600
mov ecx, dword [esi + 0x290]
cmp ecx, 0x114
jne 0x46aeb3
mov cl, byte [edx + 0x768]
test cl, cl
jne 0x46b600
cmp eax, edi
je 0x46b600
mov edi, dword [edx + 0x620]
mov al, byte [edi + 0x483]
test al, al
jne 0x46ace7
push 2
push 1
mov ecx, esi
call fcn.0045d2f0
test al, al
je 0x46ace7
mov ebx, 0xf
xor edi, edi
mov eax, str.Click_to_Continue
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x58], edi
mov byte [ebp - 0x68], 0
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46abe0
sub eax, edx
push eax
push str.Click_to_Continue
lea ecx, [ebp - 0x6c]
call fcn.0041af60
mov eax, str.A_vicious_alien_is_about_to_enter_your_tank__Defeat_it_with_your_laser_weapon_by_clicking_on_it_
mov dword [ebp - 4], 1
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x3c], edi
mov byte [ebp - 0x4c], 0
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x46ac10
sub eax, ecx
push eax
push str.A_vicious_alien_is_about_to_enter_your_tank__Defeat_it_with_your_laser_weapon_by_clicking_on_it_
lea ecx, [ebp - 0x50]
call fcn.0041af60
mov eax, str.DANGER_
mov byte [ebp - 4], 2
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], edi
mov byte [ebp - 0x2c], 0
lea ecx, [eax + 1]
lea ecx, [ecx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x46ac40
sub eax, ecx
push eax
push str.DANGER_
lea ecx, [ebp - 0x30]
call fcn.0041af60
push 3
lea ecx, [ebp - 0x6c]
push ecx
mov ecx, dword [esi + 0x5c]
lea edx, [ebp - 0x50]
push edx
lea eax, [ebp - 0x30]
push eax
push 1
push 0xe
mov byte [ebp - 4], 3
call fcn.0046def0
mov eax, dword [ebp - 0x18]
mov edi, 0x10
cmp eax, edi
jb 0x46ac8d
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.00527b8e
add esp, 4
cmp dword [ebp - 0x38], edi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
jb 0x46acac
mov edx, dword [ebp - 0x4c]
push edx
call fcn.00527b8e
add esp, 4
cmp dword [ebp - 0x54], edi
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x3c], 0
mov byte [ebp - 0x4c], 0
mov dword [ebp - 4], 0xffffffff
jb 0x46acd2
mov eax, dword [ebp - 0x68]
push eax
call fcn.00527b8e
add esp, 4
mov ecx, dword [esi + 0x5c]
mov edx, dword [ecx + 0x620]
mov byte [edx + 0x483], 1
jmp 0x46b600
mov al, byte [edi + 0x484]
test al, al
jne 0x46adcb
push 2
push 1
mov ecx, esi
call fcn.0045d2f0
test al, al
je 0x46adcb
push str.Click_to_Continue
lea ecx, [ebp - 0x30]
call fcn.0041c120
push str.Shoot_the_aliens_head_to_push_it_downwards__Shoot_its_tail_to_deflect_it_upwards_
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], ebx
call fcn.0041c120
push str.BATTLE_TIP
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 5
call fcn.0041c120
push 3
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x50]
push ecx
mov ecx, dword [esi + 0x5c]
lea edx, [ebp - 0x6c]
push edx
push 1
push 0xe
mov byte [ebp - 4], 6
call fcn.0046def0
mov eax, dword [ebp - 0x54]
mov edi, 0x10
cmp eax, edi
jb 0x46ad6c
mov eax, dword [ebp - 0x68]
push eax
call fcn.00527b8e
add esp, 4
cmp dword [ebp - 0x38], edi
mov ebx, 0xf
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x58], 0
mov byte [ebp - 0x68], 0
jb 0x46ad90
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.00527b8e
add esp, 4
cmp dword [ebp - 0x18], edi
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x3c], 0
mov byte [ebp - 0x4c], 0
mov dword [ebp - 4], 0xffffffff
jb 0x46adb6
mov edx, dword [ebp - 0x2c]
push edx
call fcn.00527b8e
add esp, 4
mov eax, dword [esi + 0x5c]
mov ecx, dword [eax + 0x620]
mov byte [ecx + 0x484], 1
jmp 0x46b600
mov al, byte [edi + 0x491]
test al, al
jne 0x46b600
push 3
push 2
mov ecx, esi
call fcn.0045d2f0
test al, al
je 0x46b600
push str.Click_to_Continue
lea ecx, [ebp - 0x30]
call fcn.0041c120
push str.A_new_breed_of_alien_is_fast_approaching___Lasers_cant_hurt_this_baddie__so_find_another_way_to_defeat_it_
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 7
call fcn.0041c120
push str.WARNING_
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 8
call fcn.0041c120
push 3
lea edx, [ebp - 0x30]
push edx
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x6c]
push ecx
mov ecx, dword [esi + 0x5c]
push 1
push 0xe
mov byte [ebp - 4], 9
call fcn.0046def0
mov eax, dword [ebp - 0x54]
mov edi, 0x10
cmp eax, edi
jb 0x46ae54
mov edx, dword [ebp - 0x68]
push edx
call fcn.00527b8e
add esp, 4
cmp dword [ebp - 0x38], edi
mov ebx, 0xf
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x58], 0
mov byte [ebp - 0x68], 0
jb 0x46ae78
mov eax, dword [ebp - 0x4c]
push eax
call fcn.00527b8e
add esp, 4
cmp dword [ebp - 0x18], edi
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x3c], 0
mov byte [ebp - 0x4c], 0
mov dword [ebp - 4], 0xffffffff
jb 0x46ae9e
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.00527b8e
add esp, 4
mov edx, dword [esi + 0x5c]
mov eax, dword [edx + 0x620]
mov byte [eax + 0x491], 1
jmp 0x46b600
cmp ecx, 0x113
jne 0x46b1d5
mov ecx, dword [edx + 0x620]
mov al, byte [ecx + 0x4ae]
test al, al
jne 0x46af2e
cmp dword [esi + 0x39c], ebx
jne 0x46af2e
cmp dword [esi + 0x398], ebx
jne 0x46af2e
mov eax, dword [esi + 0x28c]
cmp eax, 9
je 0x46aef9
cmp eax, 0xa
je 0x46aef9
cmp eax, 0xb
je 0x46aef9
cmp eax, 0xc
jne 0x46af2e
mov ecx, dword [esi + 0xe8]
mov eax, str.FOURTEEN_ALIEN_SIGNATURES_DETECTED
add ecx, 0x5c
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x46af10
sub eax, edi
push eax
push str.FOURTEEN_ALIEN_SIGNATURES_DETECTED
call fcn.0041af60
mov edi, 5
jmp 0x46b096
mov eax, dword [esi + 0x28c]
cmp eax, ebx
jne 0x46af6e
mov ecx, dword [esi + 0xe8]
mov eax, str.ALIEN_SIGNATURE_TYPE_G_DETECTED
add ecx, 0x5c
lea edi, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x46af50
sub eax, edi
push eax
push str.ALIEN_SIGNATURE_TYPE_G_DETECTED
call fcn.0041af60
mov edi, 5
jmp 0x46b096
cmp eax, edi
jne 0x46afa1
mov ecx, dword [esi + 0xe8]
mov eax, str.ALIEN_SIGNATURE_TYPE_D_DETECTED
add ecx, 0x5c
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x46af83
sub eax, edi
push eax
push str.ALIEN_SIGNATURE_TYPE_D_DETECTED
call fcn.0041af60
mov edi, 5
jmp 0x46b096
cmp eax, 6
jne 0x46afd5
mov ecx, dword [esi + 0xe8]
mov eax, str.ALIEN_SIGNATURE_TYPE_U_DETECTED
add ecx, 0x5c
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x46afb7
sub eax, edi
push eax
push str.ALIEN_SIGNATURE_TYPE_U_DETECTED
call fcn.0041af60
mov edi, 5
jmp 0x46b096
cmp eax, 7
jne 0x46b00e
mov ecx, dword [esi + 0xe8]
mov eax, str.ALIEN_SIGNATURE_TYPE_P_DETECTED
add ecx, 0x5c
lea edi, [eax + 1]
jmp 0x46aff0
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x46aff0
sub eax, edi
push eax
push str.ALIEN_SIGNATURE_TYPE_P_DETECTED
call fcn.0041af60
mov edi, 5
jmp 0x46b096
cmp eax, 8
jne 0x46b01a
push str.ALIEN_SIGNATURE_TYPE_II_DETECTED
jmp 0x46b088
cmp eax, 0x15
jne 0x46b068
mov edx, dword [edx + 0x7a0]
mov eax, dword [edx + 0x50]
inc eax
push eax
call fcn.0042ffe0
push eax
lea ecx, [ebp - 0x6c]
push str._s_OF_DOOM_APPROACHING
push ecx
call fcn.00481330
add esp, 0x10
mov ecx, dword [esi + 0xe8]
push eax
add ecx, 0x5c
mov dword [ebp - 4], 0xa
call fcn.0041c160
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0xffffffff
call fcn.0042d770
jmp 0x46b096
cmp eax, 9
je 0x46b083
cmp eax, 0xa
je 0x46b083
cmp eax, 0xb
je 0x46b083
cmp eax, 0xc
je 0x46b083
push str.ENEMY_APPROACHING
jmp 0x46b088
push str.MULTIPLE_ALIEN_SIGNATURES_DETECTED
mov ecx, dword [esi + 0xe8]
add ecx, 0x5c
call fcn.0041ba20
mov edx, dword [esi + 0xe8]
push 0xff
push 0x32
mov byte [edx + 0xa4], 0
mov eax, dword [esi + 0xe8]
push 0x32
push 0xff
lea ecx, [ebp - 0x24]
mov dword [eax + 0xa0], 0x112
call fcn.00494f40
mov ecx, dword [esi + 0xe8]
mov edx, dword [eax]
add ecx, 0x78
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
push 0xff
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
push 0x14
push 0x14
mov dword [ecx + 0xc], eax
push 0x64
lea ecx, [ebp - 0x24]
call fcn.00494f40
mov ecx, dword [esi + 0xe8]
mov edx, dword [eax]
add ecx, 0x88
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [esi + 0x5c]
push 1
call fcn.0046ec90
push 0x3ff00000
push 0
push 3
push 0x106
mov ecx, esi
call fcn.0045d960
mov eax, dword [esi + 0x5c]
cmp dword [eax + 0x764], edi
jne 0x46b153
mov ecx, esi
call fcn.0045e750
jmp 0x46b600
mov ecx, dword [eax + 0x698]
call fcn.00477110
xor edx, edx
mov ecx, 0x1c2
div ecx
add edx, 0x14
mov dword [esi + 0x29c], edx
mov edx, dword [esi + 0x5c]
mov ecx, dword [edx + 0x698]
call fcn.00477110
xor edx, edx
mov ecx, 0xc3
div ecx
add edx, 0x69
mov dword [esi + 0x2a0], edx
mov edx, dword [esi + 0x5c]
mov ecx, dword [edx + 0x698]
call fcn.00477110
xor edx, edx
mov ecx, 0x1c2
div ecx
add edx, 0x14
mov dword [esi + 0x2a4], edx
mov edx, dword [esi + 0x5c]
mov ecx, dword [edx + 0x698]
call fcn.00477110
xor edx, edx
mov ecx, 0xc3
div ecx
add edx, 0x69
mov dword [esi + 0x2a8], edx
jmp 0x46b600
test ecx, ecx
jle 0x46b273
cmp ecx, 0x113
jge 0x46b26b
mov edx, dword [edx + 0x620]
mov al, byte [edx + 0x4ae]
test al, al
jne 0x46b24b
cmp dword [esi + 0x39c], ebx
jne 0x46b24b
cmp dword [esi + 0x398], ebx
jne 0x46b24b
mov eax, dword [esi + 0x28c]
cmp eax, 9
je 0x46b223
cmp eax, 0xa
je 0x46b223
cmp eax, 0xb
je 0x46b223
cmp eax, 0xc
jne 0x46b24b
cmp ecx, 0x64
jne 0x46b24b
mov ecx, dword [esi + 0xe8]
push str.JUST_KIDDING._ONLY_TWO_
add ecx, 0x5c
call fcn.0041ba20
mov eax, dword [esi + 0x5c]
mov ecx, dword [eax + 0x620]
mov byte [ecx + 0x4ae], 1
cmp dword [esi + 0x290], 1
jne 0x46b600
mov ecx, dword [esi + 0x5c]
push 0
push 1
push 1
call fcn.0046db40
jmp 0x46b600
test ecx, ecx
jg 0x46b600
mov edx, dword [esi + 0x2a0]
mov eax, dword [esi + 0x29c]
mov ecx, dword [esi + 0x28c]
push 1
push edx
push eax
push ecx
mov ecx, esi
mov dword [esi + 0x294], 0x23
mov byte [esi + 0x4bd], 0
mov byte [esi + 0x4bc], 0
call fcn.00468110
mov edx, dword [esi + 0x5c]
cmp dword [edx + 0x764], ebx
jne 0x46b3b1
mov eax, dword [esi + 0x398]
cmp eax, 1
jne 0x46b2c7
mov ecx, ebx
jmp 0x46b2e5
cmp eax, 2
jne 0x46b2d0
mov ecx, edi
jmp 0x46b2e5
cmp eax, 3
jne 0x46b2d9
mov ecx, edi
jmp 0x46b2e5
cmp eax, ebx
mov ecx, 6
je 0x46b2e5
mov ecx, dword [ebp - 0x10]
mov eax, dword [esi + 0x42c]
cdq
idiv ecx
cmp dword [esi + 0x28c], 0xc
jne 0x46b2f8
dec eax
test eax, eax
jle 0x46b3b1
mov edi, eax
mov eax, dword [esi + 0x5c]
mov ecx, dword [eax + 0x698]
call fcn.00477110
xor edx, edx
mov ecx, 0x1c2
div ecx
add edx, 0x14
mov dword [esi + 0x29c], edx
mov edx, dword [esi + 0x5c]
mov ecx, dword [edx + 0x698]
call fcn.00477110
xor edx, edx
mov ecx, 0xc3
div ecx
add edx, 0x69
mov dword [esi + 0x2a0], edx
mov edx, dword [esi + 0x5c]
mov ecx, dword [edx + 0x698]
call fcn.00477110
xor edx, edx
mov ecx, 0x1c2
div ecx
add edx, 0x14
mov dword [esi + 0x2a4], edx
mov edx, dword [esi + 0x5c]
mov ecx, dword [edx + 0x698]
call fcn.00477110
xor edx, edx
mov ecx, 0xc3
div ecx
mov eax, dword [esi + 0x29c]
mov ecx, dword [esi + 0x28c]
push 0
add edx, 0x69
mov dword [esi + 0x2a8], edx
mov edx, dword [esi + 0x2a0]
push edx
push eax
push ecx
mov ecx, esi
call fcn.00468110
dec edi
jne 0x46b302
mov ebx, 4
mov edi, 5
mov eax, dword [esi + 0x5c]
mov cl, byte [eax + 0x768]
test cl, cl
je 0x46b3ca
mov ecx, esi
call fcn.0045d350
jmp 0x46b5e9
cmp dword [eax + 0x764], edi
jne 0x46b3de
mov ecx, esi
call fcn.0045ed50
jmp 0x46b5e9
mov ecx, dword [esi + 0x398]
cmp ecx, 1
jne 0x46b413
cmp dword [esi + 0x39c], edi
jne 0x46b413
mov ecx, dword [eax + 0x698]
call fcn.00477110
and al, 1
neg al
sbb eax, eax
and eax, 0xfffffffa
add eax, 9
mov dword [esi + 0x28c], eax
jmp 0x46b5e9
cmp ecx, 2
jne 0x46b4af
cmp dword [esi + 0x39c], edi
jne 0x46b4af
mov ecx, dword [esi + 0x28c]
mov edi, 9
cmp ecx, edi
jne 0x46b453
mov ecx, dword [eax + 0x698]
call fcn.00477110
movzx edx, al
xor edx, 0xffffffff
and edx, 1
or edx, ebx
mov dword [esi + 0x28c], edx
mov eax, dword [esi + 0x5c]
mov ecx, dword [eax + 0x698]
call fcn.00477110
xor edx, edx
mov ecx, 0xa
div ecx
test edx, edx
jne 0x46b485
cmp dword [esi + 0x28c], 5
setne dl
add edx, ebx
mov dword [esi + 0x28c], edx
jmp 0x46b5e9
mov eax, dword [esi + 0x5c]
mov ecx, dword [eax + 0x698]
call fcn.00477110
xor edx, edx
mov ecx, 0x14
div ecx
test edx, edx
jne 0x46b5e9
mov dword [esi + 0x28c], edi
jmp 0x46b5e9
cmp ecx, 3
jne 0x46b51e
cmp dword [esi + 0x39c], 2
jne 0x46b4ef
mov ecx, dword [eax + 0x698]
call fcn.00477110
xor edx, edx
mov ecx, 0xa
div ecx
test edx, edx
jne 0x46b5e9
cmp dword [esi + 0x28c], edi
setne dl
add edx, ebx
mov dword [esi + 0x28c], edx
jmp 0x46b5e9
cmp ecx, 3
jne 0x46b51e
cmp dword [esi + 0x39c], edi
jne 0x46b51e
mov ecx, dword [eax + 0x698]
call fcn.00477110
movzx eax, al
xor eax, 0xffffffff
and eax, 1
or eax, 6
mov dword [esi + 0x28c], eax
jmp 0x46b5e9
cmp ecx, ebx
jne 0x46b5e9
cmp dword [esi + 0x39c], 3
jne 0x46b551
mov ecx, dword [eax + 0x698]
call fcn.00477110
and al, 1
neg al
sbb eax, eax
and eax, 0xfffffffa
add eax, 0xa
mov dword [esi + 0x28c], eax
jmp 0x46b5e9
cmp ecx, ebx
jne 0x46b5e9
cmp dword [esi + 0x39c], ebx
jne 0x46b580
mov ecx, dword [eax + 0x698]
call fcn.00477110
and al, 1
neg al
sbb eax, eax
and eax, 0xfffffffd
add eax, 0xb
mov dword [esi + 0x28c], eax
jmp 0x46b5e9
cmp ecx, ebx
jne 0x46b5e9
cmp dword [esi + 0x39c], edi
jne 0x46b5e9
mov ecx, dword [eax + 0x698]
call fcn.00477110
xor edx, edx
mov ecx, edi
div ecx
cmp edx, 1
jg 0x46b5ae
mov dword [esi + 0x28c], 0xa
jmp 0x46b5c3
xor eax, eax
cmp edx, 3
setg al
dec eax
and eax, 3
add eax, 8
mov dword [esi + 0x28c], eax
mov ecx, dword [esi + 0x5c]
cmp dword [ecx + 0x764], ebx
jne 0x46b5e9
cmp dword [esi + 0x42c], edi
jl 0x46b5e9
cmp dword [esi + 0x28c], 8
jne 0x46b5e9
mov dword [esi + 0x28c], 0xc
mov eax, dword [esi + 0x42c]
inc eax
mov dword [esi + 0x290], 0xbb8
mov dword [esi + 0x42c], eax
mov al, byte [esi + 0x275]
test al, al
jne 0x46b9f0
mov edx, dword [esi + 0x5c]
mov eax, dword [edx + 0x764]
mov edi, 5
cmp eax, edi
je 0x46b9f0
mov ecx, esi
call fcn.0045e6d0
test al, al
jne 0x46b818
cmp dword [esi + 0x398], edi
je 0x46b818
push 1
mov ecx, esi
call fcn.00460250
mov ecx, esi
call fcn.0045d2c0
test al, al
je 0x46b702
mov ebx, 0xf
xor edi, edi
mov eax, str.Click_to_Continue
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x58], edi
mov byte [ebp - 0x68], 0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46b670
sub eax, edx
push eax
push str.Click_to_Continue
lea ecx, [ebp - 0x6c]
call fcn.0041af60
mov eax, str.Normally_this_would_end_your_game__but_this_time_well_give_you_another_fish_to_keep_playing__Make_sure_you_keep_it_well_fed_
mov dword [ebp - 4], 0xb
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], edi
mov byte [ebp - 0x2c], 0
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x46b6a0
sub eax, ecx
push eax
push str.Normally_this_would_end_your_game__but_this_time_well_give_you_another_fish_to_keep_playing__Make_sure_you_keep_it_well_fed_
lea ecx, [ebp - 0x30]
call fcn.0041af60
mov eax, str.YOUR_LAST_FISH_HAS_DIED_
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x3c], edi
mov byte [ebp - 0x4c], 0
lea ecx, [eax + 1]
lea ecx, [ecx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x46b6d0
sub eax, ecx
push eax
push str.YOUR_LAST_FISH_HAS_DIED_
lea ecx, [ebp - 0x50]
call fcn.0041af60
push 3
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x30]
push ecx
lea edx, [ebp - 0x50]
push edx
push 1
mov byte [ebp - 4], 0xd
push 0x10
jmp 0x46b7bd
mov ecx, esi
mov byte [esi + 0x4be], 0
call fcn.00460110
mov ebx, 0xf
xor edi, edi
mov eax, str.Click_to_Continue
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x58], edi
mov byte [ebp - 0x68], 0
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x46b730
sub eax, ecx
push eax
push str.Click_to_Continue
lea ecx, [ebp - 0x6c]
call fcn.0041af60
mov eax, str.Oops___All_of_your_fish_have_died_
mov dword [ebp - 4], 0xe
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], edi
mov byte [ebp - 0x2c], 0
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x46b760
sub eax, ecx
push eax
push str.Oops___All_of_your_fish_have_died_
lea ecx, [ebp - 0x30]
call fcn.0041af60
mov eax, 0x556da0
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x3c], edi
mov byte [ebp - 0x4c], 0
lea ecx, [eax + 1]
lea ecx, [ecx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x46b790
sub eax, ecx
push eax
push 0x556da0
lea ecx, [ebp - 0x50]
call fcn.0041af60
push 3
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x30]
push ecx
lea edx, [ebp - 0x50]
push edx
push 1
mov byte [ebp - 4], 0x10
push 0x11
mov ecx, dword [esi + 0x5c]
call fcn.0046def0
cmp dword [ebp - 0x38], 0x10
jb 0x46b7d7
mov eax, dword [ebp - 0x4c]
push eax
call fcn.00527b8e
add esp, 4
cmp dword [ebp - 0x18], 0x10
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x3c], edi
mov byte [ebp - 0x4c], 0
jb 0x46b7f3
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.00527b8e
add esp, 4
cmp dword [ebp - 0x54], 0x10
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], edi
mov byte [ebp - 0x2c], 0
mov dword [ebp - 4], 0xffffffff
jb 0x46b81f
mov edx, dword [ebp - 0x68]
push edx
call fcn.00527b8e
add esp, 4
jmp 0x46b81f
xor edi, edi
mov ebx, 0xf
cmp dword [esi + 0x398], 5
jne 0x46b9f0
mov eax, dword [esi + 0x84]
mov ecx, dword [eax + 4]
cmp ecx, edi
je 0x46b849
mov eax, dword [eax + 8]
sub eax, ecx
sar eax, 2
cmp eax, edi
jne 0x46b9f0
mov eax, dword [esi + 0x80]
mov ecx, dword [eax + 4]
cmp ecx, edi
je 0x46b866
mov eax, dword [eax + 8]
sub eax, ecx
sar eax, 2
cmp eax, edi
jne 0x46b9f0
push 1
mov ecx, esi
call fcn.00460250
mov eax, dword [esi + 0xe0]
cmp eax, edi
mov byte [esi + 0x4be], 0
je 0x46b8a5
fld qword [eax + 0x1b0]
fsub qword [eax + 0x1a8]
fcomp qword [0x556d98]
fnstsw ax
test ah, 0x41
jne 0x46b8a5
mov eax, dword [esi + 0x5c]
mov eax, dword [eax + 0x7a0]
inc dword [eax + 0x54]
mov eax, str.Click_to_Continue
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x94], edi
mov byte [ebp - 0xa4], 0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46b8c0
sub eax, edx
push eax
push str.Click_to_Continue
lea ecx, [ebp - 0xa8]
call fcn.0041af60
mov eax, str.Oops___All_of_your_pets_have_died_
mov dword [ebp - 4], 0x11
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x78], edi
mov byte [ebp - 0x88], 0
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x46b8f6
sub eax, ecx
push eax
push str.Oops___All_of_your_pets_have_died_
lea ecx, [ebp - 0x8c]
call fcn.0041af60
mov eax, 0x556da0
mov byte [ebp - 4], 0x12
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xb0], edi
mov byte [ebp - 0xc0], 0
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x46b930
sub eax, ecx
push eax
push 0x556da0
lea ecx, [ebp - 0xc4]
call fcn.0041af60
push 3
lea ecx, [ebp - 0xa8]
push ecx
mov ecx, dword [esi + 0x5c]
lea edx, [ebp - 0x8c]
push edx
lea eax, [ebp - 0xc4]
push eax
push 1
push 0x11
mov byte [ebp - 4], 0x13
call fcn.0046def0
cmp dword [ebp - 0xac], 0x10
jb 0x46b989
mov ecx, dword [ebp - 0xc0]
push ecx
call fcn.00527b8e
add esp, 4
cmp dword [ebp - 0x74], 0x10
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xb0], edi
mov byte [ebp - 0xc0], 0
jb 0x46b9b1
mov edx, dword [ebp - 0x88]
push edx
call fcn.00527b8e
add esp, 4
cmp dword [ebp - 0x90], 0x10
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x78], edi
mov byte [ebp - 0x88], 0
mov dword [ebp - 4], 0xffffffff
jb 0x46b9dd
mov eax, dword [ebp - 0xa4]
push eax
call fcn.00527b8e
add esp, 4
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x94], edi
mov byte [ebp - 0xa4], 0
mov ecx, dword [esi + 0x5c]
mov edi, dword [ecx + 0x764]
cmp edi, 5
je 0x46bb8b
xor ebx, ebx
cmp edi, ebx
jne 0x46bab4
push 1
push 1
mov ecx, esi
call fcn.0045d2f0
test al, al
je 0x46ba5b
cmp dword [esi + 0x414], 0x96
jne 0x46ba5b
push 1
push ebx
sub esp, 0x1c
mov ecx, esp
mov eax, str.Here_are_your_first_fish__Take_good_care_of_them_
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
mov dword [ebp - 0x10], esp
mov byte [ecx + 4], bl
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x46ba47
sub eax, edi
push eax
push str.Here_are_your_first_fish__Take_good_care_of_them_
jmp 0x46bb7f
cmp edi, ebx
jne 0x46bab4
push 2
push 1
mov ecx, esi
call fcn.0045d2f0
test al, al
je 0x46bab4
cmp dword [esi + 0x414], 0x96
jne 0x46bab4
push 0x14
push ebx
sub esp, 0x1c
mov ecx, esp
mov eax, str.On_this_level_you_will_meet_your_1st_alien_opponent_
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
mov dword [ebp - 0x10], esp
mov byte [ecx + 4], 0
lea edi, [eax + 1]
jmp 0x46baa0
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x46baa0
sub eax, edi
push eax
push str.On_this_level_you_will_meet_your_1st_alien_opponent_
jmp 0x46bb7f
cmp edi, 1
mov eax, 0x96
jne 0x46bafb
cmp dword [esi + 0x414], eax
jne 0x46bafb
push 0x35
push ebx
sub esp, 0x1c
mov ecx, esp
mov eax, str.How_much_money_can_you_earn_before_time_runs_out_
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
mov dword [ebp - 0x10], esp
mov byte [ecx + 4], 0
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x46bae7
sub eax, edi
push eax
push str.How_much_money_can_you_earn_before_time_runs_out_
jmp 0x46bb7f
cmp edi, 4
jne 0x46bb41
cmp dword [esi + 0x414], eax
jne 0x46bb41
push 0x33
push ebx
sub esp, 0x1c
mov ecx, esp
mov eax, str.Can_you_fend_off_the_increasingly_hungry_aliens_
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
mov dword [ebp - 0x10], esp
mov byte [ecx + 4], 0
lea edi, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x46bb30
sub eax, edi
push eax
push str.Can_you_fend_off_the_increasingly_hungry_aliens_
jmp 0x46bb7f
cmp edi, 3
jne 0x46bb8b
cmp dword [esi + 0x414], eax
jne 0x46bb8b
push 0x30
push ebx
sub esp, 0x1c
mov ecx, esp
mov eax, 0x556cd8
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
mov dword [ebp - 0x10], esp
mov byte [ecx + 4], 0
lea edi, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x46bb70
sub eax, edi
push eax
push 0x556cd8
call fcn.0041af60
mov ecx, esi
call fcn.00461150
mov ecx, dword [esi + 0x39c]
mov eax, 1
cmp ecx, eax
jne 0x46bbd3
cmp dword [esi + 0x398], eax
jne 0x46bbd3
mov cl, byte [esi + 0x4b6]
test cl, cl
je 0x46bbd3
mov edx, dword [esi + 0x3c0]
cmp edx, dword [esi + 0x310]
jle 0x46bbc0
inc dword [esi + 0x4b8]
cmp dword [esi + 0x4b8], 0x5dc
jle 0x46bbd3
mov byte [esi + 0x4a8], 1
cmp dword [esi + 0x398], 5
jne 0x46bc0e
mov ecx, dword [esi + 0xe0]
test ecx, ecx
jne 0x46bc0e
mov cl, byte [esi + 0x4c4]
test cl, cl
je 0x46bc0e
mov cl, byte [esi + 0x275]
test cl, cl
jne 0x46bc0e
mov cl, byte [esi + 0x37f]
test cl, cl
jne 0x46bc0e
push eax
push 0xb
mov ecx, esi
call fcn.004638a0
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xb8]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret