Function at 0x692da0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x148
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov ebp, dword [edi + 0x24]
mov eax, dword [ebp + 0xb4]
cmp eax, 6
ja case.default.0x692dbe
jmp dword [eax*4 + 0x693e70]
mov al, byte [edi + 0x57]
test al, al
je case.default.0x692dbe
mov esi, dword [esp + 0x15c]
mov ecx, 0x81a800
push esi
mov eax, dword [esi]
mov dword [edi + 0x4a], eax
call fcn.005453b0
mov edx, dword [eax]
lea ecx, [esp + 0xe0]
push ecx
mov ecx, eax
call dword [edx + 0x48]
mov edx, dword [eax]
push esi
mov dword [esp + 0x14], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x18], ecx
mov ecx, 0x81a800
mov edx, dword [eax + 8]
mov dword [esp + 0x1c], edx
call fcn.005453b0
mov ecx, dword [eax + 0x140]
test ch, 1
je 0x692e2f
mov eax, dword [0xaa52c0]
mov ecx, dword [esp + 0x18]
add ecx, eax
mov dword [esp + 0x18], ecx
push 5
push 0
push 0
lea ecx, [esp + 0x158]
call fcn.004346e0
lea ecx, [esp + 0xf8]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.00694200
mov edx, dword [eax]
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov ecx, edi
call fcn.00692080
mov al, byte [esp + 0x160]
test al, al
je 0x692e91
mov dword [0x81b9b4], 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 8
mov eax, dword [edi + 0x50]
test eax, eax
je case.default.0x692dbe
mov byte [eax + 0x17d], 1
mov ecx, dword [edi + 0x50]
add ecx, 0x180
call fcn.00405d50
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 8
mov esi, dword [esp + 0x15c]
mov ecx, 0x81a800
push esi
call fcn.005453b0
mov edx, dword [eax]
lea ecx, [esp + 0x128]
push ecx
mov ecx, eax
call dword [edx + 0x48]
mov edx, dword [eax]
lea ebx, [edi + 0x4a]
push ebx
mov dword [esp + 0x38], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x3c], ecx
mov ecx, 0x81a800
mov ebp, dword [eax + 8]
call fcn.005453b0
mov edx, dword [eax]
lea ecx, [esp + 0x110]
push ecx
mov ecx, eax
call dword [edx + 0x48]
mov edx, dword [eax]
push esi
mov dword [esp + 0x14], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x18], ecx
mov ecx, 0x81a800
mov edx, dword [eax + 8]
mov dword [esp + 0x1c], edx
call fcn.005453b0
mov ecx, dword [eax + 0x140]
test ch, 1
je 0x692f40
add ebp, dword [0xaa52c0]
push ebx
mov ecx, 0x81a800
call fcn.005453b0
mov ecx, dword [eax + 0x140]
mov esi, dword [esp + 0x18]
test ch, 1
je 0x692f60
add esi, dword [0xaa52c0]
mov eax, dword [edi + 0x50]
test eax, eax
je 0x692f9c
mov byte [eax + 0x175], 0
mov dword [edi + 0x50], 0
mov edx, dword [0xaa86e0]
lea eax, [esp + 0x28]
push eax
mov ecx, 0xaa86e0
mov dword [esp + 0x2c], edi
call dword [edx + 0x10]
cmp eax, 0xffffffff
je 0x692f9c
push eax
mov ecx, 0xaa86e0
call fcn.004547a0
mov al, byte [edi + 0x54]
test al, al
je 0x692fba
lea eax, [esp + 0x28]
mov ecx, 0xaa86e0
push eax
mov dword [esp + 0x2c], edi
call fcn.00694240
mov byte [edi + 0x54], 0
push 0x1a8
call fcn.0076d5a7
add esp, 4
test eax, eax
je 0x693012
mov edx, dword [esp + 0x34]
lea ecx, [ebp + 5]
mov dword [esp + 0x9c], edx
mov edx, dword [esp + 0x38]
push 0
mov dword [esp + 0xa4], edx
mov edx, dword [0x821b68]
mov dword [esp + 0xa8], ecx
push 0x600
push 1
lea ecx, [esp + 0xa8]
push 0
push ecx
mov ecx, dword [edx + 0x290]
push ecx
mov ecx, eax
call fcn.00420110
push 0x1a8
call fcn.0076d5a7
add esp, 4
test eax, eax
je 0x69306a
mov ecx, dword [esp + 0x10]
lea edx, [esi + 5]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0x14]
push 0
mov dword [esp + 0xb0], ecx
mov ecx, dword [0x821b68]
mov dword [esp + 0xb4], edx
push 0x600
push 1
lea edx, [esp + 0xb4]
push 0
push edx
mov edx, dword [ecx + 0x28c]
push edx
mov ecx, eax
call fcn.00420110
mov edi, 0xaa5288
mov dword [esp + 0x30], edi
mov ax, word [edi]
mov cx, word [ebx + 2]
add ax, word [ebx]
add cx, word [edi + 2]
mov word [esp + 0x5c], ax
mov word [esp + 0x5e], cx
mov edx, dword [esp + 0x5c]
lea eax, [esp + 0x80]
push eax
mov ecx, 0x81a800
mov dword [esp + 0x84], edx
call fcn.005453b0
mov ecx, dword [eax + 0x140]
test ch, 1
je 0x6930f0
mov cx, word [ebx]
mov dx, word [ebx + 2]
add cx, word [edi]
add dx, word [edi + 2]
mov word [esp + 0x64], cx
lea ecx, [esp + 0x98]
mov word [esp + 0x66], dx
mov eax, dword [esp + 0x64]
push ecx
mov ecx, 0x81a800
mov dword [esp + 0x9c], eax
call fcn.005453b0
mov esi, dword [eax + 0xe8]
jmp 0x69312b
mov dx, word [edi]
mov ax, word [ebx + 2]
add dx, word [ebx]
add ax, word [edi + 2]
mov word [esp + 0x58], dx
mov word [esp + 0x5a], ax
mov ecx, dword [esp + 0x58]
lea edx, [esp + 0x84]
mov dword [esp + 0x84], ecx
push edx
mov ecx, 0x81a800
call fcn.005453b0
mov esi, dword [eax + 0xe4]
test esi, esi
je 0x693561
mov al, byte [esi + 0x14]
shr al, 2
and al, 1
mov byte [esp + 0x43], al
je 0x69354e
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x54]
test al, al
jne 0x69354e
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x80]
mov cl, byte [eax + 0xb47]
test cl, cl
je 0x6931c3
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x80]
mov cl, byte [eax + 0xae0]
test cl, cl
jne 0x6931c3
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x54]
test al, al
jne 0x6931c3
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x80]
mov eax, dword [eax + 0xa0]
mov edx, dword [esi]
mov dword [esp + 0x68], eax
mov eax, dword [0x821b68]
push 0
push 1
mov ecx, dword [eax + 0xc74]
push 0
push ecx
lea eax, [esp + 0x78]
push 0
push eax
mov ecx, esi
call dword [edx + 0x158]
jmp 0x69354e
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x32c]
test al, al
jne 0x69354e
mov al, byte [esi + 0x210]
test al, al
jne 0x69354e
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1bc]
test al, al
jne 0x69354e
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x1c0]
test al, al
jne 0x69354e
mov eax, dword [esi + 0x564]
lea ebx, [esi + 0x564]
xor ebp, ebp
cmp eax, ebp
mov dword [esp + 0x20], ebp
je 0x693238
push ebx
lea ecx, [esp + 0x24]
call fcn.004548f0
cmp eax, ebp
jge 0x693238
cmp eax, 0x80004002
je 0x693238
push eax
call fcn.00780ec0
push 7
push ebp
push str.GXJ9
lea ecx, [esp + 0x30]
mov dword [esp + 0x30], ebp
call fcn.0041b650
cmp eax, ebp
jge 0x69325e
cmp eax, 0x80004002
je 0x69325e
push eax
call fcn.00780ec0
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x2c]
mov ecx, dword [esp + 0x15c]
mov edi, eax
mov eax, dword [esp + 0x30]
dec edi
neg edi
mov dx, word [eax]
sbb edi, edi
add dx, word [ecx]
mov cx, word [ecx + 2]
add cx, word [eax + 2]
mov word [esp + 0x50], dx
not edi
mov word [esp + 0x52], cx
mov edx, dword [esp + 0x50]
lea eax, [esp + 0x7c]
and edi, esi
push eax
mov ecx, 0x81a800
mov dword [esp + 0x38], edi
mov dword [esp + 0x80], edx
call fcn.005453b0
mov edx, dword [eax]
lea ecx, [esp + 0x140]
push ecx
mov ecx, eax
call dword [edx + 0x48]
mov edx, dword [eax]
mov dword [esp + 0x10], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x14], ecx
mov ecx, 0x81a800
mov edx, dword [eax + 8]
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x1c], edx
call fcn.00545340
mov ecx, dword [eax + 0x140]
test ch, 1
je 0x6932fe
mov ecx, dword [0xaa52c0]
mov eax, dword [esp + 0x18]
add eax, ecx
mov dword [esp + 0x18], eax
cmp edi, ebp
je 0x69335e
cmp dword [ebx], ebp
jne 0x693310
push 0x80004003
call fcn.00780ec0
mov eax, dword [ebx]
push 0
push eax
mov edx, dword [eax]
call dword [edx + 0x9c]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x4c], eax
cmp dword [ebx], 0
jne 0x69333c
push 0x80004003
call fcn.00780ec0
mov eax, dword [ebx]
sub esp, 0xc
mov edx, esp
mov ecx, dword [eax]
push 0xffffffffffffffff
mov dword [edx], edi
mov edi, dword [esp + 0x5c]
push eax
mov dword [edx + 4], ebp
mov dword [edx + 8], edi
call dword [ecx + 0x70]
mov byte [esi + 0x5a0], 1
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x693374
push 0x80004003
call fcn.00780ec0
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
push esi
push eax
call dword [ecx + 0xc]
mov eax, dword [esp + 0x24]
xor ecx, ecx
test eax, eax
mov dword [esp + 0x2c], ecx
je 0x6933ac
lea edx, [esp + 0x24]
lea ecx, [esp + 0x2c]
push edx
call fcn.004548f0
test eax, eax
jge 0x6933a8
cmp eax, 0x80004002
je 0x6933a8
push eax
call fcn.00780ec0
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
cmp eax, ecx
je 0x6933d5
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x20]
mov edi, eax
call fcn.006322e0
test edi, edi
je 0x6933cd
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x6933e3
mov edx, dword [ecx]
push ecx
call dword [edx + 8]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x69340d
mov ecx, dword [ebx]
mov edx, dword [eax]
push ecx
push eax
call dword [edx + 0xc]
mov edi, dword [ebx]
mov eax, dword [esp + 0x24]
cmp edi, eax
je 0x69340d
mov ecx, ebx
mov dword [ebx], eax
call fcn.00453b20
test edi, edi
je 0x69340d
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov ecx, dword [esp + 0x1c]
push ecx
mov ecx, 0x81a800
call fcn.005453b0
mov edx, dword [eax]
lea ecx, [esp + 0xec]
push ecx
mov ecx, eax
call dword [edx + 0x48]
mov edx, dword [esi]
mov ebp, eax
lea eax, [esp + 0x104]
mov ecx, esi
push eax
call dword [edx + 0x48]
mov edi, dword [eax]
mov ebx, dword [ebp]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 4]
sub edi, ebx
mov ebx, dword [eax + 4]
mov eax, dword [eax + 8]
mov ebp, dword [esp + 0x15c]
sub eax, ecx
sub ebx, edx
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x6934cd
push ebp
mov ecx, 0x81a800
call fcn.005453b0
mov edx, dword [eax]
lea ecx, [esp + 0x11c]
push ecx
mov ecx, eax
call dword [edx + 0x48]
mov ecx, dword [eax]
lea edx, [esp + 0x10]
add edi, ecx
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
add ecx, ebx
mov ebx, dword [esp + 0x90]
mov dword [esp + 0x14], ecx
add eax, ebx
push edx
mov ecx, 0x81a800
mov dword [esp + 0x14], edi
mov dword [esp + 0x1c], eax
call fcn.00545340
mov ecx, dword [eax + 0x140]
test ch, 1
je 0x6934cd
mov eax, dword [0xaa52c0]
mov ecx, dword [esp + 0x18]
add ecx, eax
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
lea ecx, [esi + 0x21c]
mov byte [esi + 0x210], 1
push 1
mov dword [ecx], edx
mov edx, dword [esp + 0x1c]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x34]
mov dword [ecx + 8], edx
mov cx, word [eax]
mov dx, word [ebp + 2]
add cx, word [ebp]
add dx, word [eax + 2]
mov word [esp + 0x2c], cx
lea ecx, [esp + 0x7c]
mov word [esp + 0x2e], dx
mov eax, dword [esp + 0x2c]
push ecx
mov dword [esp + 0x80], eax
mov edi, dword [esi]
mov ecx, 0x81a800
call fcn.005453b0
push eax
mov ecx, esi
call dword [edi + 0x410]
mov eax, dword [esp + 0x24]
test eax, eax
je 0x693540
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x69354e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [esi + 0x30]
test esi, esi
jne 0x693133
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x30]
add edi, 4
cmp edi, 0xaa52ac
mov dword [esp + 0x30], edi
jl 0x693073
mov eax, dword [0xa25858]
test eax, eax
jne 0x69358c
push 0xffffffffffffffff
or edx, 0xffffffff
mov ecx, str.EVA_ChronosphereActivated
call fcn.0070a5a0
mov al, byte [esp + 0x160]
test al, al
je case.default.0x692dbe
mov ecx, str.EVA_ChronosphereReady
mov dword [0x81b9b4], 0xffffffff
call fcn.0070b0a0
mov ecx, eax
call fcn.0070a8e0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 8
mov al, byte [edi + 0x57]
test al, al
je case.default.0x692dbe
mov eax, dword [esp + 0x15c]
mov edx, dword [edi + 0x28]
push edx
mov ecx, dword [eax]
mov eax, dword [0x821b68]
push ecx
mov edx, dword [eax + 0x13e8]
mov ecx, dword [eax + 0x13f0]
call fcn.0051ed20
mov eax, dword [0xa25858]
test eax, eax
jne 0x69360a
push 0xffffffffffffffff
or edx, 0xffffffff
mov ecx, str.EVA_LightningStormCreated
call fcn.0070a5a0
mov al, byte [esp + 0x160]
test al, al
je case.default.0x692dbe
mov ecx, str.EVA_LightningStormReady
mov dword [0x81b9b4], 0xffffffff
call fcn.0070b0a0
mov ecx, eax
call fcn.0070a8e0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 8
mov al, byte [edi + 0x57]
test al, al
je case.default.0x692dbe
mov ebx, dword [esp + 0x15c]
mov ecx, 0x81a800
push ebx
call fcn.005453b0
mov edx, dword [eax]
lea ecx, [esp + 0x134]
push ecx
mov ecx, eax
call dword [edx + 0x48]
mov esi, dword [eax]
push 0x1a8
mov edi, dword [eax + 4]
mov ebp, dword [eax + 8]
call fcn.0076d5a7
add esp, 4
test eax, eax
je 0x6936c5
mov ecx, dword [0x821b68]
push 0
push 0x600
add ebp, 5
push 1
lea edx, [esp + 0xc0]
push 0
mov dword [esp + 0xc4], esi
mov dword [esp + 0xc8], edi
mov dword [esp + 0xcc], ebp
push edx
mov edx, dword [ecx + 0x2ac]
push edx
mov ecx, eax
call fcn.00420110
mov eax, dword [0xa25858]
test eax, eax
jne 0x6936dd
push 0xffffffffffffffff
or edx, 0xffffffff
mov ecx, str.EVA_IronCurtainActivated
call fcn.0070a5a0
mov edi, 0xaa5288
mov ax, word [ebx]
mov cx, word [edi + 2]
add ax, word [edi]
add cx, word [ebx + 2]
mov word [esp + 0x1c], ax
mov word [esp + 0x1e], cx
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x94]
push eax
mov ecx, 0x81a800
mov dword [esp + 0x98], edx
call fcn.005453b0
mov esi, dword [eax + 0xe4]
test esi, esi
je 0x69373e
mov eax, dword [0x821b68]
mov edx, dword [esi]
mov ecx, dword [eax + 0xca4]
push ecx
mov ecx, esi
call dword [edx + 0x148]
mov esi, dword [esi + 0x30]
test esi, esi
jne 0x693721
add edi, 4
cmp edi, 0xaa52ac
jl 0x6936e2
mov al, byte [esp + 0x160]
test al, al
je case.default.0x692dbe
mov ecx, str.EVA_IronCurtainReady
mov dword [0x81b9b4], 0xffffffff
call fcn.0070b0a0
mov ecx, eax
call fcn.0070a8e0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 8
mov al, byte [edi + 0x57]
test al, al
je case.default.0x692dbe
mov ecx, str.PDPLANE
call fcn.0041be60
mov ebx, dword [esp + 0x15c]
mov ecx, 0x81a800
push ebx
mov esi, eax
call fcn.005453b0
mov ebp, eax
test ebp, ebp
je 0x69391f
cmp ebp, 0xa575f0
je 0x69391f
mov ecx, ebp
call fcn.00479e70
test al, al
je 0x693852
xor edx, edx
mov eax, 1
mov word [esp + 0x54], dx
mov word [esp + 0x56], dx
push edx
lea edx, [esp + 0x58]
push edx
push eax
push 0
mov ecx, eax
push 0
push 0
push ecx
push eax
push 0
push 0
push 0xffffffffffffffff
push 0
lea eax, [esp + 0xf4]
push ebx
push eax
mov ecx, 0x81a800
call fcn.0054d620
mov eax, dword [eax]
cmp ax, word [0xaa5250]
mov dword [esp + 0x1c], eax
jne 0x693828
mov cx, word [esp + 0x1e]
cmp cx, word [0xaa5252]
je 0x693852
lea edx, [esp + 0x1c]
mov ecx, 0x81a800
push edx
call fcn.005453b0
mov ebx, eax
test ebx, ebx
je 0x693852
cmp ebx, 0xa575f0
je 0x693852
mov ecx, ebx
call fcn.00479e70
test al, al
jne 0x693852
mov ebp, ebx
mov eax, dword [edi + 0x28]
mov ecx, dword [eax + 0x130]
test ecx, ecx
jne 0x6938c9
mov eax, dword [0x821b68]
mov ecx, dword [eax + 0xb0c]
mov edx, dword [eax + 0xb28]
cmp ecx, edx
jne 0x69391f
xor ebx, ebx
test ecx, ecx
jle 0x69391f
mov ecx, dword [eax + 0xb00]
cmp esi, 0xffffffff
mov edx, dword [ecx + ebx*4]
mov ecx, dword [edx + 0xb90]
je 0x6938bc
cmp ecx, 0xffffffff
je 0x6938bc
mov eax, dword [eax + 0xb1c]
mov edx, dword [eax + ebx*4]
push edx
push ecx
mov ecx, dword [edi + 0x28]
push 0
push ebp
push 0x1a
push 1
mov edx, esi
call fcn.00631ad0
mov eax, dword [0x821b68]
mov ecx, dword [eax + 0xb0c]
inc ebx
cmp ebx, ecx
jl 0x693882
jmp 0x69391f
mov eax, dword [0x821b68]
xor ebx, ebx
mov ecx, dword [eax + 0xb44]
test ecx, ecx
jle 0x69391f
mov ecx, dword [eax + 0xb38]
cmp esi, 0xffffffff
mov edx, dword [ecx + ebx*4]
mov ecx, dword [edx + 0xb90]
je 0x693914
cmp ecx, 0xffffffff
je 0x693914
mov eax, dword [eax + 0xb54]
mov edx, dword [eax + ebx*4]
push edx
push ecx
mov ecx, dword [edi + 0x28]
push 0
push ebp
push 0x1a
push 1
mov edx, esi
call fcn.00631ad0
mov eax, dword [0x821b68]
mov ecx, dword [eax + 0xb44]
inc ebx
cmp ebx, ecx
jl 0x6938da
mov al, byte [esp + 0x160]
test al, al
je case.default.0x692dbe
mov ecx, str.EVA_ReinforcementsReady
mov dword [0x81b9b4], 0xffffffff
call fcn.0070b0a0
mov ecx, eax
call fcn.0070a8e0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 8
mov al, byte [edi + 0x57]
test al, al
je case.default.0x692dbe
mov ecx, str.PDPLANE
call fcn.0041be60
mov esi, dword [esp + 0x15c]
mov ecx, 0x81a800
push esi
mov ebp, eax
call fcn.005453b0
mov ebx, eax
test ebx, ebx
je 0x69391f
cmp ebx, 0xa575f0
je 0x69391f
mov ecx, ebx
call fcn.00479e70
test al, al
je 0x693a20
xor edx, edx
mov eax, 1
mov word [esp + 0x60], dx
mov word [esp + 0x62], dx
push edx
lea edx, [esp + 0x64]
push edx
push eax
push 0
mov ecx, eax
push 0
push 0
push ecx
push eax
push 0
push 0
push 0xffffffffffffffff
push 0
lea eax, [esp + 0xf0]
push esi
push eax
mov ecx, 0x81a800
call fcn.0054d620
mov eax, dword [eax]
cmp ax, word [0xaa5250]
mov dword [esp + 0x1c], eax
jne 0x6939f6
mov cx, word [esp + 0x1e]
cmp cx, word [0xaa5252]
je 0x693a20
lea edx, [esp + 0x1c]
mov ecx, 0x81a800
push edx
call fcn.005453b0
mov esi, eax
test esi, esi
je 0x693a20
cmp esi, 0xa575f0
je 0x693a20
mov ecx, esi
call fcn.00479e70
test al, al
jne 0x693a20
mov ebx, esi
mov eax, dword [0x821b68]
mov ecx, dword [eax + 0xad4]
mov edx, dword [eax + 0xaf0]
cmp ecx, edx
jne 0x69391f
xor esi, esi
test ecx, ecx
jle 0x69391f
mov ecx, dword [eax + 0xac8]
cmp ebp, 0xffffffff
mov edx, dword [ecx + esi*4]
mov ecx, dword [edx + 0xb90]
je 0x693a7d
cmp ecx, 0xffffffff
je 0x693a7d
mov eax, dword [eax + 0xae4]
mov edx, dword [eax + esi*4]
push edx
push ecx
mov ecx, dword [edi + 0x28]
push 0
push ebx
push 0x1a
push 1
mov edx, ebp
call fcn.00631ad0
mov eax, dword [0x821b68]
mov ecx, dword [eax + 0xad4]
inc esi
cmp esi, ecx
jl 0x693a43
jmp 0x69391f
mov al, byte [edi + 0x57]
test al, al
je case.default.0x692dbe
mov al, byte [edi + 0x56]
test al, al
je 0x693d1b
mov al, byte [edi + 0x55]
test al, al
je 0x693d1b
mov eax, dword [esp + 0x15c]
xor edx, edx
mov dword [esp + 0x18], edx
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
movsx ecx, word [esp + 0x1e]
shl ecx, 8
movsx eax, ax
add ecx, 0x80
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x10]
shl eax, 8
add eax, 0x80
push ecx
mov ecx, 0x81a800
mov dword [esp + 0x14], eax
call fcn.00556f20
lea edx, [esp + 0x1c]
mov ecx, 0x81a800
push edx
mov dword [esp + 0x1c], eax
call fcn.005453b0
mov ecx, dword [eax + 0x140]
test ch, 1
je 0x693b1e
mov eax, dword [0xaa52c0]
mov ecx, dword [esp + 0x18]
add ecx, eax
mov dword [esp + 0x18], ecx
mov ecx, str.NukePayload
call fcn.00728990
mov ecx, dword [0x821eb4]
lea edx, [esp + 0x10]
push edx
mov esi, dword [ecx + eax*4]
lea eax, [ecx + eax*4]
mov ecx, 0x81a800
call fcn.00545340
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov ebp, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x4c], edx
add edx, 0x4e20
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], edx
mov eax, dword [esi + 0xa8]
mov edx, dword [esi + 0xac]
mov ecx, dword [esi + 0xa0]
push 0
push eax
mov eax, dword [esi + 0xa4]
push edx
push eax
push 0
mov edx, ebp
call fcn.004635c0
mov ebx, eax
push esi
mov ecx, ebx
call fcn.004637d0
mov ecx, dword [edi + 0x28]
push str.PSIWARN
push ebx
mov edx, ebp
call fcn.00438a00
test ebx, ebx
je 0x693cde
push 0x3ff921c9
push 0xfe8fbda
call fcn.004b9fa0
fstp qword [esp + 0x3c]
push 0x3ff921c9
push 0xfe8fbda
call fcn.004b9ff0
fmul qword [esp + 0x44]
push 0x3ff921c9
push 0xfe8fbda
fmul qword [0x790fb8]
fstp qword [esp + 0x4c]
call fcn.004b9ff0
fstp qword [esp + 0x80]
push 0x3ff921c9
push 0xfe8fbda
call fcn.004b9ff0
fmul qword [esp + 0x88]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], edx
fmul qword [0x790fb8]
mov edx, dword [esp + 0x90]
push 0x3ff921c9
push 0xfe8fbda
mov dword [esp + 0xf8], edx
fstp qword [esp + 0x90]
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xfc], eax
call fcn.004b9fa0
fmul qword [0x790fb8]
mov edx, dword [ebx]
add esp, 0x28
lea eax, [esp + 0xc8]
lea ecx, [esp + 0x88]
push eax
push ecx
fstp qword [esp + 0xe0]
mov ecx, ebx
call dword [edx + 0x1d8]
mov eax, dword [0xa25858]
test eax, eax
jne 0x693cc8
push 0xffffffffffffffff
or edx, 0xffffffff
mov ecx, str.EVA_NuclearMissileLaunched
call fcn.0070a5a0
mov eax, dword [0x821b68]
push 0
lea edx, [esp + 0x48]
mov ecx, dword [eax + 0x16c]
call fcn.00708cf0
mov al, byte [esp + 0x160]
test al, al
je 0x693d04
mov ecx, str.EVA_NuclearMissileReady
mov dword [0x81b9b4], 0xffffffff
call fcn.0070b0a0
mov ecx, eax
call fcn.0070a8e0
mov ecx, dword [edi + 0x28]
mov byte [ecx + 0x144], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 8
mov ebx, dword [0xa1dff8]
xor ecx, ecx
test ebx, ebx
jle 0x693e31
mov esi, dword [0xa1dfec]
mov eax, dword [esi]
mov dl, byte [eax + 0x1354]
test dl, dl
je 0x693d53
mov edx, dword [ebp + 0x98]
cmp dword [eax + 0x1374], edx
je 0x693d60
cmp dword [eax + 0x1378], edx
je 0x693d60
inc ecx
add esi, 4
cmp ecx, ebx
jl 0x693d31
jmp 0x693e31
push 0xffffffffffffffff
push ecx
mov ecx, dword [edi + 0x28]
call fcn.004e7950
mov esi, eax
test esi, esi
je 0x693e31
mov ebx, dword [esp + 0x15c]
xor edx, edx
mov dword [esp + 0x18], edx
lea edx, [esp + 0x10]
mov eax, dword [ebx]
push edx
mov dword [esp + 0x38], eax
movsx ecx, word [esp + 0x3a]
movsx eax, ax
shl ecx, 8
shl eax, 8
add ecx, 0x80
add eax, 0x80
mov dword [esp + 0x18], ecx
mov ecx, 0x81a800
mov dword [esp + 0x14], eax
call fcn.00556f20
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], eax
mov dword [esp + 0x4c], eax
mov eax, dword [esi]
mov dword [esp + 0x44], ecx
push 0
push 0x16
mov ecx, esi
mov dword [esp + 0x50], edx
call dword [eax + 0x1d0]
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x1d4]
mov eax, dword [edi + 0x28]
mov ecx, dword [ebx]
push 0
mov dword [eax + 0x5670], ecx
mov edx, dword [edi + 0x24]
mov eax, dword [edx + 0xb4]
lea edx, [esp + 0x48]
mov dword [esi + 0x4cc], eax
mov ecx, dword [0x821b68]
mov ecx, dword [ecx + 0x16c]
call fcn.00708cf0
mov eax, dword [0xa25858]
test eax, eax
jne 0x693e31
push 0xffffffffffffffff
or edx, 0xffffffff
mov ecx, str.EVA_NuclearMissileLaunched
call fcn.0070a5a0
mov al, byte [esp + 0x160]
test al, al
je 0x693e57
mov ecx, str.EVA_NuclearMissileReady
mov dword [0x81b9b4], 0xffffffff
call fcn.0070b0a0
mov ecx, eax
call fcn.0070a8e0
mov edx, dword [edi + 0x28]
mov byte [edx + 0x144], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 8