Function at 0x40d464
Capabilities:
Create process on windows
Print debug messages
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x364
lea ecx, [ebp - 0x10c]
call fcn.0040f370
push 0x100
lea eax, [ebp - 0x104]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov edx, dword [str.SoftwareSUNFLATFlyingJump3]
push edx
push 0x80000001
lea ecx, [ebp - 0x10c]
call fcn.00418570
test eax, eax
je 0x40d4cb
lea eax, [ebp - 0x104]
push eax
push str.Fly3Location
lea ecx, [ebp - 0x10c]
call fcn.004186b3
lea ecx, [ebp - 0x10c]
call fcn.004185cb
push 0x5c
lea ecx, [ebp - 0x104]
push ecx
call fcn.0040f440
add esp, 8
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x40d558
mov edx, dword [ebp - 4]
mov byte [edx], 0
lea eax, [ebp - 0x104]
push eax
call fcn.0042dadc
add esp, 4
lea ecx, [ebp - 0x104]
push ecx
push 0x439940
call fcn.004240d0
add esp, 8
push 0x4338b0
push 0x439940
call fcn.004240e0
add esp, 8
push 0x439940
push 0x439bc4
call fcn.004240d0
add esp, 8
push str.savedata.ini
push 0x439bc4
call fcn.004240e0
add esp, 8
push str.debug.log
lea edx, [ebp - 0x104]
push edx
call fcn.004240e0
add esp, 8
push str.FLY3:CmdLine
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [ebp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x4338e0
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov ecx, dword [ebp + 0x10]
movsx edx, byte [ecx]
test edx, edx
jne 0x40d5ba
push 5
push 0x4338e4
call dword [sym.imp.KERNEL32.dll_WinExec]
push str.FLY3:Fly3Run.exe
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov dword [ebp - 0x34c], 1
lea ecx, [ebp - 0x10c]
call fcn.0040f390
mov eax, dword [ebp - 0x34c]
jmp 0x40da80
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax]
test ecx, ecx
je 0x40d60a
mov edx, dword [ebp + 0x10]
movsx eax, byte [edx]
cmp eax, 0x22
jne 0x40d5f9
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.00424f10
add esp, 4
mov edx, dword [ebp + 0x10]
mov byte [edx + eax - 1], 0
mov eax, dword [ebp + 0x10]
add eax, 1
push eax
push str.map_std.fj3
call fcn.004240d0
add esp, 8
jmp 0x40d60a
mov ecx, dword [ebp + 0x10]
push ecx
push str.map_std.fj3
call fcn.004240d0
add esp, 8
push str.FLY3:StageFileName
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push str.map_std.fj3
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x43391c
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x2e
push str.map_std.fj3
call fcn.0040f440
add esp, 8
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x40d664
push str..3dm
mov edx, dword [ebp - 4]
push edx
call fcn.0042da50
add esp, 8
test eax, eax
jne 0x40d664
mov dword [ebp - 0x364], 1
jmp 0x40d66e
mov dword [ebp - 0x364], 0
mov eax, dword [ebp - 0x364]
mov dword [0x439924], eax
cmp dword [0x439924], 0
je 0x40d69b
mov dword [0x43a288], 1
mov dword [0x439830], 0x63
jmp 0x40d8f3
push 4
push 0x43a288
push str.map_std.fj3
push str.STAGENUM
call fcn.00411fd9
add esp, 0x10
test eax, eax
jne 0x40d707
push str.map_std.fj3
push 0x433934
lea ecx, [ebp - 0x22c]
push ecx
call fcn.00424218
add esp, 0xc
push 0
push 0x433954
lea edx, [ebp - 0x22c]
push edx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [ebp - 0x350], 1
lea ecx, [ebp - 0x10c]
call fcn.0040f390
mov eax, dword [ebp - 0x350]
jmp 0x40da80
push 4
lea eax, [ebp - 0x12c]
push eax
push str.map_std.fj3
push str.MAPVERSION
call fcn.00411fd9
add esp, 0x10
test eax, eax
je 0x40d77e
cmp dword [ebp - 0x12c], 4
jle 0x40d77e
push str.map_std.fj3
push 0x43396c
lea ecx, [ebp - 0x32c]
push ecx
call fcn.00424218
add esp, 0xc
push 0
push 0x4339bc
lea edx, [ebp - 0x32c]
push edx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [ebp - 0x354], 1
lea ecx, [ebp - 0x10c]
call fcn.0040f390
mov eax, dword [ebp - 0x354]
jmp 0x40da80
push 4
push 0x439830
push str.map_std.fj3
push str.LEFT
call fcn.00411fd9
add esp, 0x10
test eax, eax
jne 0x40d7a5
mov dword [0x439830], 0
push 0x2000
push 0x4377f0
push str.map_std.fj3
push str.ENDING
call fcn.00411fd9
add esp, 0x10
test eax, eax
jne 0x40d7cc
mov byte [0x4377f0], 0
mov dword [0x432f14], 1
push str.map_std.fj3
call fcn.00406fd5
add esp, 4
mov dword [0x43a2a8], eax
push 0x5c
push str.map_std.fj3
call fcn.0040f440
add esp, 8
mov dword [ebp - 0x330], eax
cmp dword [ebp - 0x330], 0
jne 0x40d812
mov dword [ebp - 0x330], str.map_std.fj3
jmp 0x40d821
mov eax, dword [ebp - 0x330]
add eax, 1
mov dword [ebp - 0x330], eax
mov ecx, dword [0x43a2a8]
push ecx
mov edx, dword [ebp - 0x330]
push edx
push str._s_SAVE__d
push 0x439a44
call fcn.00424218
add esp, 0x10
push 0x439bc4
push 0
push 0x439a44
push str.SaveData
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x338], eax
mov eax, dword [ebp - 0x338]
and eax, 0xff
mov dword [ebp - 0x334], eax
mov dword [ebp - 0x33c], 0
cmp dword [ebp - 0x334], 0
jle 0x40d8f3
mov ecx, dword [0x43a2a8]
add ecx, 0x141
push ecx
lea ecx, [ebp - 0x344]
call fcn.0040f3b0
mov dword [ebp - 0x340], 0
jmp 0x40d8b5
mov edx, dword [ebp - 0x340]
add edx, 1
mov dword [ebp - 0x340], edx
mov eax, dword [ebp - 0x340]
cmp eax, dword [ebp - 0x334]
jge 0x40d8d6
lea ecx, [ebp - 0x344]
call fcn.0040f3f0
mov dword [ebp - 0x33c], eax
jmp 0x40d8a6
mov ecx, dword [ebp - 0x338]
sar ecx, 8
cmp ecx, dword [ebp - 0x33c]
jne 0x40d8f3
mov edx, dword [ebp - 0x334]
mov dword [0x432f14], edx
push str.FLY3:FirstMapCheck_OK_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0040da86
add esp, 8
test eax, eax
jne 0x40d932
mov dword [ebp - 0x358], 1
lea ecx, [ebp - 0x10c]
call fcn.0040f390
mov eax, dword [ebp - 0x358]
jmp 0x40da80
mov edx, 1
test edx, edx
je 0x40da65
push 1
push 0
push 0
push 0
lea eax, [ebp - 0x128]
push eax
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x40d9cc
cmp dword [ebp - 0x124], 0x12
jne 0x40d9ad
mov ecx, dword [ebp - 0x120]
push ecx
call dword [sym.imp.USER32.dll_PostQuitMessage]
cmp dword [0x432f2c], 0
je 0x40d98d
cmp dword [0x439924], 0
jne 0x40d98d
push 5
push str.fly3run.exe
call dword [sym.imp.KERNEL32.dll_WinExec]
mov dword [ebp - 0x35c], 0
lea ecx, [ebp - 0x10c]
call fcn.0040f390
mov eax, dword [ebp - 0x35c]
jmp 0x40da80
lea edx, [ebp - 0x128]
push edx
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x128]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x40d93f
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x439808], eax
cmp dword [0x43a2f0], 0
jne 0x40d9e9
cmp dword [0x436fb4], 0
je 0x40da60
cmp dword [0x436fa8], 0
je 0x40da60
mov ecx, dword [0x43a330]
cmp ecx, dword [0x439808]
ja 0x40da60
mov eax, dword [0x439808]
sub eax, dword [0x43a330]
xor edx, edx
mov ecx, 0xa
div ecx
mov dword [ebp - 0x348], eax
cmp dword [ebp - 0x348], 0x64
jle 0x40da42
mov edx, dword [ebp - 0x348]
imul edx, edx, 0xa
mov eax, dword [0x43a330]
add eax, edx
mov dword [0x43a330], eax
mov dword [ebp - 0x348], 0
mov ecx, dword [0x43a330]
add ecx, 0xa
mov dword [0x43a330], ecx
mov edx, dword [ebp - 0x348]
push edx
call fcn.00409dc6
add esp, 4
jmp 0x40d932
mov dword [ebp - 0x360], 0
lea ecx, [ebp - 0x10c]
call fcn.0040f390
mov eax, dword [ebp - 0x360]
mov esp, ebp
pop ebp
ret 0x10