Function at 0x426760
Capabilities:
Write file on windows

Disassembly:
sub esp, 0x268
mov eax, dword [0x48b270]
xor eax, esp
mov dword [esp + 0x264], eax
mov eax, dword [esp + 0x26c]
push esi
mov esi, dword [esp + 0x278]
test eax, eax
jne 0x426791
mov eax, 0x10000
jmp 0x426a47
cmp dword [eax], 1
je 0x4267a0
mov eax, 0x80000
jmp 0x426a47
push ebx
push ebp
push edi
mov edi, dword [eax + 4]
or ebx, 0xffffffff
cmp dword [edi + 4], ebx
je 0x4267b9
mov eax, dword [edi]
push eax
call fcn.004241c0
add esp, 4
mov eax, dword [edi]
mov ebp, dword [esp + 0x280]
mov dword [edi + 4], ebx
cmp ebp, dword [eax + 4]
jl 0x4267d4
mov eax, 0x10000
jmp 0x426a44
cmp ebp, dword [eax + 0x10]
jge 0x4267e2
push eax
call fcn.00423f20
add esp, 4
mov ecx, dword [edi]
cmp dword [ecx + 0x10], ebp
jge 0x426802
lea esp, [esp]
mov edx, dword [edi]
push edx
call fcn.00423f70
mov eax, dword [edi]
add esp, 4
cmp dword [eax + 0x10], ebp
jl 0x4267f0
lea ecx, [esp + 0x44]
push ecx
push ebp
mov ecx, edi
call fcn.00424390
mov ebx, dword [esp + 0x14c]
mov al, byte [esi]
test bl, 0x10
je 0x426858
cmp al, 0x2f
je 0x42682f
cmp al, 0x5c
je 0x42682f
test al, al
je 0x426841
cmp byte [esi + 1], 0x3a
jne 0x426841
push esi
push 0
call fcn.004248d0
add esp, 8
xor eax, eax
jmp 0x426a44
push esi
add edi, 0x140
push edi
call fcn.004248d0
add esp, 8
xor eax, eax
jmp 0x426a44
mov ebp, esi
mov ecx, esi
test al, al
je 0x426873
cmp al, 0x2f
je 0x426868
cmp al, 0x5c
jne 0x42686b
lea ebp, [ecx + 1]
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x426860
lea edx, [esp + 0x170]
mov eax, esi
sub edx, esi
mov edi, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x426880
cmp ebp, esi
jne 0x4268f0
mov byte [esp + 0x170], cl
push ebp
lea eax, [esp + 0x174]
push eax
lea esi, [edi + 0x140]
push esi
lea ecx, [esp + 0x50]
push str._s_s_s
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
lea edx, [esp + 0x184]
push edx
push esi
call fcn.004248d0
add esp, 0x1c
push 0
push ebx
push 2
push 0
push 0
push 0x40000000
lea eax, [esp + 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ebp, eax
cmp ebp, 0xffffffff
jne 0x42694d
mov eax, 0x200
jmp 0x426a44
mov edx, ebp
sub edx, esi
mov byte [esp + edx + 0x170], 0
mov al, byte [esp + 0x170]
cmp al, 0x2f
je 0x42691d
cmp al, 0x5c
je 0x42691d
test al, al
je 0x426895
cmp byte [esp + 0x171], 0x3a
jne 0x426895
push ebp
lea eax, [esp + 0x174]
push eax
lea ecx, [esp + 0x4c]
push 0x47128c
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
lea edx, [esp + 0x180]
push edx
push 0
call fcn.004248d0
add esp, 0x18
jmp 0x4268c6
mov ecx, dword [edi + 0x138]
mov edx, dword [edi]
push ecx
push edx
call fcn.00426150
add esp, 8
cmp dword [edi + 0x13c], 0
jne 0x42697b
push 0x4000
call fcn.0043189c
add esp, 4
mov dword [edi + 0x13c], eax
mov ebx, dword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [esp + 0x14], 0
lea esp, [esp]
mov ecx, dword [edi + 0x13c]
mov edx, dword [edi]
lea eax, [esp + 0x13]
push eax
push 0x4000
push ecx
push edx
call fcn.004262e0
mov esi, eax
add esp, 0x10
cmp esi, 0xffffff96
je 0x4269e4
test esi, esi
jl 0x4269da
jle 0x4269cf
mov ecx, dword [edi + 0x13c]
push 0
lea eax, [esp + 0x2c]
push eax
push esi
push ecx
push ebp
call ebx
test eax, eax
je 0x4269ee
cmp byte [esp + 0x13], 0
jne 0x4269f8
test esi, esi
jne 0x426990
mov dword [esp + 0x14], 0x5000000
jmp 0x426a2e
mov dword [esp + 0x14], 0x1000
jmp 0x426a2e
mov dword [esp + 0x14], 0x400
jmp 0x426a2e
lea edx, [esp + 0x34]
push edx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov ecx, dword [esp + 0x18]
mov eax, 0xffff0000
lea edx, [esp + 0x20]
push edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x24], ecx
push eax
lea ecx, [esp + 0x20]
push ecx
push ebp
call dword [sym.imp.KERNEL32.dll_SetFileTime]
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [edi]
push edx
call fcn.004241c0
mov eax, dword [esp + 0x18]
add esp, 4
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x268]
pop esi
xor ecx, esp
mov dword [0x48cec4], eax
call fcn.004517f0
add esp, 0x268
ret