Function at 0x495400
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x394
mov eax, dword [0x5edd38]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x5f3174]
push edi
mov edi, ecx
cmp eax, dword [0x5ed8f4]
je 0x495727
push esi
test eax, eax
jne 0x495646
push 0x104
lea eax, [ebp - 0x20c]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x495467
cmp eax, 0x104
jae 0x495467
lea eax, [ebp - 0x20c]
push 0x5c
push eax
call fcn.0053f670
add esp, 8
test eax, eax
je 0x495467
mov byte [eax], 0
cmp byte [0x5f3778], 0
je 0x495509
mov esi, 0x5f3778
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x495480
sub esi, ecx
lea eax, [esi + 0x14]
cmp eax, 0x105
jae 0x4954c4
push esi
lea eax, [ebp - 0x108]
push 0x5f3778
push eax
lfence
call fcn.0054adc0
add esp, 0xc
cmp esi, 0x104
jae 0x495736
mov byte [ebp + esi - 0x108], 0
jmp 0x49555e
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x394]
call fcn.00494990
lea edx, [ebp - 0x108]
mov ecx, dword [eax]
nop
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx], al
lea edx, [edx + 1]
test al, al
jne 0x4954e0
mov eax, dword [ebp - 0x394]
lea ecx, [ebp - 0x390]
cmp eax, ecx
je 0x49555e
push eax
call fcn.00409f38
add esp, 4
jmp 0x49555e
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x394]
call fcn.00494990
lea edx, [ebp - 0x108]
mov ecx, dword [eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx], al
lea edx, [edx + 1]
test al, al
jne 0x495523
mov eax, dword [ebp - 0x394]
lea ecx, [ebp - 0x390]
cmp eax, ecx
je 0x49554a
push eax
call fcn.00409f38
add esp, 4
lea eax, [ebp - 0x108]
push 0x58ede4
push eax
call fcn.00494900
add esp, 8
lea eax, [ebp - 0x108]
push 0x58eddc
push eax
call fcn.00494900
lea eax, [ebp - 0x108]
push str._TimeInfo.log
push eax
call fcn.00494900
lea eax, [ebp - 0x108]
push 0x58eea0
push eax
call fcn.0054ab1d
mov edx, eax
add esp, 0x18
mov dword [0x5f3174], edx
test edx, edx
jne 0x4955ba
mov eax, dword [0x5ed8f4]
pop esi
mov dword [0x5f3174], eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401682
mov esp, ebp
pop ebp
ret
cmp byte [0x5f3169], 0
jne 0x495646
mov ecx, 0x5f3378
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4955d0
push edx
sub ecx, esi
push 1
push ecx
push 0x5f3378
call fcn.0054ad53
mov ecx, 0x5f3578
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4955f2
push dword [0x5f3174]
sub ecx, edx
push 1
push ecx
push 0x5f3578
call fcn.0054ad53
mov ecx, 0x5f3178
add esp, 0x10
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x495620
push dword [0x5f3174]
sub ecx, edx
push 1
push ecx
push 0x5f3178
call fcn.0054ad53
add esp, 0x10
mov byte [0x5f3169], 1
push 0x58eea4
push dword [edi + 0x14]
call fcn.0053f8e0
add esp, 8
test eax, eax
je 0x495676
nop word [eax + eax]
inc eax
push 0x58eea4
push eax
mov dword [edi + 0x14], eax
call fcn.0053f8e0
add esp, 8
test eax, eax
jne 0x495660
mov eax, dword [edi + 0x28]
test eax, eax
je 0x495701
mov edx, dword [edi + 0x24]
mov ecx, dword [edi + 0x20]
push eax
push dword [edi + 0x18]
push dword [edi + 0x14]
push dword [edi + 0x10]
call fcn.0053d400
mov edx, dword [0x5f3164]
mov ecx, dword [0x5f3160]
movsd qword [ebp - 0x310], xmm0
call fcn.0053d400
movsd xmm1, qword [ebp - 0x310]
lea eax, [ebp - 0x308]
divsd xmm1, xmm0
sub esp, 8
movsd qword [esp], xmm1
push str._n_16.6lf_t_s_t_s_t_d_t_d_calls_n
push eax
call fcn.004948c0
lea ecx, [ebp - 0x308]
add esp, 0x20
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4956e0
push dword [0x5f3174]
sub ecx, edx
lea eax, [ebp - 0x308]
push 1
push ecx
push eax
call fcn.0054ad53
add esp, 0x10
mov byte [edi + 0x30], 1
sub dword [0x5f316c], 1
jne 0x495726
push dword [0x5f3174]
call fcn.00426bf2
add esp, 4
mov dword [0x5f3174], 0
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop edi
call fcn.00401682
mov esp, ebp
pop ebp
ret
call fcn.0053cfa1
int3