Function at 0x648438
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
xor ecx, ecx
mov dword [ebp - 0x10], ecx
mov esi, edx
mov ebx, eax
xor eax, eax
push ebp
push 0x648963
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 1], 0
push 0
push 0x80
push 2
push 0
push 1
push 0x40000000
mov eax, esi
call fcn.0040577c
push eax
call sub.kernel32.dll_CreateFileA_1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xffffffff
je 0x64894d
xor eax, eax
push ebp
push 0x648946
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov al, bl
cmp eax, 0x80
jg 0x6484fa
je 0x648733
cmp eax, 0x40
jg 0x6484da
je 0x64863f
sub eax, 1
jb 0x64854b
sub eax, 0xf
je 0x648588
sub eax, 0x10
je 0x6485c5
sub eax, 0x10
je 0x648602
jmp 0x648910
sub eax, 0x50
je 0x64867c
sub eax, 0x10
je 0x6486b9
sub eax, 0x10
je 0x6486f6
jmp 0x648910
cmp eax, 0xc0
jg 0x648529
je 0x648827
sub eax, 0x90
je 0x648770
sub eax, 0x10
je 0x6487ad
sub eax, 0x10
je 0x6487ea
jmp 0x648910
sub eax, 0xd0
je 0x648864
sub eax, 0x10
je 0x64889e
sub eax, 0x10
je 0x6488d8
jmp 0x648910
push 0
lea eax, [ebp - 0xc]
push eax
mov al, 2
call fcn.00647f68
push eax
xor eax, eax
call fcn.00647f68
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x64857a
mov al, 2
call fcn.00647f68
cmp eax, dword [ebp - 0xc]
je 0x64857e
xor eax, eax
jmp 0x648580
mov al, 1
mov byte [ebp - 1], al
jmp 0x648910
push 0
lea eax, [ebp - 0xc]
push eax
mov al, 2
call fcn.00647fd8
push eax
xor eax, eax
call fcn.00647fd8
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x6485b7
mov al, 2
call fcn.00647fd8
cmp eax, dword [ebp - 0xc]
je 0x6485bb
xor eax, eax
jmp 0x6485bd
mov al, 1
mov byte [ebp - 1], al
jmp 0x648910
push 0
lea eax, [ebp - 0xc]
push eax
mov al, 2
call fcn.00648048
push eax
xor eax, eax
call fcn.00648048
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x6485f4
mov al, 2
call fcn.00648048
cmp eax, dword [ebp - 0xc]
je 0x6485f8
xor eax, eax
jmp 0x6485fa
mov al, 1
mov byte [ebp - 1], al
jmp 0x648910
push 0
lea eax, [ebp - 0xc]
push eax
mov al, 2
call fcn.006480b8
push eax
xor eax, eax
call fcn.006480b8
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x648631
mov al, 2
call fcn.006480b8
cmp eax, dword [ebp - 0xc]
je 0x648635
xor eax, eax
jmp 0x648637
mov al, 1
mov byte [ebp - 1], al
jmp 0x648910
push 0
lea eax, [ebp - 0xc]
push eax
mov al, 2
call fcn.00648128
push eax
xor eax, eax
call fcn.00648128
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x64866e
mov al, 2
call fcn.00648128
cmp eax, dword [ebp - 0xc]
je 0x648672
xor eax, eax
jmp 0x648674
mov al, 1
mov byte [ebp - 1], al
jmp 0x648910
push 0
lea eax, [ebp - 0xc]
push eax
mov al, 2
call fcn.00648198
push eax
xor eax, eax
call fcn.00648198
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x6486ab
mov al, 2
call fcn.00648198
cmp eax, dword [ebp - 0xc]
je 0x6486af
xor eax, eax
jmp 0x6486b1
mov al, 1
mov byte [ebp - 1], al
jmp 0x648910
push 0
lea eax, [ebp - 0xc]
push eax
mov al, 2
call fcn.00648208
push eax
xor eax, eax
call fcn.00648208
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x6486e8
mov al, 2
call fcn.00648208
cmp eax, dword [ebp - 0xc]
je 0x6486ec
xor eax, eax
jmp 0x6486ee
mov al, 1
mov byte [ebp - 1], al
jmp 0x648910
push 0
lea eax, [ebp - 0xc]
push eax
mov al, 2
call fcn.00648278
push eax
xor eax, eax
call fcn.00648278
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x648725
mov al, 2
call fcn.00648278
cmp eax, dword [ebp - 0xc]
je 0x648729
xor eax, eax
jmp 0x64872b
mov al, 1
mov byte [ebp - 1], al
jmp 0x648910
push 0
lea eax, [ebp - 0xc]
push eax
mov al, 2
call fcn.006482e8
push eax
xor eax, eax
call fcn.006482e8
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x648762
mov al, 2
call fcn.006482e8
cmp eax, dword [ebp - 0xc]
je 0x648766
xor eax, eax
jmp 0x648768
mov al, 1
mov byte [ebp - 1], al
jmp 0x648910
push 0
lea eax, [ebp - 0xc]
push eax
mov al, 2
call fcn.00648358
push eax
xor eax, eax
call fcn.00648358
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x64879f
mov al, 2
call fcn.00648358
cmp eax, dword [ebp - 0xc]
je 0x6487a3
xor eax, eax
jmp 0x6487a5
mov al, 1
mov byte [ebp - 1], al
jmp 0x648910
push 0
lea eax, [ebp - 0xc]
push eax
mov al, 2
call fcn.00647ef8
push eax
xor eax, eax
call fcn.00647ef8
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x6487dc
mov al, 2
call fcn.00647ef8
cmp eax, dword [ebp - 0xc]
je 0x6487e0
xor eax, eax
jmp 0x6487e2
mov al, 1
mov byte [ebp - 1], al
jmp 0x648910
push 0
lea eax, [ebp - 0xc]
push eax
mov al, 2
call fcn.00647e88
push eax
xor eax, eax
call fcn.00647e88
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x648819
mov al, 2
call fcn.00647e88
cmp eax, dword [ebp - 0xc]
je 0x64881d
xor eax, eax
jmp 0x64881f
mov al, 1
mov byte [ebp - 1], al
jmp 0x648910
push 0
lea eax, [ebp - 0xc]
push eax
mov al, 2
call fcn.00647e18
push eax
xor eax, eax
call fcn.00647e18
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x648856
mov al, 2
call fcn.00647e18
cmp eax, dword [ebp - 0xc]
je 0x64885a
xor eax, eax
jmp 0x64885c
mov al, 1
mov byte [ebp - 1], al
jmp 0x648910
push 0
lea eax, [ebp - 0xc]
push eax
mov al, 2
call fcn.006483c8
push eax
xor eax, eax
call fcn.006483c8
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x648893
mov al, 2
call fcn.006483c8
cmp eax, dword [ebp - 0xc]
je 0x648897
xor eax, eax
jmp 0x648899
mov al, 1
mov byte [ebp - 1], al
jmp 0x648910
push 0
lea eax, [ebp - 0xc]
push eax
mov al, 2
call fcn.00647da8
push eax
xor eax, eax
call fcn.00647da8
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x6488cd
mov al, 2
call fcn.00647da8
cmp eax, dword [ebp - 0xc]
je 0x6488d1
xor eax, eax
jmp 0x6488d3
mov al, 1
mov byte [ebp - 1], al
jmp 0x648910
push 0
lea eax, [ebp - 0xc]
push eax
mov al, 2
call fcn.00647d38
push eax
xor eax, eax
call fcn.00647d38
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x648907
mov al, 2
call fcn.00647d38
cmp eax, dword [ebp - 0xc]
je 0x64890b
xor eax, eax
jmp 0x64890d
mov al, 1
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
jne 0x64892f
mov eax, esi
call fcn.0040577c
mov edx, eax
lea eax, [ebp - 0x10]
call fcn.004054b4
mov eax, dword [ebp - 0x10]
call fcn.0040a700
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x64894d
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_CloseHandle_1
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x64896a
lea eax, [ebp - 0x10]
call fcn.004052bc
ret