Function at 0x4c3494
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 0x4c39bf
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.0040521c
push eax
call sub.kernel32.dll_CreateFileA_1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xffffffff
je 0x4c39a9
xor eax, eax
push ebp
push 0x4c39a2
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov al, bl
cmp eax, 0x80
jg 0x4c3556
je 0x4c378f
cmp eax, 0x40
jg 0x4c3536
je 0x4c369b
sub eax, 1
jb 0x4c35a7
sub eax, 0xf
je 0x4c35e4
sub eax, 0x10
je 0x4c3621
sub eax, 0x10
je 0x4c365e
jmp 0x4c396c
sub eax, 0x50
je 0x4c36d8
sub eax, 0x10
je 0x4c3715
sub eax, 0x10
je 0x4c3752
jmp 0x4c396c
cmp eax, 0xc0
jg 0x4c3585
je 0x4c3883
sub eax, 0x90
je 0x4c37cc
sub eax, 0x10
je 0x4c3809
sub eax, 0x10
je 0x4c3846
jmp 0x4c396c
sub eax, 0xd0
je 0x4c38c0
sub eax, 0x10
je 0x4c38fa
sub eax, 0x10
je 0x4c3934
jmp 0x4c396c
push 0
lea eax, [ebp - 0xc]
push eax
mov al, 2
call fcn.004c2f40
push eax
xor eax, eax
call fcn.004c2f40
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x4c35d6
mov al, 2
call fcn.004c2f40
cmp eax, dword [ebp - 0xc]
je 0x4c35da
xor eax, eax
jmp 0x4c35dc
mov al, 1
mov byte [ebp - 1], al
jmp 0x4c396c
push 0
lea eax, [ebp - 0xc]
push eax
mov al, 2
call fcn.004c2fbc
push eax
xor eax, eax
call fcn.004c2fbc
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x4c3613
mov al, 2
call fcn.004c2fbc
cmp eax, dword [ebp - 0xc]
je 0x4c3617
xor eax, eax
jmp 0x4c3619
mov al, 1
mov byte [ebp - 1], al
jmp 0x4c396c
push 0
lea eax, [ebp - 0xc]
push eax
mov al, 2
call fcn.004c3038
push eax
xor eax, eax
call fcn.004c3038
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x4c3650
mov al, 2
call fcn.004c3038
cmp eax, dword [ebp - 0xc]
je 0x4c3654
xor eax, eax
jmp 0x4c3656
mov al, 1
mov byte [ebp - 1], al
jmp 0x4c396c
push 0
lea eax, [ebp - 0xc]
push eax
mov al, 2
call fcn.004c30b4
push eax
xor eax, eax
call fcn.004c30b4
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x4c368d
mov al, 2
call fcn.004c30b4
cmp eax, dword [ebp - 0xc]
je 0x4c3691
xor eax, eax
jmp 0x4c3693
mov al, 1
mov byte [ebp - 1], al
jmp 0x4c396c
push 0
lea eax, [ebp - 0xc]
push eax
mov al, 2
call fcn.004c3130
push eax
xor eax, eax
call fcn.004c3130
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x4c36ca
mov al, 2
call fcn.004c3130
cmp eax, dword [ebp - 0xc]
je 0x4c36ce
xor eax, eax
jmp 0x4c36d0
mov al, 1
mov byte [ebp - 1], al
jmp 0x4c396c
push 0
lea eax, [ebp - 0xc]
push eax
mov al, 2
call fcn.004c31ac
push eax
xor eax, eax
call fcn.004c31ac
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x4c3707
mov al, 2
call fcn.004c31ac
cmp eax, dword [ebp - 0xc]
je 0x4c370b
xor eax, eax
jmp 0x4c370d
mov al, 1
mov byte [ebp - 1], al
jmp 0x4c396c
push 0
lea eax, [ebp - 0xc]
push eax
mov al, 2
call fcn.004c3228
push eax
xor eax, eax
call fcn.004c3228
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x4c3744
mov al, 2
call fcn.004c3228
cmp eax, dword [ebp - 0xc]
je 0x4c3748
xor eax, eax
jmp 0x4c374a
mov al, 1
mov byte [ebp - 1], al
jmp 0x4c396c
push 0
lea eax, [ebp - 0xc]
push eax
mov al, 2
call fcn.004c32a4
push eax
xor eax, eax
call fcn.004c32a4
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x4c3781
mov al, 2
call fcn.004c32a4
cmp eax, dword [ebp - 0xc]
je 0x4c3785
xor eax, eax
jmp 0x4c3787
mov al, 1
mov byte [ebp - 1], al
jmp 0x4c396c
push 0
lea eax, [ebp - 0xc]
push eax
mov al, 2
call fcn.004c3320
push eax
xor eax, eax
call fcn.004c3320
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x4c37be
mov al, 2
call fcn.004c3320
cmp eax, dword [ebp - 0xc]
je 0x4c37c2
xor eax, eax
jmp 0x4c37c4
mov al, 1
mov byte [ebp - 1], al
jmp 0x4c396c
push 0
lea eax, [ebp - 0xc]
push eax
mov al, 2
call fcn.004c339c
push eax
xor eax, eax
call fcn.004c339c
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x4c37fb
mov al, 2
call fcn.004c339c
cmp eax, dword [ebp - 0xc]
je 0x4c37ff
xor eax, eax
jmp 0x4c3801
mov al, 1
mov byte [ebp - 1], al
jmp 0x4c396c
push 0
lea eax, [ebp - 0xc]
push eax
mov al, 2
call fcn.004c2ec4
push eax
xor eax, eax
call fcn.004c2ec4
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x4c3838
mov al, 2
call fcn.004c2ec4
cmp eax, dword [ebp - 0xc]
je 0x4c383c
xor eax, eax
jmp 0x4c383e
mov al, 1
mov byte [ebp - 1], al
jmp 0x4c396c
push 0
lea eax, [ebp - 0xc]
push eax
mov al, 2
call fcn.004c2e48
push eax
xor eax, eax
call fcn.004c2e48
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x4c3875
mov al, 2
call fcn.004c2e48
cmp eax, dword [ebp - 0xc]
je 0x4c3879
xor eax, eax
jmp 0x4c387b
mov al, 1
mov byte [ebp - 1], al
jmp 0x4c396c
push 0
lea eax, [ebp - 0xc]
push eax
mov al, 2
call fcn.004c2dcc
push eax
xor eax, eax
call fcn.004c2dcc
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x4c38b2
mov al, 2
call fcn.004c2dcc
cmp eax, dword [ebp - 0xc]
je 0x4c38b6
xor eax, eax
jmp 0x4c38b8
mov al, 1
mov byte [ebp - 1], al
jmp 0x4c396c
push 0
lea eax, [ebp - 0xc]
push eax
mov al, 2
call fcn.004c3418
push eax
xor eax, eax
call fcn.004c3418
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x4c38ef
mov al, 2
call fcn.004c3418
cmp eax, dword [ebp - 0xc]
je 0x4c38f3
xor eax, eax
jmp 0x4c38f5
mov al, 1
mov byte [ebp - 1], al
jmp 0x4c396c
push 0
lea eax, [ebp - 0xc]
push eax
mov al, 2
call fcn.004c2d50
push eax
xor eax, eax
call fcn.004c2d50
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x4c3929
mov al, 2
call fcn.004c2d50
cmp eax, dword [ebp - 0xc]
je 0x4c392d
xor eax, eax
jmp 0x4c392f
mov al, 1
mov byte [ebp - 1], al
jmp 0x4c396c
push 0
lea eax, [ebp - 0xc]
push eax
mov al, 2
call fcn.004c2cd4
push eax
xor eax, eax
call fcn.004c2cd4
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x4c3963
mov al, 2
call fcn.004c2cd4
cmp eax, dword [ebp - 0xc]
je 0x4c3967
xor eax, eax
jmp 0x4c3969
mov al, 1
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
jne 0x4c398b
mov eax, esi
call fcn.0040521c
mov edx, eax
lea eax, [ebp - 0x10]
call fcn.00404f54
mov eax, dword [ebp - 0x10]
call fcn.0040a3a0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4c39a9
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 0x4c39c6
lea eax, [ebp - 0x10]
call fcn.00404d5c
ret