Function at 0x42b810
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x118
push ebx
push ebp
push esi
push edi
call fcn.00429610
xor ebx, ebx
mov dword [0x85c158], ebx
mov dword [0x85c15c], ebx
call fcn.0042b6f0
fld qword [0x8ca4b0]
fadd dword [0x7156a8]
mov al, byte [0x8ccc27]
xor ebp, ebp
cmp al, bl
fstp dword [esp + 0x14]
jne case.0x42bbc1.10
jmp 0x42b860
fld qword [0x8ca4b0]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 5
jp case.0x42bbc1.10
cmp ebp, ebx
jne case.0x42bbc1.10
push ebx
call fcn.004aaf10
add esp, 4
push str.Menu
call fcn.0042e1a0
mov ebp, eax
mov eax, dword [0x86db5c]
add esp, 4
cmp eax, ebx
je 0x42b8f2
push ebp
push str.Menu
lea eax, [esp + 0x30]
push str._s__03X
push eax
call dword [sym.imp.MSVCR71.dll_sprintf]
mov ecx, dword [0x86db5c]
mov edx, dword [ecx]
add esp, 0x10
lea eax, [esp + 0x28]
push eax
mov edi, ecx
call dword [edx + 4]
mov ecx, dword [edi + 8]
mov esi, dword [ecx + eax*4]
cmp esi, ebx
je 0x42b8f2
mov eax, dword [esi + 4]
mov edx, dword [edi]
push eax
lea ecx, [esp + 0x2c]
push ecx
mov ecx, edi
call dword [edx + 8]
test al, al
jne 0x42b8ef
mov esi, dword [esi]
cmp esi, ebx
jne 0x42b8d3
jmp 0x42b8f2
mov ebp, dword [esi + 8]
cmp byte [0x8ccc27], bl
je 0x42b860
mov edi, edi
mov eax, dword [0x8ccbe8]
mov byte [eax + 0xc], bl
mov dword [eax + 4], 1
mov dword [eax], 1
cmp byte [0x8ccc26], bl
mov dword [0x85c11c], 0x64
je 0x42b996
mov al, byte [0x85c164]
test al, al
mov byte [0x8ccc27], bl
mov dword [0x8ccc38], 0xa
jns 0x42b94e
mov edx, dword [0x72ed78]
push edx
call fcn.004ea740
jmp 0x42b97a
mov ebp, dword [0x72ed78]
mov eax, dword [ebp + 0x58]
xor esi, esi
cmp eax, ebx
jle 0x42b97a
xor edi, edi
nop
mov ecx, dword [ebp + 4]
add ecx, edi
xor al, al
call fcn.004eafe0
mov eax, dword [ebp + 0x58]
inc esi
add edi, 0x124
cmp esi, eax
jl 0x42b960
cmp byte [0x7283b0], bl
je 0x42b996
push 0x8e87b0
call fcn.004981b0
push 0x8e87b0
call fcn.00497f20
cmp byte [0x8ccc27], bl
mov byte [0x8ccc26], bl
jne 0x42beb1
push 0xffffffffffffffff
push 0xbf800000
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x44
push 0x8ca280
call fcn.00488920
mov eax, dword [0x72880c]
mov ecx, dword [eax - 4]
add esp, 0x1c
cmp ecx, ebx
je 0x42b9da
mov ebp, 1
jmp 0x42bbb1
xor edi, edi
lea esp, [esp]
mov esi, dword [edi + 0x8cb568]
cmp esi, ebx
je 0x42b9fe
call fcn.00509910
push esi
call sub.MSVCR71.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [edi + 0x8cb568], ebx
push 0x68
call fcn.005354b8
add esp, 4
cmp eax, ebx
je 0x42ba7a
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x1c], ebx
mov dword [eax + 0x20], ebx
mov dword [eax + 0x24], ebx
mov dword [eax + 0x28], ebx
mov dword [eax + 0x2c], ebx
mov dword [eax + 0x30], ebx
mov dword [eax + 0x34], ebx
mov dword [eax + 0x38], ebx
mov dword [eax + 0x3c], ebx
mov dword [eax + 0x40], ebx
mov dword [eax + 0x4c], ebx
mov dword [eax + 0x50], ebx
mov dword [eax + 0x54], ebx
xor ecx, ecx
mov dword [eax + 0x58], ecx
mov dword [eax + 0x5c], ecx
mov edx, dword [0x8ccd20]
mov dword [eax + 0x60], edx
mov dword [0x8ccd20], eax
mov dword [eax], ebx
mov ecx, dword [0x71979c]
mov dword [eax + 0x14], ecx
mov edx, dword [0x7197a0]
mov dword [eax + 0x18], edx
mov ecx, dword [0x7197a4]
mov dword [eax + 0x1c], ecx
mov edx, dword [0x7197a8]
mov dword [eax + 0x20], edx
mov dword [eax + 0x64], ebx
jmp 0x42ba7c
xor eax, eax
mov ecx, dword [edi + 0x7281f4]
push ecx
push eax
mov dword [edi + 0x8cb568], eax
call fcn.00509df0
mov ecx, dword [0x729b28]
mov edx, dword [ecx]
mov esi, dword [edi + 0x8cb568]
push ebx
push 2
call dword [edx + 4]
add edi, 4
cmp edi, 0xc
mov dword [esi + 0x64], eax
jl 0x42b9e0
push str._n_Play_Sid_Meiers_Pirates__n_Load_A_Game_n_Change_Your_System_Options_n_Visit_The_Firaxis_Website_n_Visit_The_Hall_Of_Champions_n_View_Credits_n_Quit_n
mov esi, 0x8ebf58
call fcn.004f7660
mov eax, dword [0x85c11c]
imul eax, dword [0x8ccc18]
cdq
and edx, 0x3ff
add esp, 4
add eax, edx
sar eax, 0xa
push ebx
mov dword [esp + 0x18], eax
mov eax, dword [0x8cbdd8]
push 0x86bb48
push eax
mov dword [0x8cbde0], eax
call fcn.0050ac80
fild dword [0x72837c]
fmul st(1)
fidiv dword [0x8ccc18]
fimul dword [esp + 0x14]
fmul dword [0x715584]
call fcn.005f275c
fstp st(0)
mov edx, dword [0x7283a8]
push ebx
push ebx
mov ecx, eax
mov eax, dword [0x8cbdd8]
push 0xffffffffffffffff
mov dword [0x8cbde0], eax
mov eax, dword [0x85c26c]
push ebx
push 0x42b7c0
push edx
cdq
sub eax, edx
mov esi, eax
mov eax, ecx
cdq
push ebx
sub eax, edx
push str.pauseMenuBG.dds
sar eax, 1
sar esi, 1
sub esi, eax
push 0x46
push esi
mov byte [0x72740c], bl
call fcn.00430160
add esp, 0x28
mov ebp, eax
mov byte [0x72740c], 1
mov edi, 0x8cb568
lea esp, [esp]
mov esi, dword [edi]
cmp esi, ebx
je 0x42bb86
call fcn.00509910
push esi
call sub.MSVCR71.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [edi], ebx
add edi, 4
cmp edi, 0x8cb574
jl 0x42bb70
cmp ebp, 0xfffffffe
jne 0x42bba0
call fcn.0042b660
jmp case.0x42bbc1.10
cmp ebp, ebx
jl case.0x42bbc1.10
cmp ebp, 0xf
jg case.0x42bbc1.10
movsx eax, byte [ebp + 0x7273c0]
cmp eax, 0xe
ja case.0x42bbc1.10
jmp dword [eax*4 + 0x42bfc4]
push 0xbf800000
push 0x44
push 0x8ca280
call fcn.00488f20
mov al, byte [0x8ccc27]
add esp, 0xc
cmp al, bl
jne case.0x42bbc1.10
mov esi, dword [0x85c164]
mov eax, 0xc8
mov dword [0x86bab0], eax
mov word [0x81631e], ax
lea eax, [esp + 0x18]
push eax
or esi, 0x10000
mov eax, 0x1a
mov dword [0x85c158], 1
mov byte [0x862eb6], 0xa
mov dword [0x85c164], esi
call fcn.00438d90
mov eax, dword [0x85c164]
add esp, 4
and eax, 0xfffeffff
mov dword [0x85c164], eax
jmp case.0x42bbc1.10
push 0xbf800000
push 0x44
push 0x8ca280
mov dword [0x8cc92c], ebx
call fcn.00488f20
mov ecx, dword [0x728a84]
mov edx, dword [0x7283bc]
mov dword [ecx*4 + 0x7288f4], edx
mov eax, dword [0x728a84]
add esp, 0xc
inc eax
push ebx
mov dword [0x728a84], eax
mov dword [0x7283bc], 0xfffffff
call fcn.0046c830
add esp, 4
push 1
call fcn.00471d60
mov eax, dword [0x728a84]
add esp, 4
dec eax
mov dword [0x728a84], eax
mov eax, dword [eax*4 + 0x7288f4]
mov dword [0x7283bc], eax
jmp case.0x42bbc1.10
push 0xbf800000
push 0x44
push 0x8ca280
call fcn.00488f20
add esp, 0xc
push ebx
push ebx
push 2
call fcn.00415860
add esp, 0xc
cmp eax, 0xffffffff
je case.0x42bbc1.10
push str.Another_dance__n_Sure._n_No__thanks._n
mov esi, 0x8ebf58
call fcn.004f7660
mov ecx, dword [0x85c268]
add esp, 4
mov eax, 0x55555556
imul ecx
mov eax, dword [0x85c26c]
push ebx
push ebx
push 0xffffffffffffffff
push ebx
mov ecx, edx
push ebx
shr ecx, 0x1f
add ecx, edx
cdq
push 0xffffffffffffffff
push ebx
sub eax, edx
push str.daughter.pcx
sar eax, 1
push ecx
add eax, 0x1c
push eax
call fcn.00430160
add esp, 0x28
cmp eax, ebx
je 0x42bcc7
jmp case.0x42bbc1.10
push 0xbf800000
push 0x44
push 0x8ca280
call fcn.00488f20
add esp, 0xc
call fcn.0048c040
jmp case.0x42bbc1.10
push 0xbf800000
push 0x44
push 0x8ca280
call fcn.00488f20
add esp, 0xc
call fcn.00419370
jmp case.0x42bbc1.10
push 0xbf800000
push 0x44
push 0x8ca280
call fcn.00488f20
add esp, 0xc
push ebx
call fcn.00479fa0
add esp, 4
jmp case.0x42bbc1.10
push 0xbf800000
push 0x44
push 0x8ca280
call fcn.00488f20
add esp, 0xc
push 0xbf800000
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x31
or esi, 0xffffffff
xor eax, eax
or ecx, 0xffffffff
call fcn.00488840
add esp, 0x10
call fcn.00471a10
test al, al
je case.0x42bbc1.10
mov edx, dword [0x728a84]
mov eax, dword [0x7283bc]
mov dword [edx*4 + 0x7288f4], eax
mov esi, dword [0x728a84]
inc esi
push ebx
mov dword [0x728a84], esi
mov dword [0x7283bc], 0xfffffff
call fcn.0046c830
mov al, byte [0x8ccc27]
add esp, 4
cmp al, bl
jne 0x42be0e
push ebx
call fcn.00471d60
add esp, 4
mov eax, dword [0x728a84]
dec eax
mov dword [0x728a84], eax
mov ecx, dword [eax*4 + 0x7288f4]
mov dword [0x7283bc], ecx
jmp case.0x42bbc1.10
push 0xbf800000
push 0x44
push 0x8ca280
call fcn.00488f20
add esp, 0xc
call fcn.00455c00
jmp case.0x42bbc1.10
push 0xbf800000
push 0x44
push 0x8ca280
call fcn.00488f20
add esp, 0xc
push str.Are_you_sure_you_want_to_quit__n_Yes__n_No_n
mov esi, 0x8ebf58
call fcn.004f7660
mov eax, dword [0x85c268]
add esp, 4
push ebx
push ebx
cdq
push 0xffffffffffffffff
push ebx
push ebx
and edx, 3
add eax, edx
sar eax, 2
push 0xffffffffffffffff
or eax, 1
push ebx
push str.pauseMenuBG.dds
push eax
mov eax, dword [0x85c26c]
cdq
and edx, 3
add eax, edx
sar eax, 2
add eax, 0x10
push eax
call fcn.00430160
add esp, 0x28
test eax, eax
jne case.0x42bbc1.10
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, 0x8eafe8
call fcn.004ca110
xor ebx, ebx
jmp case.0x42bbc1.10
push 0xa
push ebx
push str.http:__www.firaxis.com
mov eax, 0x728b38
call fcn.004f57d0
push eax
push ebx
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
mov edx, dword [0x728b8c]
push 6
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
cmp byte [0x8ccc27], bl
jne case.0x42bbc1.10
cmp byte [0x728b3c], bl
jne case.0x42bbc1.10
call dword [sym.imp.USER32.dll_WaitMessage]
push ebx
call fcn.0042e1a0
mov al, byte [0x8ccc27]
add esp, 4
cmp al, bl
je 0x42bf00
jmp case.0x42bbc1.10
push 0xbf800000
push 0x44
push 0x8ca280
call fcn.00488f20
mov eax, dword [0x72880c]
mov ecx, dword [eax - 4]
add esp, 0xc
cmp ecx, ebx
jne 0x42bf53
push 1
call fcn.004b6760
add esp, 4
cmp byte [0x8ccc27], bl
jne case.0x42bbc1.10
mov ecx, dword [0x72880c]
cmp dword [ecx - 4], ebx
je case.0x42bbc1.10
mov edx, 0xfffffff
call fcn.004aeb80
push 1
call fcn.0046c830
mov al, byte [0x8ccc27]
add esp, 4
cmp al, bl
jne 0x42bf95
push 1
call fcn.00471d60
add esp, 4
call fcn.004aeba0
jmp case.0x42bbc1.10
call fcn.00454a50
mov eax, 3
call fcn.0042e700
jmp case.0x42bbc1.10
push ebx
call fcn.004b4e50
add esp, 4
jmp case.0x42bbc1.10