Function at 0x4246e6
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2f0
mov eax, dword [0x4ccbf8]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x4edef8]
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 0x42496d
mov dword [ebp - 0x250], 0
mov ecx, 0x4b1aef
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], 0x4b1aef
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 0x424553
test eax, eax
jne 0x424553
push 0xf8e
push str.D:MyProjectsProPilotLibLibMain.c
push fcn.00483b6d
push eax
push edx
lea eax, [ebp - 0x250]
push eax
call fcn.00423f70
mov eax, dword [ebp - 0x250]
add esp, 0x18
mov dword [ebp - 0x28c], eax
jmp 0x4246b6
push ebx
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
push 0
push edi
lea esi, [eax + 1]
call fcn.0042b7c0
push esi
call fcn.00486927
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, 0x4a1884
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], 0x4a1888
je 0x42469e
mov esi, dword [ebp - 0x2bc]
test esi, esi
je 0x42469e
cmp byte [esi], 0
je 0x42469e
push 0x3b
push esi
call fcn.0048ca3c
add esp, 8
test eax, eax
je 0x4245f3
nop
mov cl, byte [eax]
test cl, cl
je 0x4245f3
cmp cl, 0x3b
jne 0x4245ee
mov byte [eax], 0x20
add eax, 1
jne 0x4245e0
cmp byte [esi], 0x7c
mov ebx, dword [ebp - 0x250]
je 0x424611
cmp byte [ebx], 0x7c
jne 0x424611
push 0x7c
push ebx
call fcn.0048e319
add esp, 8
lea ebx, [eax + 1]
push 0x3b
push ebx
call fcn.0048ca3c
add esp, 8
mov byte [ebx], 0
test eax, eax
mov ecx, esi
mov edx, 0x4b1aef
cmovne edx, eax
mov dword [ebp - 0x28c], edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x424634
sub ecx, esi
mov esi, edx
lea edx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x424642
sub esi, edx
sub esi, dword [ebp - 0x250]
add esi, ecx
add esi, ebx
lea eax, [esi + 1]
push eax
call fcn.00486927
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.00422fe0
push dword [ebp - 0x250]
call fcn.0048690c
add esp, 0x20
mov dword [ebp - 0x250], ebx
jmp 0x4246aa
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.0048ca3c
mov esi, eax
add esp, 8
test esi, esi
je 0x4247d3
mov edi, 0x4b1aef
mov byte [esi], 0
inc esi
cmp ebx, 0xf
ja case.default.0x4246df
jmp dword [ebx*4 + 0x425af8]
mov dword [ebp - 0x2d8], esi
jmp 0x4247ad
mov dword [ebp - 0x290], esi
mov dword [ebp - 0x2c0], esi
jmp 0x4247ad
mov dword [ebp - 0x2cc], 1
mov dword [ebp - 0x2b0], esi
jmp 0x4247ad
mov dword [ebp - 0x2b4], esi
jmp 0x4247ad
mov dword [ebp - 0x29c], esi
jmp 0x4247ad
mov dword [ebp - 0x294], esi
jmp 0x4247ad
mov dword [ebp - 0x298], esi
jmp 0x4247ad
test edi, edi
je 0x424746
cmp byte [edi], 0
jne 0x4247ad
mov edi, esi
jmp 0x4247ad
mov dword [ebp - 0x2b8], esi
jmp 0x4247ad
mov dword [ebp - 0x2a0], esi
jmp 0x4247ad
mov dword [ebp - 0x2c4], esi
jmp 0x4247ad
mov dword [ebp - 0x2d0], esi
jmp 0x4247ad
mov dword [ebp + ebx*4 - 0x320], esi
jmp 0x4247ad
mov eax, dword [0x4edee0]
test eax, eax
je 0x424784
mov ecx, dword [eax + 0x190]
jmp 0x42478a
mov ecx, dword [0x4edee4]
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.0045ad00
add esp, 0x24
push 0x3b
push esi
inc ebx
call fcn.0048ca3c
mov esi, eax
add esp, 8
test esi, esi
jne 0x4246d2
mov dword [ebp - 0x2c8], edi
mov edi, dword [ebp - 0x2a4]
test ebx, ebx
jne 0x42480c
cmp byte [edi + 0x6c], 0
lea edx, [edi + 0x6c]
je 0x42480c
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 0x4247e6
push ebx
push 0x29a
push 0xc
push dword [ebp - 0x288]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x425acc
mov ebx, dword [ebp - 0x2d8]
xor edx, edx
mov al, byte [edx + ebx]
test al, al
je 0x424827
mov byte [edi + edx + 0x64], al
inc edx
cmp edx, 8
jl 0x424814
jmp 0x42483f
mov eax, 8
lea ecx, [edx + 0x64]
sub eax, edx
add ecx, edi
push eax
push 0x30
push ecx
call fcn.004811a0
add esp, 0xc
cmp dword [ebp - 0x2cc], 0
mov eax, dword [sym.imp.USER32.dll_GetWindowLongA]
mov dword [ebp - 0x2cc], eax
jne 0x424980
cmp dword [ebp - 0x2bc], 0
je 0x42486a
cmp dword [ebp + 0x14], 0
je 0x424980
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.0048e032
add esp, 8
test eax, eax
jne 0x4248b5
mov eax, esi
and al, 0xf
cmp al, 1
jbe 0x424980
test esi, 0x1000
jne 0x424980
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 0x42493a
push 2
push 0x4b1e6c
push esi
call fcn.00486932
add esp, 0xc
test eax, eax
jne 0x42492e
lea eax, [edi + 0x30]
push eax
lea eax, [esi + 2]
push 0x4b1e70
push eax
call fcn.00401063
add esp, 0xc
test eax, eax
jne 0x42493a
push esi
call fcn.004877a2
add esp, 4
mov dword [edi + 0x30], eax
cmp byte [ebx], 0
jne 0x424948
cmp dword [ebp - 0x2bc], 0
je 0x42495a
push dword [ebp - 0x28c]
push dword [ebp - 0x288]
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, dword [ebp - 0x250]
test eax, eax
je 0x42496d
push eax
call fcn.0048690c
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0047f41c
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp - 0x28c]
movsd xmm0, qword [0x4a1e00]
movsd qword [ebp - 0x2dc], xmm0
cmp byte [esi], 0
je 0x424e1e
mov ebx, dword [ebp - 0x298]
cmp byte [ebx], 0
jne 0x424e1e
mov ebx, dword [ebp - 0x29c]
cmp byte [ebx], 0
jne 0x424e1e
cmp dword [0x4edf44], 0
jne 0x424e1e
cmp dword [edi + 0x20], 0x48
jl 0x424e1e
push 0x4a18b0
push esi
call fcn.0048e032
add esp, 8
test eax, eax
jne 0x424a25
mov ecx, dword [0x4edef8]
mov eax, dword [ecx + 4]
test eax, 0x400
jne 0x424a17
mov esi, 0x4a18c0
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 0x424b68
push str.Save
push esi
call fcn.0048e032
add esp, 8
test eax, eax
jne 0x424a7b
mov ecx, dword [0x4edef8]
mov eax, dword [ecx + 4]
test eax, 0x400
jne 0x424a6d
mov dword [ebp - 0x298], str.savebmp
mov esi, 0x4a18d4
mov dword [ebp - 0x29c], esi
mov esi, 0x4a18c0
mov dword [ebp - 0x294], esi
mov esi, dword [ebp - 0x28c]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0x2ac], edx
jmp 0x424b68
push str.Undo
push esi
call fcn.0048e032
add esp, 8
test eax, eax
jne 0x424aa9
mov ecx, dword [0x4edef8]
mov eax, dword [ecx + 4]
test eax, 0x400
jne 0x424a6d
mov dword [ebp - 0x298], str.undobmp
jmp 0x424a51
push 0x4a18e0
push esi
call fcn.0048e032
add esp, 8
test eax, eax
jne 0x424af7
mov ecx, dword [0x4edef8]
mov eax, dword [ecx + 4]
test eax, 0x400
jne 0x424a6d
mov edx, dword [ecx + 0x14]
mov esi, 0x4a18d4
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 0x424b68
push str.Exit
push esi
call fcn.0048e032
add esp, 8
test eax, eax
jne 0x424bcb
mov edx, dword [0x4edef8]
mov eax, dword [edx + 4]
test eax, 0x400
jne 0x424b5f
mov ecx, dword [0x4edf40]
test ecx, ecx
je 0x424b39
mov dword [ebp - 0x298], str.exitbmp
cmp ecx, 0x100
jl 0x424b43
mov dword [ebp - 0x298], str.exitbmp16
mov esi, 0x4a18d4
mov dword [ebp - 0x29c], esi
mov esi, 0x4a18c0
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], 0x4a18c8
mov ecx, 0x4a18c4
mov dword [ebp - 0x290], ecx
cmp eax, 0x900000
jne 0x424bcb
push 0x4a18f8
push esi
push 0x4a18f8
lea eax, [ebp - 0x22c]
push 0x12c
push eax
call fcn.0041ff80
add esp, 0x14
push eax
push dword [ebp - 0x288]
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov ecx, 0x4a18c8
mov dword [ebp - 0x2a0], ecx
mov ecx, 0x4a18c4
mov dword [ebp - 0x290], ecx
mov eax, dword [ebp - 0x2b0]
cmp byte [eax], 0
je 0x424be5
mov eax, dword [ebp - 0x2b4]
cmp byte [eax], 0
jne 0x424e1e
push 0x4a18b0
push esi
call fcn.0048e032
add esp, 8
test eax, eax
je 0x424e09
push str.Start
push esi
call fcn.0048e032
add esp, 8
test eax, eax
je 0x424e09
push 0x4a18e0
push esi
call fcn.0048e032
add esp, 8
test eax, eax
je 0x424df3
push str.Exit
push esi
call fcn.0048e032
add esp, 8
test eax, eax
je 0x424df3
push str.Close
push esi
call fcn.0048e032
add esp, 8
test eax, eax
je 0x424df3
push str.Delete
push esi
call fcn.0048e032
add esp, 8
test eax, eax
je 0x424df3
push str.Remove
push esi
call fcn.0048e032
add esp, 8
test eax, eax
je 0x424df3
push str.Stop
push esi
call fcn.0048e032
add esp, 8
test eax, eax
je 0x424df3
cmp dword [0x4edf44], 0
je 0x424cd3
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.0041ff80
add esp, 0x14
mov dword [ebp - 0x2b4], eax
mov dword [ebp - 0x2b0], eax
jmp 0x424e1e
cmp dword [ebp - 0x2bc], 0
je 0x424ce6
cmp dword [ebp + 0x14], 0
je 0x424e1e
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 [0x4a1dc8]
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.0041ff80
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.0041ff80
add esp, 0x28
mov dword [ebp - 0x2b4], eax
jmp 0x424e1e
mov dword [ebp - 0x2b0], str.202080
mov dword [ebp - 0x2b4], str.2020ff
jmp 0x424e1e
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 0x424e62
push 2
push 0x4b1e6c
push ebx
call fcn.00486932
add esp, 0xc
test eax, eax
jne 0x424e56
lea eax, [edi + 0x30]
push eax
lea eax, [ebx + 2]
push 0x4b1e70
push eax
call fcn.00401063
add esp, 0xc
test eax, eax
jne 0x424e62
push ebx
call fcn.004877a2
add esp, 4
mov dword [edi + 0x30], eax
mov eax, dword [edi + 0x30]
test eax, eax
jne 0x424e87
push dword [ebp - 0x28c]
push 0x29a
push 0xc
push dword [ebp - 0x288]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x42495a
cmp dword [0x4edf44], 0
mov ebx, dword [ebp - 0x28c]
je 0x424ea3
cmp byte [ebx], 0
je 0x424ea3
or eax, 0x82040
mov dword [edi + 0x30], eax
push 0x26
push ebx
call fcn.0048ca3c
add esp, 8
test eax, eax
je 0x424eb9
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 0x424ee3
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 0x424ed6
mov ecx, dword [ebp - 0x2b8]
cmp byte [ecx], 0
je 0x424f08
mov eax, dword [ebp - 0x298]
cmp byte [eax], 0
je 0x424f08
push ecx
call fcn.004877a2
add esp, 4
mov dword [ebp - 0x234], eax
mov eax, dword [ebp - 0x2a0]
cmp byte [eax], 0
je 0x424f1f
push eax
call fcn.004877a2
add esp, 4
mov dword [edi + 0x18], eax
mov eax, dword [ebp - 0x2c4]
cmp byte [eax], 0
je 0x424f36
push eax
call fcn.004877a2
add esp, 4
mov dword [edi + 0x1c], eax
push 0x63
push dword [ebp - 0x2c8]
lea ebx, [edi + 0x134]
push ebx
call fcn.0048e4d5
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 0x4251ac
test eax, eax
je 0x424fa8
mov esi, dword [sym.imp.USER32.dll_DestroyWindow]
push eax
call esi
push dword [edi + 0x1b8]
call esi
mov eax, dword [0x4edef8]
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 [0x4edef8]
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 0x4251d5
test eax, eax
je 0x4251d5
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 0x4251ff
cmp byte [edx], al
je 0x425261
mov ecx, dword [edi + 0x198]
test ecx, ecx
je 0x425222
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 0x42522a
cmp byte [edx], al
je 0x425261
cmp dword [edi + 0x1ac], 0
lea esi, [edi + 0x1ac]
je 0x42525b
mov ebx, 3
nop
mov eax, dword [esi]
test eax, eax
je 0x425253
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov dword [esi], 0
add esi, 4
sub ebx, 1
jne 0x425240
mov esi, dword [ebp - 0x294]
test dword [edi + 0x30], 0x40000
je 0x4252eb
mov edx, dword [ebp - 0x288]
test edx, edx
je 0x4252eb
mov eax, dword [0x4edef8]
test eax, eax
je 0x4252d1
mov ecx, dword [eax + 4]
test ecx, 0x40000000
je 0x4252d1
mov edx, dword [eax + 0x1f0c]
test edx, edx
je 0x4252a3
mov dword [0x4edefc], edx
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x288]
test ecx, 0x40000000
je 0x4252d1
mov eax, dword [eax + 0x1f28]
test eax, eax
je 0x4252d1
push 0x10ab
push str.D:MyProjectsProPilotLibLibMain.c
push 1
push str.NF_
push edx
call eax
jmp 0x4252e8
push 0x10ab
push str.D:MyProjectsProPilotLibLibMain.c
push 1
push str.NF_
push edx
call fcn.00441d20
add esp, 0x14
test dword [edi + 0x30], 0x800
mov ecx, dword [sym.imp.USER32.dll_LoadImageA]
mov dword [ebp - 0x2b8], ecx
je 0x4253a1
cmp byte [esi], 0
je 0x42531f
mov eax, dword [0x4edef8]
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 0x4253a1
push 0x104
lea eax, [ebp - 0x218]
xor ebx, ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
test eax, eax
je 0x42539e
lea ecx, [ebp - 0x218]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x425348
mov eax, dword [str.winhlp32.exe]
mov dword [ecx], eax
mov eax, dword [0x4a1878]
mov dword [ecx + 4], eax
mov eax, dword [0x4a187c]
mov dword [ecx + 8], eax
mov ax, word [0x4a1880]
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 0x425398
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 0x4257ab
mov eax, 0x7830
cmp word [ebx], ax
jne 0x425472
lea esi, [ebx + 2]
push 0xffffffffffffffff
push esi
call fcn.00444820
add esp, 8
test eax, eax
je 0x425472
push 0xffffffffffffffff
push esi
call fcn.00444890
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 [0x4edef8]
cmp dword [eax + 0xdd0], 0
je 0x425801
push 0xffffffffffffffff
push dword [edi + 0x198]
call fcn.004266e0
mov eax, dword [0x4edef8]
add esp, 8
mov eax, dword [eax + 0xdcc]
test eax, eax
je 0x425455
mov ebx, dword [sym.imp.GDI32.dll_DeleteObject]
push eax
call ebx
mov eax, dword [0x4edef8]
mov dword [eax + 0xdcc], 0
push dword [0x4edf38]
call dword [sym.imp.GDI32.dll_CreatePalette]
mov ecx, dword [0x4edef8]
mov dword [ecx + 0xdcc], eax
jmp 0x425801
mov esi, dword [ebp - 0x29c]
cmp byte [esi], 0
je 0x425801
mov ecx, ebx
mov al, byte [ecx]
test al, al
je 0x4254a2
cmp al, 0x30
jl 0x425491
cmp al, 0x39
jle 0x42549d
cmp al, 0x2e
je 0x42549d
cmp al, 0x2c
jne 0x4255a0
add ecx, 1
jne 0x425483
push ebx
call fcn.004877a2
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 0x425519
mov ecx, ebx
mov al, byte [ecx]
test al, al
je 0x4254ed
cmp al, 0x30
jl 0x4254e0
cmp al, 0x39
jle 0x4254e8
cmp al, 0x2e
je 0x4254e8
cmp al, 0x2c
jne 0x4254f9
add ecx, 1
jne 0x4254d2
push ebx
call fcn.004877a2
add esp, 4
movzx ebx, ax
mov eax, dword [0x4edef8]
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 [0x4edef8]
cmp dword [eax + 0xdd0], 0
je 0x4255a7
push 8
push 0x10
push dword [ebp - 0x254]
push 0
push 0
call fcn.004264d0
mov eax, dword [0x4edef8]
add esp, 0x14
mov ebx, dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [eax + 0xdcc]
test eax, eax
je 0x425586
push eax
call ebx
mov eax, dword [0x4edef8]
mov dword [eax + 0xdcc], 0
push dword [0x4edf38]
call dword [sym.imp.GDI32.dll_CreatePalette]
mov ecx, dword [0x4edef8]
mov dword [ecx + 0xdcc], eax
jmp 0x4255ad
mov eax, ebx
jmp 0x4254ae
mov ebx, dword [sym.imp.GDI32.dll_DeleteObject]
push 0
push 0
push 0
push 0
push esi
call fcn.004877a2
add esp, 4
push eax
push dword [ebp - 0x254]
call fcn.00435dc0
add esp, 0x18
mov dword [edi + 0x1ac], eax
push 0
push 0
push 0
push 0
push dword [ebp - 0x294]
call fcn.004877a2
add esp, 4
push eax
push dword [ebp - 0x254]
call fcn.00435dc0
mov ecx, dword [ebp - 0x2d0]
add esp, 0x18
mov dword [edi + 0x1b0], eax
mov eax, dword [0x4edef8]
cmp byte [ecx], 0
je 0x425672
cmp dword [eax + 0xdd0], 0
jne 0x425634
test dword [edi + 0x30], 0x200000
jne 0x425629
test dword [eax + 4], 0x10000
je 0x425634
push 0
push 0
push 0
push 0
push ecx
jmp 0x42569e
push 0
push 0
push 0
push 0
push ecx
call fcn.004877a2
add esp, 4
push eax
push dword [ebp - 0x254]
call fcn.00435dc0
mov esi, eax
push esi
call fcn.0042a900
add esp, 0x1c
mov dword [edi + 0x1b4], eax
test esi, esi
je 0x425723
push esi
call ebx
jmp 0x425723
cmp dword [eax + 0xdd0], 0
jne 0x42570f
test dword [edi + 0x30], 0x200000
jne 0x425695
test dword [eax + 4], 0x10000
je 0x42570f
push 0
push 0
push 0
push 0
push esi
call fcn.004877a2
add esp, 4
push eax
push dword [ebp - 0x254]
call fcn.00435dc0
movsd xmm0, qword [ebp - 0x2a8]
add esp, 0x10
mov dword [edi + 0x1b4], eax
movsd qword [esp], xmm0
push 3
push eax
call fcn.0043a8b0
movsd xmm0, qword [ebp - 0x2a8]
add esp, 8
movsd qword [esp], xmm0
push 2
push dword [edi + 0x1b4]
call fcn.0043a8b0
movsd xmm0, qword [ebp - 0x2dc]
add esp, 8
movsd qword [esp], xmm0
push 0
push dword [edi + 0x1b4]
call fcn.0043a8b0
add esp, 0x10
jmp 0x425723
push dword [edi + 0x1ac]
call fcn.0042a900
add esp, 4
mov dword [edi + 0x1b4], eax
mov eax, dword [0x4edef8]
cmp dword [eax + 0xdd0], 0
jne 0x425792
test dword [edi + 0x30], 0x4000
jne 0x425792
movsd xmm0, qword [ebp - 0x2a8]
sub esp, 8
movsd qword [esp], xmm0
push 0
push dword [edi + 0x1ac]
call fcn.0043a8b0
mov ecx, dword [edi + 0x30]
add esp, 0x10
test ecx, 0x400000
jne 0x425792
movsd xmm0, qword [ebp - 0x2a8]
sub esp, 8
mov eax, dword [edi + 0x1b0]
movsd qword [esp], xmm0
test ecx, 0x200
je 0x425787
push 6
jmp 0x425789
push 1
push eax
call fcn.0043a8b0
add esp, 0x10
mov eax, dword [ebp - 0x254]
test eax, eax
je 0x425801
push eax
call ebx
mov dword [ebp - 0x254], 0
jmp 0x425801
mov eax, dword [ebp - 0x29c]
cmp byte [eax], 0
je 0x425801
push eax
call fcn.004877a2
push esi
mov dword [edi + 0x1f0], eax
call fcn.004877a2
push dword [ebp - 0x2d0]
mov dword [edi + 0x1f4], eax
call fcn.004877a2
add esp, 0xc
mov dword [edi + 0x1f8], eax
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x234]
push eax
mov eax, dword [0x4edef8]
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 0x4259b1
push 0x4a18d4
push ebx
call fcn.0048df36
add esp, 8
test eax, eax
je 0x4259b1
lea eax, [ebp - 0x254]
push eax
push 0x4b1e70
push ebx
call fcn.00401063
add esp, 0xc
test eax, eax
je 0x425866
mov eax, dword [ebp - 0x254]
test eax, eax
je 0x425866
push eax
push 0
call fcn.0042a7c0
add esp, 8
jmp 0x4258af
mov ecx, ebx
test ecx, ecx
je 0x42588b
nop dword [eax]
mov al, byte [ecx]
test al, al
je 0x42588b
cmp al, 0x30
jl 0x42587e
cmp al, 0x39
jle 0x425886
cmp al, 0x2e
je 0x425886
cmp al, 0x2c
jne 0x425897
add ecx, 1
jne 0x425870
push ebx
call fcn.004877a2
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 0x4259b1
push eax
push 0
call fcn.0042a7c0
mov dword [esi - 4], eax
add esp, 8
mov eax, dword [0x4edef8]
cmp dword [eax + 0xdd0], 0
jne 0x425944
test dword [edi + 0x30], 0x200000
jne 0x4258ec
test dword [eax + 4], 0x10000
je 0x425944
push dword [esi - 8]
push 0
call fcn.0042a7c0
movsd xmm0, qword [ebp - 0x2a8]
movsd qword [esp], xmm0
push 3
push eax
mov dword [esi], eax
call fcn.0043a8b0
movsd xmm0, qword [ebp - 0x2a8]
add esp, 8
movsd qword [esp], xmm0
push 2
push dword [esi]
call fcn.0043a8b0
movsd xmm0, qword [ebp - 0x2dc]
add esp, 8
movsd qword [esp], xmm0
push 0
push dword [esi]
call fcn.0043a8b0
add esp, 0x10
jmp 0x425951
push dword [esi - 8]
call fcn.0042a900
add esp, 4
mov dword [esi], eax
mov eax, dword [0x4edef8]
cmp dword [eax + 0xdd0], 0
jne 0x4259b1
movsd xmm0, qword [ebp - 0x2a8]
sub esp, 8
movsd qword [esp], xmm0
push 0
push dword [esi - 8]
call fcn.0043a8b0
mov ecx, dword [edi + 0x30]
add esp, 0x10
test ecx, 0x400000
jne 0x4259b1
movsd xmm0, qword [ebp - 0x2a8]
sub esp, 8
mov eax, dword [esi - 4]
movsd qword [esp], xmm0
test ecx, 0x200
je 0x4259a6
push 6
jmp 0x4259a8
push 1
push eax
call fcn.0043a8b0
add esp, 0x10
mov ebx, dword [ebp - 0x2c8]
add esi, 0xc
inc ebx
mov dword [ebp - 0x2c8], ebx
cmp ebx, 4
jl 0x425810
mov eax, dword [ebp - 0x2b0]
cmp byte [eax], 0
je 0x4259f4
lea esi, [edi + 0x19c]
push esi
push 0x4b1e70
push eax
call fcn.00401063
add esp, 0xc
test eax, eax
jne 0x4259f4
mov dword [esi], 0xf
mov eax, dword [ebp - 0x2b4]
cmp byte [eax], 0
je 0x425a1e
lea esi, [edi + 0x1a0]
push esi
push 0x4b1e70
push eax
call fcn.00401063
add esp, 0xc
test eax, eax
jne 0x425a1e
mov dword [esi], 0x16
cmp dword [ebp - 0x2bc], 0
je 0x425a31
cmp dword [ebp + 0x14], 0
je 0x425aa0
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 0x425aa6
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 0x425adf
push eax
call fcn.0048690c
add esp, 4
mov ecx, dword [ebp - 4]
mov eax, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0047f41c
mov esp, ebp
pop ebp
ret