Function at 0x45b2b0
Capabilities:
Timestomp file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x21c
mov eax, dword [0x4ccbf8]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1f0], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x200], eax
mov eax, dword [ebp + 0x2c]
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp + 0x30]
push ebx
mov ebx, dword [ebp + 0x28]
mov dword [ebp - 0x1f8], eax
mov eax, dword [ebp + 0x34]
push esi
mov esi, dword [ebp + 0x3c]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp + 0x38]
push edi
mov dword [ebp - 0x1fc], eax
mov dword [ebp - 0x1cc], 0
mov dword [ebp - 0x1d4], 0
call fcn.00435f20
mov edi, dword [ebp + 8]
mov edx, eax
mov dword [ebp - 0x1dc], edx
mov dword [ebp - 0x204], 0
cmp edi, 0xffffffff
jne 0x45b37a
push dword [0x54f4f4]
call fcn.0041f0a0
add esp, 4
mov dword [0x54f4f4], 0
mov eax, dword [0x54f3c4]
test eax, eax
je 0x45b367
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x54f3c4], 0
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
test edi, edi
jns 0x45b3c7
mov eax, edi
and eax, 7
cmp al, 3
jne 0x45b367
test byte [edx + 0xc], 4
jne 0x45b367
mov eax, edi
mov ecx, edi
or ecx, 1
and al, 3
mov eax, 0x10000
cmovne ecx, edi
mov edi, ecx
mov dword [ebp - 0x1e0], ecx
and edi, 0xf0000
cmove edi, eax
mov dword [ebp - 0x1e4], edi
test esi, esi
jne 0x45b49e
cmp edi, 0xf0000
jne 0x45b367
jmp 0x45b34d
cmp edi, 0x1000000
jne 0x45b387
cmp dword [edx + 0x4c8], 0
je 0x45b367
cmp dword [0x54f3c4], 0
je 0x45b367
push 0
call fcn.004868a4
add esp, 4
sub eax, dword [0x54f760]
sbb edx, dword [0x54f764]
mov dword [ebp - 0x208], edx
js 0x45b367
jg 0x45b40e
cmp eax, 0x3c
jb 0x45b367
lea eax, [ebp - 0x1c0]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
lea eax, [ebp - 0x1b0]
push eax
lea eax, [ebp - 0x1c0]
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
lea eax, [ebp - 0x1b0]
push eax
push eax
push 0
push dword [0x54f3c4]
call dword [sym.imp.KERNEL32.dll_SetFileTime]
push dword [0x54f3c4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
push 0
push 4
push 0
push 3
push 0x40000000
push 0x54f4f8
call fcn.0041dce0
xor ecx, ecx
cmp eax, 0xffffffff
push ecx
cmove eax, ecx
mov dword [0x54f3c4], eax
call fcn.004868a4
add esp, 0x20
mov dword [0x54f760], eax
mov dword [0x54f764], edx
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0047f41c
mov esp, ebp
pop ebp
ret
cmp dword [ebp + 0x18], 0
jne 0x45b4b0
mov al, cl
and al, 0xf
cmp al, 3
jne 0x45b367
push 0x4ff
push str.D:MyProjectsProPilotLibMessage.c
lea eax, [edx + 0xd9c]
push 0
push eax
call fcn.0041fd60
mov eax, dword [ebp - 0x1fc]
add esp, 0x10
test eax, eax
je 0x45b66b
mov ebx, dword [eax + 0x50]
xor ecx, ecx
mov dword [ebp - 0x1c8], 0
mov dword [ebp - 0x1c4], ecx
test ebx, ebx
je 0x45b612
nop word [eax + eax]
push dword [ebx]
lea eax, [ebp - 0x130]
push 0x4a2764
push eax
call fcn.00401045
mov ecx, dword [ebp - 0x1c8]
mov edi, eax
xor edx, edx
add ecx, edi
add ecx, 1
setb dl
neg edx
or edx, ecx
push edx
push dword [ebp - 0x1c4]
call fcn.00483b6d
mov ecx, dword [ebp - 0x1c8]
add esp, 0x14
mov dword [ebp - 0x1c4], eax
test ecx, ecx
je 0x45b55b
push ecx
push eax
add eax, edi
push eax
call fcn.00480c20
mov eax, dword [ebp - 0x1c4]
add esp, 0xc
push edi
lea ecx, [ebp - 0x130]
push ecx
push eax
call fcn.00480c20
mov ecx, dword [ebp - 0x1c8]
add esp, 0xc
add ecx, edi
mov dword [ebp - 0x1c8], ecx
mov ebx, dword [ebx + 0x5c]
test ebx, ebx
jne 0x45b500
mov eax, dword [ebp - 0x1c4]
mov edi, dword [ebp - 0x1e4]
mov byte [eax + ecx], bl
mov ecx, dword [ebp - 0x1c4]
mov ebx, dword [ebp + 8]
push str._d_s
push str._d_s
push str._d_s
test ecx, ecx
mov dword [ebp - 0x1c8], 0
mov eax, 0x4b1aef
cmovne eax, ecx
push eax
mov eax, dword [0x4edee4]
mov eax, dword [eax + 0x10]
push dword [eax]
lea eax, [ebp - 0x1c8]
push str._d_s
push eax
lea eax, [ebp - 0x1d4]
push eax
call fcn.0041bf70
add esp, 0x20
cmp dword [ebp - 0x1c4], 0
je 0x45b69e
lea eax, [ebp - 0x1c4]
push eax
call fcn.0041f010
push dword [ebp - 0x1c4]
call fcn.0048690c
add esp, 8
jmp 0x45b69e
mov eax, dword [0x4edee4]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x54]
test eax, eax
je 0x45b59a
mov ebx, dword [ebp + 8]
test ebx, 0x1000
je 0x45b59d
push 0x4a2764
push 0x4a2764
push 0x4a2764
push dword [eax]
lea eax, [ebp - 0x1c8]
push 0x4a2764
push eax
lea eax, [ebp - 0x1c4]
push eax
call fcn.0041bf70
mov ecx, dword [ebp - 0x1c4]
add esp, 0x1c
jmp 0x45b59d
test ebx, ebx
mov eax, 0x4b1aef
cmovne eax, ebx
cmp byte [eax], 0
je 0x45b69b
push 0x518
push str.D:MyProjectsProPilotLibMessage.c
push fcn.00483b6d
push 0
lea eax, [ebp - 0x1d4]
push ebx
push eax
call fcn.0041d090
add esp, 0x18
mov ebx, dword [ebp + 8]
mov eax, dword [ebp - 0x1dc]
add eax, 0xd9c
push eax
call fcn.00421a10
add esp, 4
mov dword [ebp - 0x1d0], 0
cmp edi, 0x10000
je 0x45b6d0
cmp edi, 0x20000
jne 0x45c3c0
mov eax, dword [0x54f2c0]
inc eax
mov dword [0x54f2c0], eax
cmp al, 1
je 0x45b6f8
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push 5
call edi
mov eax, dword [0x54f2c0]
inc eax
mov dword [0x54f2c0], eax
cmp al, 1
jne 0x45b6e5
mov ecx, dword [ebp - 0x1e0]
mov edx, 0x4b1aef
mov eax, ecx
and eax, 0x20
mov dword [ebp - 0x210], eax
mov eax, ebx
and eax, 0x300
mov dword [ebp - 0x214], eax
mov eax, ecx
and eax, 0x4000000
mov dword [ebp - 0x218], eax
mov eax, ecx
and eax, 0x1000
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x1f8]
test eax, eax
cmovne edx, eax
mov eax, dword [ebp - 0x1ec]
mov dword [ebp - 0x1f8], edx
test eax, eax
mov edx, 0x4b1aef
cmovne edx, eax
and ecx, 0x80
mov dword [ebp - 0x1ec], edx
mov dword [ebp - 0x1fc], ecx
test ecx, ecx
jne 0x45b7bf
push 0xd
push esi
call fcn.0048ca3c
push 0xa
push esi
mov edi, eax
call fcn.0048ca3c
add esp, 0x10
mov ebx, eax
mov dword [ebp - 0x1c4], ebx
test edi, edi
je 0x45b791
cmp edi, ebx
jb 0x45b795
test ebx, ebx
jne 0x45b7a1
mov ebx, edi
mov dword [ebp - 0x1c4], ebx
test edi, edi
je 0x45b7bf
mov al, byte [ebx]
cmp al, 0xd
je 0x45b7ab
cmp al, 0xa
jne 0x45b7bb
mov byte [ebx], 0
add ebx, 1
mov dword [ebp - 0x1c4], ebx
jne 0x45b7a1
jmp 0x45b7bf
test al, al
jne 0x45b7c7
xor eax, eax
mov dword [ebp - 0x1c4], eax
push 0x27
push esi
call fcn.0048ca3c
add esp, 8
test eax, eax
jne 0x45b7e1
push 0x5c
push esi
call fcn.0048ca3c
add esp, 8
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45b7e6
sub ecx, edx
lea eax, [esi - 1]
add eax, ecx
cmp eax, esi
jb 0x45b805
cmp byte [eax], 0x20
jne 0x45b805
mov byte [eax], 0
dec eax
cmp eax, esi
jae 0x45b7f8
push 0x44
call fcn.00486927
mov ebx, eax
add esp, 4
mov dword [ebp - 0x1e4], ebx
test ebx, ebx
je 0x45b828
push 0x44
push 0
push ebx
call fcn.004811a0
add esp, 0xc
mov edi, dword [ebp - 0x204]
test edi, edi
jne 0x45b84f
push 8
call fcn.00486927
mov edi, eax
add esp, 4
mov dword [ebp - 0x204], edi
test edi, edi
je 0x45b84f
xorps xmm0, xmm0
movq qword [edi], xmm0
inc dword [edi]
xor ecx, ecx
mov eax, dword [edi]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
push dword [edi + 4]
call fcn.00483b6d
mov ecx, dword [edi]
mov dword [edi + 4], eax
push 0x541
push str.D:MyProjectsProPilotLibMessage.c
mov dword [eax + ecx*4 - 4], ebx
mov ecx, 0x4b1aef
mov eax, dword [ebp - 0x1f0]
push fcn.00483b6d
push 0
movups xmm0, xmmword [eax]
mov eax, dword [ebp + 8]
mov dword [ebx + 0x28], eax
movups xmmword [ebx], xmm0
mov eax, dword [ebp - 0x1d4]
test eax, eax
cmovne ecx, eax
lea eax, [ebx + 0x34]
push ecx
push eax
call fcn.0041d090
push 0x542
push str.D:MyProjectsProPilotLibMessage.c
push fcn.00483b6d
push 0
push dword [ebp - 0x1ec]
lea eax, [ebx + 0x1c]
push eax
call fcn.0041d090
push 0x543
push str.D:MyProjectsProPilotLibMessage.c
push fcn.00483b6d
push 0
push dword [ebp - 0x1f8]
lea eax, [ebx + 0x20]
push eax
call fcn.0041d090
mov eax, dword [ebp - 0x1e0]
add esp, 0x50
and eax, 0xef
mov ecx, 0xc01
cmp dword [ebp - 0x210], 0
push 0x54b
cmovne eax, ecx
or eax, dword [ebp - 0x214]
push str.D:MyProjectsProPilotLibMessage.c
push fcn.00483b6d
or eax, 0x20002000
push 0
push dword [ebp - 0x200]
mov dword [ebx + 0x10], eax
lea eax, [ebx + 0x18]
push eax
call fcn.0041d090
mov eax, dword [ebp + 0x14]
add esp, 0x18
cmp dword [ebp + 0x18], 3
mov edx, dword [ebp + 0x20]
mov edi, dword [ebp + 0x1c]
mov dword [ebx + 0x24], eax
mov dword [ebx + 0x30], edx
mov dword [ebx + 0x2c], edi
je 0x45b969
mov ecx, dword [ebp - 0x1dc]
mov eax, edi
test dword [ecx + 4], 0x1000000
je 0x45b985
mov ecx, dword [ebp - 0x1e0]
mov eax, edi
test edx, edx
je 0x45b98b
test ecx, 0x8000
jne 0x45b98b
lea eax, [edi + 3]
mov dword [ebx + 0x2c], eax
jmp 0x45b98b
mov ecx, dword [ebp - 0x1e0]
cmp dword [ebp - 0x218], 0
jne 0x45b9e6
test eax, eax
jle 0x45b9e6
test edx, edx
je 0x45b9ce
test ecx, 0x8000
je 0x45b9ce
push str._v_d__d:__s
push str._v_d__d:__s
push str._v_d__d:__s
push esi
push edx
push eax
push str._v_d__d:__s
lea edi, [ebx + 0x14]
push 0
push edi
call fcn.00423420
add esp, 0x24
jmp 0x45ba5d
push str._v_d__s
push str._v_d__s
push str._v_d__s
push esi
push eax
push str._v_d__s
jmp 0x45ba4f
test edx, edx
je 0x45ba29
test ecx, 0x8000
je 0x45ba29
mov eax, dword [ebp - 0x1d0]
lea edi, [ebx + 0x14]
push str._s_d:__s
push str._s_d:__s
push str._s_d:__s
push esi
push edx
test eax, eax
mov ecx, 0x4b1aef
cmovne ecx, eax
push ecx
push str._s_d:__s
push 0
push edi
call fcn.00423420
add esp, 0x24
jmp 0x45ba5d
mov eax, dword [ebp - 0x1d0]
mov ecx, 0x4b1aef
push str._s_s
push str._s_s
push str._s_s
test eax, eax
push esi
cmovne ecx, eax
push ecx
push str._s_s
push 0
lea edi, [ebx + 0x14]
push edi
call fcn.00423420
add esp, 0x20
cmp dword [ebp - 0x21c], 0
mov edi, dword [edi]
mov eax, dword [ebp - 0x1e8]
mov esi, dword [ebp - 0x1dc]
mov dword [ebp - 0x1f4], edi
jne 0x45ba9f
cmp eax, 0x54f2c8
jne 0x45ba9f
test dword [esi + 8], 0x10000
jne 0x45ba9f
cmp dword [esi + 0x4c8], 0
je 0x45ba9f
test dword [ebp - 0x1e0], 0x2000000
je 0x45baa9
test byte [eax + 0xc], 1
je 0x45c276
lea edi, [esi + 0x270]
mov edx, 0x54f628
mov ecx, edi
sub edx, edi
nop dword [eax + eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx - 1], al
test al, al
jne 0x45bac0
mov ecx, dword [ebp - 0x1e8]
mov eax, 0x4b1aef
push str._s_04d_02d_02d._slog
cmp dword [ecx + 0x44], 1
mov ecx, str.client.
cmove eax, ecx
mov ecx, dword [ebp - 0x1f0]
push eax
movzx eax, word [ecx + 6]
push eax
movzx eax, word [ecx + 2]
push eax
movzx eax, word [ecx]
push eax
push 0x54f628
push 0x568
push str.D:MyProjectsProPilotLibMessage.c
push str._s_04d_02d_02d._slog
lea eax, [ebp - 0x130]
push 0x12c
push eax
call fcn.004236c0
add esp, 0x2c
cmp dword [esi + 0x4c8], 0
je 0x45bd98
lea eax, [ebp - 0x130]
push 0x54f4f8
push eax
call fcn.0048e032
add esp, 8
test eax, eax
je 0x45bc2e
mov esi, dword [0x54f3c4]
test esi, esi
je 0x45bb68
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor esi, esi
mov dword [0x54f3c4], esi
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x130]
lea ecx, [ecx + 1]
mov byte [ecx + 0x54f4f7], al
test al, al
jne 0x45bb70
mov eax, dword [ebp - 0x1dc]
cmp dword [eax + 0x4c8], 0
jle 0x45bc88
mov ecx, dword [ebp - 0x1f0]
movzx eax, word [ecx + 6]
push eax
movzx eax, word [ecx + 2]
push eax
movzx eax, word [ecx]
push eax
call fcn.0041a560
mov ecx, dword [ebp - 0x1dc]
add esp, 0xc
fstp qword [ebp - 0x20c]
cvttsd2si eax, qword [ebp - 0x20c]
sub eax, dword [ecx + 0x4c8]
lea ecx, [ebp - 0x1a8]
push ecx
lea ecx, [ebp - 0x1a0]
push ecx
lea ecx, [ebp - 0x19c]
movd xmm0, eax
push ecx
lea ecx, [ebp - 0x198]
cvtdq2pd xmm0, xmm0
push ecx
sub esp, 8
movsd qword [esp], xmm0
call fcn.0041a260
movzx eax, word [ebp - 0x198]
imul ecx, eax, 0x64
movzx eax, word [ebp - 0x19c]
add ecx, eax
movzx eax, word [ebp - 0x1a0]
imul ecx, ecx, 0x64
add ecx, eax
push ecx
push str.log
push edi
call fcn.0041ed30
add esp, 0x24
jmp 0x45bc82
push 0
call fcn.004868a4
add esp, 4
sub eax, dword [0x54f758]
sbb edx, dword [0x54f75c]
mov dword [ebp - 0x208], edx
js 0x45bc82
jg 0x45bc53
cmp eax, 0xa
jb 0x45bc82
mov eax, dword [0x54f3c4]
test eax, eax
je 0x45bc6d
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x54f3c4], 0
push 0
call fcn.004868a4
add esp, 4
mov dword [0x54f758], eax
mov dword [0x54f75c], edx
mov esi, dword [0x54f3c4]
test esi, esi
jne 0x45bdb2
mov eax, dword [0x54f4f4]
test eax, eax
jne 0x45bcac
push eax
push 0x54f628
call fcn.00420b90
add esp, 8
mov dword [0x54f4f4], eax
push 0
push 0
push 4
push eax
push 3
push 0x40000000
push 0x54f4f8
call fcn.0041dce0
add esp, 0x1c
mov dword [0x54f3c4], eax
cmp eax, 0xffffffff
jne 0x45bd6f
push 0x54f628
push 0
call fcn.0041da60
push 0
push 0
push 4
push dword [0x54f4f4]
push 3
push 0x40000000
push 0x54f4f8
call fcn.0041dce0
add esp, 0x24
mov dword [0x54f3c4], eax
cmp eax, 0xffffffff
jne 0x45bd7c
mov eax, dword [0x4edee0]
test eax, eax
je 0x45bd1c
mov esi, dword [eax + 0x190]
jmp 0x45bd22
mov esi, dword [0x4edee4]
push str.Unable_to_create_logfile__s:__s
push 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00420470
add esp, 8
push eax
push 0x54f4f8
push str.Unable_to_create_logfile__s:__s
push dword [0x4edee0]
push esi
push 0
push 0x589
push str.D:MyProjectsProPilotLibMessage.c
push 0x2000003
call fcn.0045ad00
add esp, 0x28
mov dword [0x54f3c4], 0
jmp 0x45bd7c
push 2
push 0
push 0
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
push 0
call fcn.004868a4
add esp, 4
mov dword [0x54f760], eax
mov dword [0x54f764], edx
mov byte [0x54f768], 0
mov esi, dword [0x54f3c4]
test esi, esi
jne 0x45bdb2
mov eax, dword [ebp - 0x1e8]
test byte [eax + 0xc], 1
je 0x45c270
mov edi, dword [ebp - 0x1f4]
cmp byte [edi], 0x5f
je 0x45c1cb
mov esi, edi
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x45bdc6
sub esi, ecx
lea eax, [esi + 0x12d]
push eax
push dword [ebp - 0x1cc]
mov dword [ebp - 0x208], eax
call fcn.00483b6d
mov dword [ebp - 0x1cc], eax
add esp, 8
mov byte [esi + eax + 0x12c], 0
mov al, byte [ebp - 0x1e0]
and al, 0xf
mov dword [ebp - 0x1d8], 0
cmp al, 3
jne 0x45be24
test dword [ebx + 0x28], 0x4000
mov esi, 0x4a27d0
mov eax, 0x4a27d4
cmove esi, eax
jmp 0x45be29
mov esi, 0x4b1aef
mov eax, dword [ebx + 0x30]
test eax, eax
je 0x45be50
push 0x4a27d8
push eax
push 0x4a27d8
lea eax, [ebp - 0x194]
push 0x64
push eax
call fcn.0041ff80
add esp, 0x14
mov ebx, eax
jmp 0x45be55
mov ebx, 0x4b1aef
mov eax, dword [ebp - 0x1e4]
mov eax, dword [eax + 0x2c]
test eax, eax
je 0x45be85
push 0x4a27dc
push eax
push 0x4a27dc
lea eax, [ebp - 0x130]
push 0x12c
push eax
call fcn.0041ff80
add esp, 0x14
mov edi, eax
jmp 0x45be8a
mov edi, 0x4b1aef
cmp dword [ebp - 0x200], 0
je 0x45beb3
mov eax, dword [ebp - 0x1e8]
mov ecx, dword [eax + 0x4c]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45bea0
sub ecx, edx
mov edx, dword [ebp - 0x200]
add edx, ecx
jmp 0x45beb8
mov edx, 0x4b1aef
mov eax, dword [ebp - 0x1d4]
mov ecx, 0x4b1aef
push esi
test eax, eax
cmovne ecx, eax
mov eax, dword [ebp - 0x1e4]
push ecx
mov ecx, dword [ebp - 0x1f0]
push ebx
push dword [ebp - 0x1f8]
mov ebx, dword [ebp + 8]
push dword [ebp - 0x1ec]
push edi
push dword [eax + 0x24]
mov eax, ebx
push edx
and eax, 0xefffffff
push eax
movzx eax, word [ecx + 0xe]
push 0x4a18c8
push eax
movzx eax, word [ecx + 0xc]
push eax
movzx eax, word [ecx + 0xa]
push eax
movzx eax, word [ecx + 8]
push eax
movzx eax, word [ecx + 6]
push eax
movzx eax, word [ecx + 2]
push eax
movzx eax, word [ecx]
push eax
push str._04d__02d__02d__02d:_02d:_02d._03d_t_s_t_04X_t_s_t_d_s_t_s_t__s_s__t_s_t_s
push dword [ebp - 0x208]
push dword [ebp - 0x1cc]
call fcn.00422fe0
mov edi, dword [ebp - 0x1ec]
mov esi, eax
add esp, 0x50
mov dword [ebp - 0x1d8], esi
mov dword [ebp - 0x1e4], esi
mov edx, edi
mov ecx, 0x54f768
nop
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x45bf70
test al, al
je 0x45bf6c
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x45bf70
add ecx, 2
add edx, 2
test al, al
jne 0x45bf50
xor eax, eax
jmp 0x45bf75
sbb eax, eax
or eax, 1
test eax, eax
je 0x45bf8f
mov edx, 0x54f768
mov ecx, edi
sub edx, edi
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx - 1], al
test al, al
jne 0x45bf82
mov edi, dword [ebp - 0x1f4]
lea eax, [ebp - 0x1d8]
test ebx, 0x800
jne 0x45bfc3
push edi
push eax
lea eax, [ebp - 0x1e4]
push eax
lea eax, [ebp - 0x1cc]
push eax
call fcn.00459840
mov esi, dword [ebp - 0x1e4]
add esp, 0x10
jmp 0x45bfe8
push 0x4b307c
push 0x4b307c
push 0x4b307c
push edi
push 0x4b307c
push eax
lea eax, [ebp - 0x1cc]
push eax
call fcn.0041bf70
add esp, 0x1c
mov eax, dword [ebp - 0x1d8]
add eax, 2
cmp eax, esi
jl 0x45c015
inc eax
push eax
push dword [ebp - 0x1cc]
call fcn.00483b6d
mov ecx, dword [ebp - 0x1d8]
add esp, 8
mov dword [ebp - 0x1cc], eax
mov byte [ecx + eax], 0
mov ecx, dword [ebp - 0x1cc]
dec ecx
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x45c020
mov ax, word [0x4b1d90]
mov word [ecx], ax
mov al, byte [0x4b1d92]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x1e8]
test byte [eax + 0xc], 1
je 0x45c0d0
push dword [ebp - 0x1cc]
call fcn.0048c9e8
push 1
mov dword [ebp - 0x1c8], eax
lea eax, [ebp - 0x1c8]
push 0
push eax
call fcn.0041ce50
mov edx, dword [ebp - 0x1c8]
add esp, 0x10
mov ecx, edx
lea esi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45c080
push 0
lea eax, [ebp - 0x1a4]
sub ecx, esi
push eax
push ecx
push edx
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call dword [sym.imp.KERNEL32.dll_WriteConsoleA]
cmp dword [ebp - 0x1c8], 0
je 0x45c0d0
lea eax, [ebp - 0x1c8]
push eax
call fcn.0041f010
push dword [ebp - 0x1c8]
call fcn.0048690c
add esp, 8
mov dword [ebp - 0x1c8], 0
cmp dword [0x54f3c4], 0
je 0x45c276
cmp dword [ebp - 0x1fc], 0
je 0x45c124
push 0xd
push dword [ebp - 0x1cc]
call fcn.00480740
add esp, 8
test eax, eax
je 0x45c124
nop word [eax + eax]
cmp byte [eax + 1], 0xa
lea ecx, [eax + 1]
jne 0x45c115
cmp byte [eax + 2], 0
je 0x45c115
mov byte [eax], 0xab
mov byte [ecx], 0xbb
push 0xd
push ecx
call fcn.00480740
add esp, 8
test eax, eax
jne 0x45c100
mov edx, dword [ebp - 0x1cc]
mov ecx, edx
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45c130
push 0
lea eax, [ebp - 0x1a4]
sub ecx, esi
push eax
push ecx
push edx
push dword [0x54f3c4]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x45c276
mov eax, dword [0x4edee0]
test eax, eax
je 0x45c169
mov esi, dword [eax + 0x190]
jmp 0x45c16f
mov esi, dword [0x4edee4]
push str.Error_writing_to_logfile__s:__s
push 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00420470
add esp, 8
push eax
push 0x54f4f8
push str.Error_writing_to_logfile__s:__s
push dword [0x4edee0]
push esi
push 0
push 0x5cf
push str.D:MyProjectsProPilotLibMessage.c
push 0x2000003
call fcn.0045ad00
add esp, 0x28
push dword [0x54f3c4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x54f3c4], 0
jmp 0x45c276
push 0x64
lea eax, [ebp - 0x130]
push 0x5f
push eax
call fcn.004811a0
mov ax, word [0x4b1d90]
lea ecx, [ebp - 0x130]
mov word [ebp - 0xcc], ax
lea edx, [ecx + 1]
mov al, byte [0x4b1d92]
add esp, 0xc
mov byte [ebp - 0xca], al
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45c200
push 0
lea eax, [ebp - 0x1a4]
sub ecx, edx
push eax
push ecx
lea eax, [ebp - 0x130]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x45c276
mov eax, dword [0x4edee0]
test eax, eax
je 0x45c236
mov esi, dword [eax + 0x190]
jmp 0x45c23c
mov esi, dword [0x4edee4]
push str.Error_writing_to_logfile__s:__s
push 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00420470
add esp, 8
push eax
push 0x54f4f8
push str.Error_writing_to_logfile__s:__s
push dword [0x4edee0]
push esi
push 0
push 0x5d9
jmp 0x45c19e
mov edi, dword [ebp - 0x1f4]
cmp dword [ebp - 0x1d0], 0
mov ebx, dword [ebp - 0x1c4]
jne 0x45c374
test ebx, ebx
je 0x45c374
mov ecx, edi
test edi, edi
je 0x45c342
mov al, byte [edi]
test al, al
je 0x45c342
mov dl, al
mov esi, ecx
mov al, dl
cmp dl, 0x11
jae 0x45c303
cmp dl, 9
jb 0x45c2ba
cmp dl, 0xd
jbe 0x45c2ff
movsx eax, dl
inc ecx
dec eax
cmp eax, 0xe
ja case.0x45c2cb.8
movzx eax, byte [eax + 0x45c42c]
jmp dword [eax*4 + 0x45c418]
lea ecx, [esi + 2]
jmp case.0x45c2cb.8
lea ecx, [esi + 0x11]
jmp case.0x45c2cb.8
xor eax, eax
nop
cmp byte [ecx], 0x20
jle 0x45c2ec
inc eax
inc ecx
cmp eax, 8
jl 0x45c2e0
cmp byte [ecx], 3
jne case.0x45c2cb.8
inc ecx
jmp case.0x45c2cb.8
lea ecx, [esi + 7]
mov al, byte [ecx]
mov dl, al
test al, al
jne 0x45c2a7
test al, al
je 0x45c342
cmp al, 0x20
jg 0x45c342
cmp al, 0xd
je 0x45c342
cmp al, 0xa
je 0x45c342
movsx eax, al
inc ecx
sub eax, 9
je 0x45c322
sub eax, 2
je 0x45c322
sub eax, 1
jne 0x45c33c
cmp byte [ecx], 0x23
jne 0x45c33c
mov al, byte [ecx + 1]
inc ecx
cmp al, 0x30
jl 0x45c33c
nop
cmp al, 0x39
ja 0x45c33c
mov al, byte [ecx + 1]
inc ecx
cmp al, 0x30
jge 0x45c330
mov al, byte [ecx]
test al, al
jne 0x45c303
push 0x5e3
push str.D:MyProjectsProPilotLibMessage.c
mov eax, ecx
sub eax, edi
cmp ecx, edi
push fcn.00483b6d
push eax
mov eax, 0x4b1aef
cmova eax, edi
push eax
lea eax, [ebp - 0x1d0]
push eax
call fcn.0041d090
add esp, 0x18
mov esi, ebx
jmp 0x45c37a
mov esi, ebx
test ebx, ebx
je 0x45c389
cmp byte [ebx], 0
mov ecx, dword [ebp - 0x1fc]
jne 0x45b768
cmp dword [ebp - 0x1d0], 0
je 0x45c3b6
lea eax, [ebp - 0x1d0]
push eax
call fcn.0041f010
push dword [ebp - 0x1d0]
call fcn.0048690c
add esp, 8
mov dword [ebp - 0x1d0], 0
mov dword [0x54f2c0], 0
cmp dword [ebp - 0x1d4], 0
je 0x45c3ed
lea eax, [ebp - 0x1d4]
push eax
call fcn.0041f010
push dword [ebp - 0x1d4]
call fcn.0048690c
add esp, 8
mov dword [ebp - 0x1d4], 0
mov eax, dword [ebp - 0x1cc]
test eax, eax
je 0x45c400
push eax
call fcn.0048690c
add esp, 4
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x204]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.0047f41c
mov esp, ebp
pop ebp
ret