Function at 0x456680
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x61f1eb
mov eax, dword fs:[0]
push eax
mov eax, 0x1118
call fcn.005eb610
mov eax, dword [0x6f7654]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1100], 0
mov eax, dword [ebp + 0x18]
cmp eax, dword [0x6faa60]
jle 0x4566c9
jmp 0x456ab4
cmp dword [ebp + 0x18], 2
jg 0x4566d4
call fcn.00456340
lea ecx, [ebp + 0x20]
mov dword [ebp - 0x818], ecx
xor edx, edx
mov word [ebp - 0x1034], dx
push 0x7fe
push 0
lea eax, [ebp - 0x1032]
push eax
call fcn.005eb2a0
add esp, 0xc
mov ecx, dword [ebp - 0x818]
push ecx
mov edx, dword [ebp + 0x1c]
push edx
push 0x3ff
push 0x400
lea eax, [ebp - 0x1034]
push eax
call fcn.005eb5f0
add esp, 0x14
mov dword [ebp - 0x818], 0
cmp dword [0x6faa64], 0
jne 0x456779
push 0x649330
lea ecx, [ebp - 0x1070]
call fcn.00404af0
mov dword [ebp - 0x1104], eax
mov ecx, dword [ebp - 0x1104]
mov dword [ebp - 0x1108], ecx
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x1100]
or edx, 1
mov dword [ebp - 0x1100], edx
mov eax, dword [ebp - 0x1108]
mov dword [ebp - 0x110c], eax
jmp 0x4567e8
mov ecx, dword [ebp + 0xc]
push ecx
lea ecx, [ebp - 0x108c]
call fcn.00402dc0
mov dword [ebp - 4], 1
mov edx, dword [ebp - 0x1100]
or edx, 2
mov dword [ebp - 0x1100], edx
lea eax, [ebp - 0x108c]
push eax
lea ecx, [ebp - 0x10a8]
push ecx
call fcn.0041e030
add esp, 8
mov dword [ebp - 0x1110], eax
mov edx, dword [ebp - 0x1110]
mov dword [ebp - 0x1114], edx
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x1100]
or eax, 4
mov dword [ebp - 0x1100], eax
mov ecx, dword [ebp - 0x1114]
mov dword [ebp - 0x110c], ecx
mov edx, dword [ebp - 0x110c]
mov dword [ebp - 0x1054], edx
mov eax, dword [ebp - 0x1054]
push eax
lea ecx, [ebp - 0x834]
call fcn.00403ad0
mov dword [ebp - 4], 4
mov ecx, dword [ebp - 0x1100]
and ecx, 4
je 0x45682a
and dword [ebp - 0x1100], 0xfffffffb
lea ecx, [ebp - 0x10a8]
call fcn.00403b10
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x1100]
and edx, 2
je 0x45684b
and dword [ebp - 0x1100], 0xfffffffd
lea ecx, [ebp - 0x108c]
call fcn.00402e00
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x1100]
and eax, 1
je 0x45686c
and dword [ebp - 0x1100], 0xfffffffe
lea ecx, [ebp - 0x1070]
call fcn.00403b10
xor ecx, ecx
mov word [ebp - 0x814], cx
push 0x7fe
push 0
lea edx, [ebp - 0x812]
push edx
call fcn.005eb2a0
add esp, 0xc
lea eax, [ebp - 0x1034]
push eax
call fcn.005ea8fb
add esp, 4
test eax, eax
jbe 0x45694c
lea ecx, [ebp - 0x1034]
push ecx
call fcn.005ea8fb
add esp, 4
movzx edx, word [ebp + eax*2 - 0x1036]
cmp edx, 0xa
jne 0x45694c
lea eax, [ebp - 0x1034]
push eax
lea ecx, [ebp - 0x834]
call fcn.00402aa0
push eax
lea ecx, [ebp - 0x10c4]
push ecx
call fcn.00456290
add esp, 4
mov dword [ebp - 0x1118], eax
mov edx, dword [ebp - 0x1118]
mov dword [ebp - 0x111c], edx
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x111c]
call fcn.00402aa0
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
mov eax, dword [ebp + 0x18]
push eax
call fcn.00456170
add esp, 4
push eax
push str._s_TH:__d_TS:__s__s__s
push 0x3ff
push 0x400
lea ecx, [ebp - 0x814]
push ecx
call fcn.005eb0e1
add esp, 0x24
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x10c4]
call fcn.00403b10
jmp 0x4569d1
lea edx, [ebp - 0x1034]
push edx
lea ecx, [ebp - 0x834]
call fcn.00402aa0
push eax
lea eax, [ebp - 0x10e0]
push eax
call fcn.00456290
add esp, 4
mov dword [ebp - 0x1120], eax
mov ecx, dword [ebp - 0x1120]
mov dword [ebp - 0x1124], ecx
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x1124]
call fcn.00402aa0
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
mov edx, dword [ebp + 0x18]
push edx
call fcn.00456170
add esp, 4
push eax
push str._s_TH:__d_TS:__s__s__s_n
push 0x3ff
push 0x400
lea eax, [ebp - 0x814]
push eax
call fcn.005eb0e1
add esp, 0x24
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x10e0]
call fcn.00403b10
lea ecx, [ebp - 0x814]
push ecx
lea ecx, [ebp - 0x10fc]
call fcn.00404af0
mov byte [ebp - 4], 9
lea edx, [ebp - 0x10fc]
push edx
lea eax, [ebp - 0x1050]
push eax
call fcn.00428ab0
add esp, 8
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x10fc]
call fcn.00403b10
cmp dword [0x6faa58], 0
je 0x456a4d
mov ecx, dword [0x6faa58]
push ecx
lea ecx, [ebp - 0x1050]
call fcn.0045e920
push eax
push 1
lea ecx, [ebp - 0x1050]
call fcn.00403ab0
push eax
call fcn.005ee27f
add esp, 0x10
mov edx, dword [0x6faa58]
push edx
call fcn.005eefba
add esp, 4
cmp dword [0x6faa5c], 0
je 0x456a93
cmp dword [ebp + 0x18], 3
jg 0x456a93
mov eax, dword [0x6faa5c]
push eax
lea ecx, [ebp - 0x1050]
call fcn.0045e920
push eax
push 1
lea ecx, [ebp - 0x1050]
call fcn.00403ab0
push eax
call fcn.005ee27f
add esp, 0x10
mov ecx, dword [0x6faa5c]
push ecx
call fcn.005eefba
add esp, 4
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1050]
call fcn.00402e00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x834]
call fcn.00403b10
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005ea848
mov esp, ebp
pop ebp
ret