Function at 0x425146
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2f0
mov eax, dword [0x4cdbf8]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x4eeef8]
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x2bc], edx
push ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x288], ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x2a4], edi
test eax, eax
je 0x4253cd
mov dword [ebp - 0x250], 0
mov ecx, 0x4b19af
mov eax, dword [eax + 0x10]
mov esi, ecx
mov dword [ebp - 0x2ac], eax
mov eax, dword [sym.imp.USER32.dll_GetClientRect]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x2d8], 0x4b19af
mov dword [ebp - 0x2a0], ecx
mov dword [ebp - 0x2c4], ecx
mov dword [ebp - 0x290], ecx
mov dword [ebp - 0x2c0], ecx
mov dword [ebp - 0x2b0], ecx
mov dword [ebp - 0x2b4], ecx
mov dword [ebp - 0x29c], esi
mov dword [ebp - 0x294], esi
mov dword [ebp - 0x2d0], ecx
mov dword [ebp - 0x2f0], ecx
mov dword [ebp - 0x2ec], ecx
mov dword [ebp - 0x2e8], ecx
mov dword [ebp - 0x2e4], ecx
mov dword [ebp - 0x298], ecx
mov dword [ebp - 0x2c8], ecx
mov dword [ebp - 0x2b8], ecx
mov dword [ebp - 0x2cc], 0
test edx, edx
je 0x424fb3
test eax, eax
jne 0x424fb3
push 0xf8e
push str.D:MyProjectsProPilotLibLibMain.c
push fcn.004845db
push eax
push edx
lea eax, [ebp - 0x250]
push eax
call fcn.004249c0
mov eax, dword [ebp - 0x250]
add esp, 0x18
mov dword [ebp - 0x28c], eax
jmp 0x425116
push ebx
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
push 0
push edi
lea esi, [eax + 1]
call fcn.0042c230
push esi
call fcn.00487397
add esp, 0xc
mov dword [ebp - 0x250], eax
push esi
push eax
push ebx
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea esi, [edi + 0x44]
push esi
push ebx
call dword [ebp - 0x2d4]
mov eax, dword [edi + 0x4c]
mov ecx, 0x4a1744
sub eax, dword [esi]
mov dword [edi + 0x20], eax
mov eax, dword [edi + 0x50]
sub eax, dword [edi + 0x48]
cmp dword [ebp + 0x14], 0
mov dword [edi + 0x24], eax
mov dword [ebp - 0x290], ecx
mov dword [ebp - 0x2b8], 0x4a1748
je 0x4250fe
mov esi, dword [ebp - 0x2bc]
test esi, esi
je 0x4250fe
cmp byte [esi], 0
je 0x4250fe
push 0x3b
push esi
call fcn.0048d4ac
add esp, 8
test eax, eax
je 0x425053
nop
mov cl, byte [eax]
test cl, cl
je 0x425053
cmp cl, 0x3b
jne 0x42504e
mov byte [eax], 0x20
add eax, 1
jne 0x425040
cmp byte [esi], 0x7c
mov ebx, dword [ebp - 0x250]
je 0x425071
cmp byte [ebx], 0x7c
jne 0x425071
push 0x7c
push ebx
call fcn.0048ed89
add esp, 8
lea ebx, [eax + 1]
push 0x3b
push ebx
call fcn.0048d4ac
add esp, 8
mov byte [ebx], 0
test eax, eax
mov ecx, esi
mov edx, 0x4b19af
cmovne edx, eax
mov dword [ebp - 0x28c], edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x425094
sub ecx, esi
mov esi, edx
lea edx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4250a2
sub esi, edx
sub esi, dword [ebp - 0x250]
add esi, ecx
add esi, ebx
lea eax, [esi + 1]
push eax
call fcn.00487397
push dword [ebp - 0x28c]
mov ebx, eax
push dword [ebp - 0x2bc]
mov dword [ebp - 0x2e0], ebx
mov byte [ebx + esi], 0
push dword [ebp - 0x250]
push str._s_s_s
push esi
push ebx
call fcn.00423b40
push dword [ebp - 0x250]
call fcn.0048737c
add esp, 0x20
mov dword [ebp - 0x250], ebx
jmp 0x42510a
mov ebx, dword [ebp - 0x250]
mov dword [ebp - 0x2e0], ebx
mov eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x28c], ebx
push 0x3b
push eax
xor ebx, ebx
call fcn.0048d4ac
mov esi, eax
add esp, 8
test esi, esi
je 0x425233
mov edi, 0x4b19af
mov byte [esi], 0
inc esi
cmp ebx, 0xf
ja case.default.0x42513f
jmp dword [ebx*4 + 0x426558]
mov dword [ebp - 0x2d8], esi
jmp 0x42520d
mov dword [ebp - 0x290], esi
mov dword [ebp - 0x2c0], esi
jmp 0x42520d
mov dword [ebp - 0x2cc], 1
mov dword [ebp - 0x2b0], esi
jmp 0x42520d
mov dword [ebp - 0x2b4], esi
jmp 0x42520d
mov dword [ebp - 0x29c], esi
jmp 0x42520d
mov dword [ebp - 0x294], esi
jmp 0x42520d
mov dword [ebp - 0x298], esi
jmp 0x42520d
test edi, edi
je 0x4251a6
cmp byte [edi], 0
jne 0x42520d
mov edi, esi
jmp 0x42520d
mov dword [ebp - 0x2b8], esi
jmp 0x42520d
mov dword [ebp - 0x2a0], esi
jmp 0x42520d
mov dword [ebp - 0x2c4], esi
jmp 0x42520d
mov dword [ebp - 0x2d0], esi
jmp 0x42520d
mov dword [ebp + ebx*4 - 0x320], esi
jmp 0x42520d
mov eax, dword [0x4eeee0]
test eax, eax
je 0x4251e4
mov ecx, dword [eax + 0x190]
jmp 0x4251ea
mov ecx, dword [0x4eeee4]
push str.Unknown_button_option__s
push esi
push str.Unknown_button_option__s
push eax
push ecx
push 0
push 0xfc3
push str.D:MyProjectsProPilotLibLibMain.c
push 3
call fcn.0045b760
add esp, 0x24
push 0x3b
push esi
inc ebx
call fcn.0048d4ac
mov esi, eax
add esp, 8
test esi, esi
jne 0x425132
mov dword [ebp - 0x2c8], edi
mov edi, dword [ebp - 0x2a4]
test ebx, ebx
jne 0x42526c
cmp byte [edi + 0x6c], 0
lea edx, [edi + 0x6c]
je 0x42526c
mov ebx, dword [ebp - 0x28c]
mov ecx, ebx
sub edx, ebx
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx - 1], al
test al, al
jne 0x425246
push ebx
push 0x29a
push 0xc
push dword [ebp - 0x288]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x42652c
mov ebx, dword [ebp - 0x2d8]
xor edx, edx
mov al, byte [edx + ebx]
test al, al
je 0x425287
mov byte [edi + edx + 0x64], al
inc edx
cmp edx, 8
jl 0x425274
jmp 0x42529f
mov eax, 8
lea ecx, [edx + 0x64]
sub eax, edx
add ecx, edi
push eax
push 0x30
push ecx
call fcn.00481c10
add esp, 0xc
cmp dword [ebp - 0x2cc], 0
mov eax, dword [sym.imp.USER32.dll_GetWindowLongA]
mov dword [ebp - 0x2cc], eax
jne 0x4253e0
cmp dword [ebp - 0x2bc], 0
je 0x4252ca
cmp dword [ebp + 0x14], 0
je 0x4253e0
push 0xfffffffffffffff0
push dword [ebp - 0x288]
call eax
mov esi, eax
lea eax, [ebp - 0x38]
push 0x32
push eax
push dword [ebp - 0x288]
call dword [sym.imp.USER32.dll_GetClassNameA]
lea eax, [ebp - 0x38]
push str.button
push eax
call fcn.0048eaa2
add esp, 8
test eax, eax
jne 0x425315
mov eax, esi
and al, 0xf
cmp al, 1
jbe 0x4253e0
test esi, 0x1000
jne 0x4253e0
lea eax, [edi + 0x44]
xorps xmm0, xmm0
push eax
push dword [ebp - 0x288]
movups xmmword [eax], xmm0
lea esi, [edi + 0x54]
movups xmmword [esi], xmm0
call dword [ebp - 0x2d4]
push esi
push dword [ebp - 0x288]
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
push esi
push dword [ebp - 0x288]
call dword [sym.imp.USER32.dll_GetParent]
push eax
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov esi, dword [ebp - 0x2c0]
cmp byte [esi], 0
je 0x42539a
push 2
push 0x4b2168
push esi
call fcn.004873a2
add esp, 0xc
test eax, eax
jne 0x42538e
lea eax, [edi + 0x30]
push eax
lea eax, [esi + 2]
push 0x4b216c
push eax
call fcn.00401063
add esp, 0xc
test eax, eax
jne 0x42539a
push esi
call fcn.00488212
add esp, 4
mov dword [edi + 0x30], eax
cmp byte [ebx], 0
jne 0x4253a8
cmp dword [ebp - 0x2bc], 0
je 0x4253ba
push dword [ebp - 0x28c]
push dword [ebp - 0x288]
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, dword [ebp - 0x250]
test eax, eax
je 0x4253cd
push eax
call fcn.0048737c
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0047fe8c
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp - 0x28c]
movsd xmm0, qword [0x4a1cc0]
movsd qword [ebp - 0x2dc], xmm0
cmp byte [esi], 0
je 0x42587e
mov ebx, dword [ebp - 0x298]
cmp byte [ebx], 0
jne 0x42587e
mov ebx, dword [ebp - 0x29c]
cmp byte [ebx], 0
jne 0x42587e
cmp dword [0x4eef44], 0
jne 0x42587e
cmp dword [edi + 0x20], 0x48
jl 0x42587e
push 0x4a1770
push esi
call fcn.0048eaa2
add esp, 8
test eax, eax
jne 0x425485
mov ecx, dword [0x4eeef8]
mov eax, dword [ecx + 4]
test eax, 0x400
jne 0x425477
mov esi, 0x4a1780
mov dword [ebp - 0x298], str.okcancelbmp
mov dword [ebp - 0x29c], esi
mov dword [ebp - 0x294], esi
mov esi, dword [ebp - 0x28c]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0x2ac], edx
jmp 0x4255c8
push str.Save
push esi
call fcn.0048eaa2
add esp, 8
test eax, eax
jne 0x4254db
mov ecx, dword [0x4eeef8]
mov eax, dword [ecx + 4]
test eax, 0x400
jne 0x4254cd
mov dword [ebp - 0x298], str.savebmp
mov esi, 0x4a1794
mov dword [ebp - 0x29c], esi
mov esi, 0x4a1780
mov dword [ebp - 0x294], esi
mov esi, dword [ebp - 0x28c]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0x2ac], edx
jmp 0x4255c8
push str.Undo
push esi
call fcn.0048eaa2
add esp, 8
test eax, eax
jne 0x425509
mov ecx, dword [0x4eeef8]
mov eax, dword [ecx + 4]
test eax, 0x400
jne 0x4254cd
mov dword [ebp - 0x298], str.undobmp
jmp 0x4254b1
push 0x4a17a0
push esi
call fcn.0048eaa2
add esp, 8
test eax, eax
jne 0x425557
mov ecx, dword [0x4eeef8]
mov eax, dword [ecx + 4]
test eax, 0x400
jne 0x4254cd
mov edx, dword [ecx + 0x14]
mov esi, 0x4a1794
mov dword [ebp - 0x29c], esi
mov dword [ebp - 0x294], esi
mov esi, dword [ebp - 0x28c]
mov dword [ebp - 0x298], str.okcancelbmp
mov dword [ebp - 0x2ac], edx
jmp 0x4255c8
push str.Exit
push esi
call fcn.0048eaa2
add esp, 8
test eax, eax
jne 0x42562b
mov edx, dword [0x4eeef8]
mov eax, dword [edx + 4]
test eax, 0x400
jne 0x4255bf
mov ecx, dword [0x4eef40]
test ecx, ecx
je 0x425599
mov dword [ebp - 0x298], str.exitbmp
cmp ecx, 0x100
jl 0x4255a3
mov dword [ebp - 0x298], str.exitbmp16
mov esi, 0x4a1794
mov dword [ebp - 0x29c], esi
mov esi, 0x4a1780
mov dword [ebp - 0x294], esi
mov esi, dword [ebp - 0x28c]
mov ecx, dword [edx + 0x14]
mov dword [ebp - 0x2ac], ecx
and eax, 0x900000
mov dword [ebp - 0x2a0], 0x4a1788
mov ecx, 0x4a1784
mov dword [ebp - 0x290], ecx
cmp eax, 0x900000
jne 0x42562b
push 0x4a17b8
push esi
push 0x4a17b8
lea eax, [ebp - 0x22c]
push 0x12c
push eax
call fcn.00420ad0
add esp, 0x14
push eax
push dword [ebp - 0x288]
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov ecx, 0x4a1788
mov dword [ebp - 0x2a0], ecx
mov ecx, 0x4a1784
mov dword [ebp - 0x290], ecx
mov eax, dword [ebp - 0x2b0]
cmp byte [eax], 0
je 0x425645
mov eax, dword [ebp - 0x2b4]
cmp byte [eax], 0
jne 0x42587e
push 0x4a1770
push esi
call fcn.0048eaa2
add esp, 8
test eax, eax
je 0x425869
push str.Start
push esi
call fcn.0048eaa2
add esp, 8
test eax, eax
je 0x425869
push 0x4a17a0
push esi
call fcn.0048eaa2
add esp, 8
test eax, eax
je 0x425853
push str.Exit
push esi
call fcn.0048eaa2
add esp, 8
test eax, eax
je 0x425853
push str.Close
push esi
call fcn.0048eaa2
add esp, 8
test eax, eax
je 0x425853
push str.Delete
push esi
call fcn.0048eaa2
add esp, 8
test eax, eax
je 0x425853
push str.Remove
push esi
call fcn.0048eaa2
add esp, 8
test eax, eax
je 0x425853
push str.Stop
push esi
call fcn.0048eaa2
add esp, 8
test eax, eax
je 0x425853
cmp dword [0x4eef44], 0
je 0x425733
push str._06x
push 0x12
call dword [sym.imp.USER32.dll_GetSysColor]
push eax
push str._06x
lea eax, [ebp - 0x100]
push 0x64
push eax
call fcn.00420ad0
add esp, 0x14
mov dword [ebp - 0x2b4], eax
mov dword [ebp - 0x2b0], eax
jmp 0x42587e
cmp dword [ebp - 0x2bc], 0
je 0x425746
cmp dword [ebp + 0x14], 0
je 0x42587e
mov esi, dword [sym.imp.USER32.dll_GetSysColor]
push 0xf
call esi
push 0x12
mov ebx, eax
call esi
mov edx, eax
movsd xmm3, qword [ebp - 0x2dc]
sar eax, 0x10
movzx eax, al
movsd xmm2, qword [0x4a1c88]
push str._06x
mov dword [ebp - 0x2a4], edx
movd xmm1, eax
mov eax, ebx
sar eax, 0x10
movzx eax, al
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm3
mulsd xmm0, xmm2
addsd xmm1, xmm0
cvttsd2si eax, xmm1
movzx ecx, al
mov eax, edx
sar eax, 8
or ecx, 0x200
movzx eax, al
shl ecx, 8
movd xmm1, eax
mov eax, ebx
sar eax, 8
movzx eax, al
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm3
mulsd xmm0, xmm2
addsd xmm1, xmm0
cvttsd2si eax, xmm1
movzx eax, al
or ecx, eax
movzx eax, dl
shl ecx, 8
movd xmm1, eax
movzx eax, bl
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm3
mulsd xmm0, xmm2
addsd xmm1, xmm0
cvttsd2si eax, xmm1
movzx eax, al
or ecx, eax
lea eax, [ebp - 0x100]
push ecx
push str._06x
push 0x64
push eax
call fcn.00420ad0
push str._06x
push dword [ebp - 0x2a4]
mov dword [ebp - 0x2b0], eax
lea eax, [ebp - 0x9c]
push str._06x
push 0x64
push eax
call fcn.00420ad0
add esp, 0x28
mov dword [ebp - 0x2b4], eax
jmp 0x42587e
mov dword [ebp - 0x2b0], str.202080
mov dword [ebp - 0x2b4], str.2020ff
jmp 0x42587e
mov ecx, str.b000
mov dword [ebp - 0x2b0], str.6000
mov dword [ebp - 0x2b4], ecx
mov ebx, dword [ebp - 0x290]
cmp byte [ebx], 0
je 0x4258c2
push 2
push 0x4b2168
push ebx
call fcn.004873a2
add esp, 0xc
test eax, eax
jne 0x4258b6
lea eax, [edi + 0x30]
push eax
lea eax, [ebx + 2]
push 0x4b216c
push eax
call fcn.00401063
add esp, 0xc
test eax, eax
jne 0x4258c2
push ebx
call fcn.00488212
add esp, 4
mov dword [edi + 0x30], eax
mov eax, dword [edi + 0x30]
test eax, eax
jne 0x4258e7
push dword [ebp - 0x28c]
push 0x29a
push 0xc
push dword [ebp - 0x288]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x4253ba
cmp dword [0x4eef44], 0
mov ebx, dword [ebp - 0x28c]
je 0x425903
cmp byte [ebx], 0
je 0x425903
or eax, 0x82040
mov dword [edi + 0x30], eax
push 0x26
push ebx
call fcn.0048d4ac
add esp, 8
test eax, eax
je 0x425919
movsx eax, byte [eax + 1]
mov dword [edi + 0x28], eax
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x234], eax
mov eax, dword [edi + 0x24]
mov dword [ebp - 0x230], eax
cmp byte [ebx], 0
je 0x425943
mov edx, edi
mov ecx, ebx
sub edx, ebx
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx + 0x6b], al
test al, al
jne 0x425936
mov ecx, dword [ebp - 0x2b8]
cmp byte [ecx], 0
je 0x425968
mov eax, dword [ebp - 0x298]
cmp byte [eax], 0
je 0x425968
push ecx
call fcn.00488212
add esp, 4
mov dword [ebp - 0x234], eax
mov eax, dword [ebp - 0x2a0]
cmp byte [eax], 0
je 0x42597f
push eax
call fcn.00488212
add esp, 4
mov dword [edi + 0x18], eax
mov eax, dword [ebp - 0x2c4]
cmp byte [eax], 0
je 0x425996
push eax
call fcn.00488212
add esp, 4
mov dword [edi + 0x1c], eax
push 0x63
push dword [ebp - 0x2c8]
lea ebx, [edi + 0x134]
push ebx
call fcn.0048ef45
mov ecx, dword [sym.imp.USER32.dll_SendMessageA]
add esp, 0xc
cmp byte [ebx], 0
mov dword [ebp - 0x290], ecx
mov ecx, dword [sym.imp.USER32.dll_GetWindowRect]
mov dword [ebp - 0x2c4], ecx
mov ecx, dword [sym.imp.USER32.dll_MapWindowPoints]
mov dword [ebp - 0x2c0], ecx
mov ecx, dword [sym.imp.USER32.dll_GetParent]
mov byte [edi + 0x197], 0
mov eax, dword [edi + 0x1a8]
mov dword [ebp - 0x2a0], ecx
je 0x425c0c
test eax, eax
je 0x425a08
mov esi, dword [sym.imp.USER32.dll_DestroyWindow]
push eax
call esi
push dword [edi + 0x1b8]
call esi
mov eax, dword [0x4eeef8]
push 0
mov esi, dword [sym.imp.USER32.dll_CreateWindowExA]
push dword [eax + 0x10]
push 0
push dword [ebp - 0x288]
push 0xa
push 0xa
push SysReAllocString
push SysReAllocString
push SysReAllocString
push 0
push str.tooltips_class32
push 0
call esi
mov dword [edi + 0x1a8], eax
mov eax, dword [0x4eeef8]
push 0
push dword [eax + 0x10]
push 0
push dword [ebp - 0x288]
call dword [ebp - 0x2a0]
push eax
push 0xa
push 0xa
push SysReAllocString
push SysReAllocString
push SysReAllocString
push 0
push str.tooltips_class32
push 0
call esi
mov esi, dword [ebp - 0x288]
xorps xmm0, xmm0
push esi
mov dword [edi + 0x1b8], eax
movlpd qword [ebp - 0x274], xmm0
movlpd qword [ebp - 0x26c], xmm0
mov dword [ebp - 0x264], 0
movlpd qword [ebp - 0x25c], xmm0
mov dword [ebp - 0x284], 0x30
mov dword [ebp - 0x280], 0x11
call dword [ebp - 0x2a0]
mov dword [ebp - 0x27c], eax
lea eax, [ebp - 0x284]
push eax
push 0
push 0x404
push dword [edi + 0x1a8]
mov dword [ebp - 0x278], esi
mov dword [ebp - 0x260], ebx
call dword [ebp - 0x290]
push 0xc8
push 3
push 0x403
push dword [edi + 0x1a8]
call dword [ebp - 0x290]
push 0x32
push 1
push 0x403
push dword [edi + 0x1a8]
call dword [ebp - 0x290]
push 0xffffffffffffffff
push 2
push 0x403
push dword [edi + 0x1a8]
call dword [ebp - 0x290]
xorps xmm0, xmm0
mov dword [ebp - 0x284], 0x30
push esi
movlpd qword [ebp - 0x27c], xmm0
movlpd qword [ebp - 0x274], xmm0
movlpd qword [ebp - 0x26c], xmm0
movlpd qword [ebp - 0x264], xmm0
movlpd qword [ebp - 0x25c], xmm0
mov dword [ebp - 0x280], 0x10
call dword [ebp - 0x2a0]
xorps xmm0, xmm0
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x260], ebx
movups xmmword [ebp - 0x274], xmm0
lea eax, [ebp - 0x274]
push eax
push esi
call dword [ebp - 0x2c4]
push 2
lea eax, [ebp - 0x274]
push eax
push esi
call dword [ebp - 0x2a0]
push eax
push 0
call dword [ebp - 0x2c0]
mov ebx, dword [ebp - 0x290]
lea eax, [ebp - 0x284]
push eax
push 0
push 0x404
push dword [edi + 0x1b8]
call ebx
push 0xc8
push 3
push 0x403
push dword [edi + 0x1b8]
call ebx
push 0x32
push 1
push 0x403
push dword [edi + 0x1b8]
call ebx
push 0xffffffffffffffff
push 2
push 0x403
push dword [edi + 0x1b8]
call ebx
jmp 0x425c35
test eax, eax
je 0x425c35
mov esi, dword [sym.imp.USER32.dll_DestroyWindow]
push eax
call esi
push dword [edi + 0x1b8]
call esi
mov dword [edi + 0x1a8], 0
mov dword [edi + 0x1b8], 0
mov eax, dword [ebp - 0x294]
mov ebx, dword [ebp - 0x298]
mov edx, dword [ebp - 0x29c]
mov esi, edx
cmp byte [eax], 0
cmovne esi, eax
mov al, byte [ebx]
mov dword [ebp - 0x294], esi
test al, al
jne 0x425c5f
cmp byte [edx], al
je 0x425cc1
mov ecx, dword [edi + 0x198]
test ecx, ecx
je 0x425c82
push ecx
call dword [sym.imp.COMCTL32.dll_ImageList_Destroy]
mov edx, dword [ebp - 0x29c]
mov dword [edi + 0x198], 0
mov al, byte [ebx]
test al, al
jne 0x425c8a
cmp byte [edx], al
je 0x425cc1
cmp dword [edi + 0x1ac], 0
lea esi, [edi + 0x1ac]
je 0x425cbb
mov ebx, 3
nop
mov eax, dword [esi]
test eax, eax
je 0x425cb3
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov dword [esi], 0
add esi, 4
sub ebx, 1
jne 0x425ca0
mov esi, dword [ebp - 0x294]
test dword [edi + 0x30], 0x40000
je 0x425d4b
mov edx, dword [ebp - 0x288]
test edx, edx
je 0x425d4b
mov eax, dword [0x4eeef8]
test eax, eax
je 0x425d31
mov ecx, dword [eax + 4]
test ecx, 0x40000000
je 0x425d31
mov edx, dword [eax + 0x1f0c]
test edx, edx
je 0x425d03
mov dword [0x4eeefc], edx
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x288]
test ecx, 0x40000000
je 0x425d31
mov eax, dword [eax + 0x1f28]
test eax, eax
je 0x425d31
push 0x10ab
push str.D:MyProjectsProPilotLibLibMain.c
push 1
push str.NF_
push edx
call eax
jmp 0x425d48
push 0x10ab
push str.D:MyProjectsProPilotLibLibMain.c
push 1
push str.NF_
push edx
call fcn.00442770
add esp, 0x14
test dword [edi + 0x30], 0x800
mov ecx, dword [sym.imp.USER32.dll_LoadImageA]
mov dword [ebp - 0x2b8], ecx
je 0x425e01
cmp byte [esi], 0
je 0x425d7f
mov eax, dword [0x4eeef8]
push 0
push 0
push 0
push 2
push esi
push dword [eax + 0x10]
call ecx
mov dword [edi + 0xc], eax
cmp dword [edi + 0xc], 0
jne 0x425e01
push 0x104
lea eax, [ebp - 0x218]
xor ebx, ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
test eax, eax
je 0x425dfe
lea ecx, [ebp - 0x218]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x425da8
mov eax, dword [str.winhlp32.exe]
mov dword [ecx], eax
mov eax, dword [0x4a1738]
mov dword [ecx + 4], eax
mov eax, dword [0x4a173c]
mov dword [ecx + 8], eax
mov ax, word [0x4a1740]
mov word [ecx + 0xc], ax
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x425df8
push 0x6a
push esi
call dword [sym.imp.USER32.dll_LoadCursorA]
push esi
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov esi, dword [ebp - 0x294]
mov dword [edi + 0xc], ebx
mov ebx, dword [ebp - 0x298]
xorps xmm0, xmm0
movsd qword [ebp - 0x2a8], xmm0
cmp byte [ebx], 0
je 0x42620b
mov eax, 0x7830
cmp word [ebx], ax
jne 0x425ed2
lea esi, [ebx + 2]
push 0xffffffffffffffff
push esi
call fcn.00445260
add esp, 8
test eax, eax
je 0x425ed2
push 0xffffffffffffffff
push esi
call fcn.004452d0
add esp, 8
push eax
call dword [sym.imp.COMCTL32.dll_ImageList_Duplicate]
lea ecx, [ebp - 0x230]
mov dword [edi + 0x198], eax
push ecx
lea ecx, [ebp - 0x234]
push ecx
push eax
call dword [sym.imp.COMCTL32.dll_ImageList_GetIconSize]
mov eax, dword [0x4eeef8]
cmp dword [eax + 0xdd0], 0
je 0x426261
push 0xffffffffffffffff
push dword [edi + 0x198]
call fcn.00427140
mov eax, dword [0x4eeef8]
add esp, 8
mov eax, dword [eax + 0xdcc]
test eax, eax
je 0x425eb5
mov ebx, dword [sym.imp.GDI32.dll_DeleteObject]
push eax
call ebx
mov eax, dword [0x4eeef8]
mov dword [eax + 0xdcc], 0
push dword [0x4eef38]
call dword [sym.imp.GDI32.dll_CreatePalette]
mov ecx, dword [0x4eeef8]
mov dword [ecx + 0xdcc], eax
jmp 0x426261
mov esi, dword [ebp - 0x29c]
cmp byte [esi], 0
je 0x426261
mov ecx, ebx
mov al, byte [ecx]
test al, al
je 0x425f02
cmp al, 0x30
jl 0x425ef1
cmp al, 0x39
jle 0x425efd
cmp al, 0x2e
je 0x425efd
cmp al, 0x2c
jne 0x426000
add ecx, 1
jne 0x425ee3
push ebx
call fcn.00488212
add esp, 4
movzx eax, ax
push 0x2000
push 0
push 0
push 0
push eax
push dword [ebp - 0x2ac]
call dword [ebp - 0x2b8]
mov dword [ebp - 0x254], eax
test eax, eax
jne 0x425f79
mov ecx, ebx
mov al, byte [ecx]
test al, al
je 0x425f4d
cmp al, 0x30
jl 0x425f40
cmp al, 0x39
jle 0x425f48
cmp al, 0x2e
je 0x425f48
cmp al, 0x2c
jne 0x425f59
add ecx, 1
jne 0x425f32
push ebx
call fcn.00488212
add esp, 4
movzx ebx, ax
mov eax, dword [0x4eeef8]
push 0x2000
push 0
push 0
push 0
push ebx
push dword [eax + 0x14]
call dword [ebp - 0x2b8]
mov dword [ebp - 0x254], eax
lea ecx, [ebp - 0x24c]
push ecx
push 0x18
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
mov eax, dword [ebp - 0x244]
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x234], eax
mov eax, dword [0x4eeef8]
cmp dword [eax + 0xdd0], 0
je 0x426007
push 8
push 0x10
push dword [ebp - 0x254]
push 0
push 0
call fcn.00426f30
mov eax, dword [0x4eeef8]
add esp, 0x14
mov ebx, dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [eax + 0xdcc]
test eax, eax
je 0x425fe6
push eax
call ebx
mov eax, dword [0x4eeef8]
mov dword [eax + 0xdcc], 0
push dword [0x4eef38]
call dword [sym.imp.GDI32.dll_CreatePalette]
mov ecx, dword [0x4eeef8]
mov dword [ecx + 0xdcc], eax
jmp 0x42600d
mov eax, ebx
jmp 0x425f0e
mov ebx, dword [sym.imp.GDI32.dll_DeleteObject]
push 0
push 0
push 0
push 0
push esi
call fcn.00488212
add esp, 4
push eax
push dword [ebp - 0x254]
call fcn.00436830
add esp, 0x18
mov dword [edi + 0x1ac], eax
push 0
push 0
push 0
push 0
push dword [ebp - 0x294]
call fcn.00488212
add esp, 4
push eax
push dword [ebp - 0x254]
call fcn.00436830
mov ecx, dword [ebp - 0x2d0]
add esp, 0x18
mov dword [edi + 0x1b0], eax
mov eax, dword [0x4eeef8]
cmp byte [ecx], 0
je 0x4260d2
cmp dword [eax + 0xdd0], 0
jne 0x426094
test dword [edi + 0x30], 0x200000
jne 0x426089
test dword [eax + 4], 0x10000
je 0x426094
push 0
push 0
push 0
push 0
push ecx
jmp 0x4260fe
push 0
push 0
push 0
push 0
push ecx
call fcn.00488212
add esp, 4
push eax
push dword [ebp - 0x254]
call fcn.00436830
mov esi, eax
push esi
call fcn.0042b370
add esp, 0x1c
mov dword [edi + 0x1b4], eax
test esi, esi
je 0x426183
push esi
call ebx
jmp 0x426183
cmp dword [eax + 0xdd0], 0
jne 0x42616f
test dword [edi + 0x30], 0x200000
jne 0x4260f5
test dword [eax + 4], 0x10000
je 0x42616f
push 0
push 0
push 0
push 0
push esi
call fcn.00488212
add esp, 4
push eax
push dword [ebp - 0x254]
call fcn.00436830
movsd xmm0, qword [ebp - 0x2a8]
add esp, 0x10
mov dword [edi + 0x1b4], eax
movsd qword [esp], xmm0
push 3
push eax
call fcn.0043b320
movsd xmm0, qword [ebp - 0x2a8]
add esp, 8
movsd qword [esp], xmm0
push 2
push dword [edi + 0x1b4]
call fcn.0043b320
movsd xmm0, qword [ebp - 0x2dc]
add esp, 8
movsd qword [esp], xmm0
push 0
push dword [edi + 0x1b4]
call fcn.0043b320
add esp, 0x10
jmp 0x426183
push dword [edi + 0x1ac]
call fcn.0042b370
add esp, 4
mov dword [edi + 0x1b4], eax
mov eax, dword [0x4eeef8]
cmp dword [eax + 0xdd0], 0
jne 0x4261f2
test dword [edi + 0x30], 0x4000
jne 0x4261f2
movsd xmm0, qword [ebp - 0x2a8]
sub esp, 8
movsd qword [esp], xmm0
push 0
push dword [edi + 0x1ac]
call fcn.0043b320
mov ecx, dword [edi + 0x30]
add esp, 0x10
test ecx, 0x400000
jne 0x4261f2
movsd xmm0, qword [ebp - 0x2a8]
sub esp, 8
mov eax, dword [edi + 0x1b0]
movsd qword [esp], xmm0
test ecx, 0x200
je 0x4261e7
push 6
jmp 0x4261e9
push 1
push eax
call fcn.0043b320
add esp, 0x10
mov eax, dword [ebp - 0x254]
test eax, eax
je 0x426261
push eax
call ebx
mov dword [ebp - 0x254], 0
jmp 0x426261
mov eax, dword [ebp - 0x29c]
cmp byte [eax], 0
je 0x426261
push eax
call fcn.00488212
push esi
mov dword [edi + 0x1f0], eax
call fcn.00488212
push dword [ebp - 0x2d0]
mov dword [edi + 0x1f4], eax
call fcn.00488212
add esp, 0xc
mov dword [edi + 0x1f8], eax
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x234]
push eax
mov eax, dword [0x4eeef8]
push dword [eax + 0xe14]
call dword [sym.imp.COMCTL32.dll_ImageList_GetIconSize]
xor ebx, ebx
lea esi, [edi + 0x1c8]
mov dword [ebp - 0x2c8], ebx
nop
mov ebx, dword [ebp + ebx*4 - 0x2f0]
cmp byte [ebx], 0
je 0x426411
push 0x4a1794
push ebx
call fcn.0048e9a6
add esp, 8
test eax, eax
je 0x426411
lea eax, [ebp - 0x254]
push eax
push 0x4b216c
push ebx
call fcn.00401063
add esp, 0xc
test eax, eax
je 0x4262c6
mov eax, dword [ebp - 0x254]
test eax, eax
je 0x4262c6
push eax
push 0
call fcn.0042b230
add esp, 8
jmp 0x42630f
mov ecx, ebx
test ecx, ecx
je 0x4262eb
nop dword [eax]
mov al, byte [ecx]
test al, al
je 0x4262eb
cmp al, 0x30
jl 0x4262de
cmp al, 0x39
jle 0x4262e6
cmp al, 0x2e
je 0x4262e6
cmp al, 0x2c
jne 0x4262f7
add ecx, 1
jne 0x4262d0
push ebx
call fcn.00488212
add esp, 4
movzx ebx, ax
push 0x2000
push 0
push 0
push 0
push ebx
push dword [ebp - 0x2ac]
call dword [ebp - 0x2b8]
mov dword [esi - 8], eax
test eax, eax
je 0x426411
push eax
push 0
call fcn.0042b230
mov dword [esi - 4], eax
add esp, 8
mov eax, dword [0x4eeef8]
cmp dword [eax + 0xdd0], 0
jne 0x4263a4
test dword [edi + 0x30], 0x200000
jne 0x42634c
test dword [eax + 4], 0x10000
je 0x4263a4
push dword [esi - 8]
push 0
call fcn.0042b230
movsd xmm0, qword [ebp - 0x2a8]
movsd qword [esp], xmm0
push 3
push eax
mov dword [esi], eax
call fcn.0043b320
movsd xmm0, qword [ebp - 0x2a8]
add esp, 8
movsd qword [esp], xmm0
push 2
push dword [esi]
call fcn.0043b320
movsd xmm0, qword [ebp - 0x2dc]
add esp, 8
movsd qword [esp], xmm0
push 0
push dword [esi]
call fcn.0043b320
add esp, 0x10
jmp 0x4263b1
push dword [esi - 8]
call fcn.0042b370
add esp, 4
mov dword [esi], eax
mov eax, dword [0x4eeef8]
cmp dword [eax + 0xdd0], 0
jne 0x426411
movsd xmm0, qword [ebp - 0x2a8]
sub esp, 8
movsd qword [esp], xmm0
push 0
push dword [esi - 8]
call fcn.0043b320
mov ecx, dword [edi + 0x30]
add esp, 0x10
test ecx, 0x400000
jne 0x426411
movsd xmm0, qword [ebp - 0x2a8]
sub esp, 8
mov eax, dword [esi - 4]
movsd qword [esp], xmm0
test ecx, 0x200
je 0x426406
push 6
jmp 0x426408
push 1
push eax
call fcn.0043b320
add esp, 0x10
mov ebx, dword [ebp - 0x2c8]
add esi, 0xc
inc ebx
mov dword [ebp - 0x2c8], ebx
cmp ebx, 4
jl 0x426270
mov eax, dword [ebp - 0x2b0]
cmp byte [eax], 0
je 0x426454
lea esi, [edi + 0x19c]
push esi
push 0x4b216c
push eax
call fcn.00401063
add esp, 0xc
test eax, eax
jne 0x426454
mov dword [esi], 0xf
mov eax, dword [ebp - 0x2b4]
cmp byte [eax], 0
je 0x42647e
lea esi, [edi + 0x1a0]
push esi
push 0x4b216c
push eax
call fcn.00401063
add esp, 0xc
test eax, eax
jne 0x42647e
mov dword [esi], 0x16
cmp dword [ebp - 0x2bc], 0
je 0x426491
cmp dword [ebp + 0x14], 0
je 0x426500
mov ebx, dword [ebp - 0x288]
push 0xfffffffffffffff0
push ebx
call dword [ebp - 0x2cc]
push 0
push 0
push 0xf2
push ebx
mov dword [edi + 0x34], eax
call dword [ebp - 0x290]
push ebx
mov dword [edi + 0x38], eax
call dword [sym.imp.USER32.dll_GetDlgCtrlID]
push ebx
mov dword [edi + 0x2c], eax
call dword [ebp - 0x2a0]
mov dword [edi + 0x14], eax
lea esi, [edi + 0x54]
lea eax, [edi + 0x44]
mov dword [edi + 0x3c], 0
xorps xmm0, xmm0
push eax
movups xmmword [eax], xmm0
push ebx
movups xmmword [esi], xmm0
call dword [ebp - 0x2d4]
push esi
push ebx
call dword [ebp - 0x2c4]
push 2
push esi
push dword [edi + 0x14]
push 0
call dword [ebp - 0x2c0]
jmp 0x426506
mov ebx, dword [ebp - 0x288]
push dword [ebp - 0x28c]
mov eax, dword [ebp - 0x234]
push 0x29a
push 0xc
mov dword [edi + 0x20], eax
mov eax, dword [ebp - 0x230]
push ebx
mov dword [edi + 0x24], eax
call dword [ebp - 0x290]
mov eax, dword [ebp - 0x250]
test eax, eax
je 0x42653f
push eax
call fcn.0048737c
add esp, 4
mov ecx, dword [ebp - 4]
mov eax, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0047fe8c
mov esp, ebp
pop ebp
ret