Function at 0x408b00
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x344
mov eax, dword [0x41e024]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0x10]
test eax, eax
jne 0x408b37
mov eax, 0x10000
mov dword [0x41f180], eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00409472
mov esp, ebp
pop ebp
ret
cmp dword [eax], 1
je 0x408b55
mov eax, 0x80000
mov dword [0x41f180], eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00409472
mov esp, ebp
pop ebp
ret
push esi
push edi
mov edi, dword [eax + 4]
or esi, 0xffffffff
cmp dword [edi + 4], esi
je 0x408b6d
mov eax, dword [edi]
push eax
call fcn.00406660
add esp, 4
mov eax, dword [edi]
mov dword [edi + 4], esi
mov esi, dword [ebp + 0xc]
cmp esi, dword [eax + 4]
jl 0x408b84
mov eax, 0x10000
jmp 0x408e2c
cmp esi, dword [eax + 0x10]
jge 0x408b92
push eax
call fcn.004063c0
add esp, 4
mov ecx, dword [edi]
cmp dword [ecx + 0x10], esi
jge 0x408bf9
lea esp, [esp]
mov esi, dword [edi]
test esi, esi
je 0x408bed
cmp dword [esi + 0x18], 0
je 0x408bed
mov eax, dword [esi + 0x10]
inc eax
cmp eax, dword [esi + 4]
je 0x408bed
mov edx, dword [esi + 0x50]
add edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x48]
push 0
push 0
push 0
push 0
push 0
mov dword [esi + 0x10], eax
push 0
lea edx, [edx + ecx + 0x2e]
add dword [esi + 0x14], edx
lea eax, [esi + 0x78]
push eax
lea ecx, [esi + 0x28]
push ecx
push esi
call fcn.00406020
add esp, 0x24
neg eax
sbb eax, eax
inc eax
mov dword [esi + 0x18], eax
mov edx, dword [edi]
mov eax, dword [ebp + 0xc]
cmp dword [edx + 0x10], eax
jl 0x408ba0
mov esi, eax
lea ecx, [ebp - 0x338]
push ecx
push esi
mov ecx, edi
call fcn.00406770
mov edx, dword [ebp - 0x230]
mov al, byte [ebx]
shr edx, 4
test dl, 1
je 0x408c53
cmp al, 0x2f
je 0x408c2a
cmp al, 0x5c
je 0x408c2a
test al, al
je 0x408c3c
cmp byte [ebx + 1], 0x3a
jne 0x408c3c
push ebx
push 0
call fcn.00406dd0
add esp, 8
xor eax, eax
jmp 0x408e2c
push ebx
add edi, 0x140
push edi
call fcn.00406dd0
add esp, 8
xor eax, eax
jmp 0x408e2c
mov byte [ebp - 0x20c], 0
mov esi, ebx
mov ecx, ebx
test al, al
je 0x408c75
cmp al, 0x2f
je 0x408c6a
cmp al, 0x5c
jne 0x408c6d
lea esi, [ecx + 1]
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x408c62
push 0x104
lea eax, [ebp - 0x108]
push ebx
push eax
call fcn.004091d3
add esp, 0xc
cmp esi, ebx
jne 0x408cf7
mov byte [ebp - 0x108], 0
push esi
lea edx, [ebp - 0x108]
push edx
lea ebx, [edi + 0x140]
push ebx
lea eax, [ebp - 0x20c]
push str._s_s_s
push eax
call fcn.004093d0
lea ecx, [ebp - 0x108]
push ecx
push ebx
call fcn.00406dd0
add esp, 0x1c
mov edx, dword [ebp - 0x230]
push 0
push edx
push 2
push 0
push 0
push 0x40000000
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x408d51
mov eax, 0x200
jmp 0x408e2c
mov ecx, esi
sub ecx, ebx
mov byte [ebp + ecx - 0x108], 0
mov al, byte [ebp - 0x108]
cmp al, 0x2f
je 0x408d22
cmp al, 0x5c
je 0x408d22
test al, al
je 0x408c95
cmp byte [ebp - 0x107], 0x3a
jne 0x408c95
push esi
lea edx, [ebp - 0x108]
push edx
lea eax, [ebp - 0x20c]
push str._s_s
push eax
call fcn.004093d0
lea ecx, [ebp - 0x108]
push ecx
push 0
call fcn.00406dd0
add esp, 0x18
jmp 0x408cc5
mov ecx, dword [edi + 0x138]
mov edx, dword [edi]
push ecx
push edx
call fcn.00408530
add esp, 8
cmp dword [edi + 0x13c], 0
jne 0x408d7f
push 0x4000
call fcn.00409a19
add esp, 4
mov dword [edi + 0x13c], eax
mov dword [ebp - 0x340], 0
lea esp, [esp]
mov ecx, dword [edi + 0x13c]
mov edx, dword [edi]
lea eax, [ebp - 0x339]
push eax
push 0x4000
push ecx
push edx
call fcn.004086b0
mov esi, eax
add esp, 0x10
cmp esi, 0xffffff96
je 0x408e42
test esi, esi
js 0x408de8
jle 0x408ddb
mov ecx, dword [edi + 0x13c]
push 0
lea eax, [ebp - 0x344]
push eax
push esi
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x408e4e
cmp byte [ebp - 0x339], 0
jne 0x408df2
test esi, esi
jne 0x408d90
mov dword [ebp - 0x340], 0x5000000
mov edx, dword [edi]
push edx
call fcn.00406660
mov esi, dword [ebp - 0x340]
add esp, 4
test esi, esi
jne 0x408e23
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x22c]
push ecx
lea edx, [ebp - 0x224]
push edx
push ebx
call dword [sym.imp.KERNEL32.dll_SetFileTime]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, esi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
mov dword [0x41f180], eax
pop ebx
call fcn.00409472
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x340], 0x1000
jmp 0x408df2
mov dword [ebp - 0x340], 0x400
jmp 0x408df2