Function at 0x4088d0
Capabilities:
Write file on windows

Disassembly:
sub esp, 0x1c
push esi
push str.SetByHandle__
push 1
mov esi, ecx
lea eax, [esp + 0xe]
push eax
lea ecx, [esp + 0x13]
push ecx
lea edx, [esp + 0x1c]
push edx
mov ecx, esi
mov byte [esp + 0x1b], 0
mov byte [esp + 0x1a], 0
call fcn.00405cb0
mov dword [esp + 8], eax
test eax, eax
jne 0x408bd0
cmp byte [esp + 7], al
jne 0x408bd0
cmp byte [esp + 6], al
jne 0x408bd0
mov eax, dword [0x4d392a]
inc eax
push ebx
mov ebx, dword [esp + 0x1c]
mov dword [0x4d392a], eax
mov dword [esi + 2], eax
cmp bl, 2
je 0x408940
mov ecx, esi
call fcn.00407dd0
mov ebx, dword [esp + 0x1c]
cmp dword [esp + 0x30], 0
push ebp
mov ebp, dword [esp + 0x2c]
je 0x40897e
push ebx
push ebp
mov ecx, 0x4d3928
call fcn.004055f0
cmp bl, 2
jne 0x40897e
mov ecx, dword [esp + 0x22]
mov edx, dword [esp + 0x21]
lea eax, [esp + 0xe]
push eax
push ecx
push edx
mov ecx, esi
call fcn.004087d0
cmp byte [esp + 0xe], 0
jne 0x408bce
push edi
mov edi, dword [esp + 0x34]
lea eax, [esp + 0x12]
push eax
push edi
mov ecx, 0x4d3928
call fcn.00407250
mov dword [esp + 0x14], eax
test eax, eax
jne 0x408bcd
cmp byte [esp + 0x12], al
jne 0x408bcd
movzx ebx, bp
mov ecx, ebx
imul ecx, dword [0x4d3c68]
add ecx, dword [0x4d3c64]
push eax
push eax
push ecx
push edi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov ebp, dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xffffffff
jne 0x4089e4
call ebp
mov dword [esp + 0x14], eax
test eax, eax
je 0x4089e4
mov byte [esp + 0x12], 0x19
jmp 0x408a97
mov edx, dword [0x4d3c68]
inc edx
push edx
push 0x4d4374
mov ecx, esi
call fcn.00405bd0
mov dword [esp + 0x14], eax
test eax, eax
jne 0x408a92
mov ecx, dword [0x4d3c68]
push eax
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x3c]
push eax
push ecx
push 0x4d4374
push edi
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x408a85
mov edx, dword [0x4d3c68]
cmp edx, dword [esp + 0x38]
jne 0x408a7b
mov al, byte [esp + 0x24]
cmp al, 2
jne 0x408a45
push 0x4d4374
push str.1G3RPC9696F5J76W9C6N77U2D9UYMZH
jmp 0x408a5f
cmp al, 1
je 0x408a55
cmp al, 5
je 0x408a55
cmp al, 4
je 0x408a55
cmp al, 6
jne 0x408a6c
push 0x4d4374
push str.RCJB9AJ64P9N8FBCN72B9BY5Z3TRGPF
push 0x4d338d
call fcn.00410ae0
add esp, 0xc
push 0x4d338d
call fcn.00411fe0
add esp, 4
jmp 0x408aad
mov byte [esp + 0x12], 0x1a
jmp 0x408bcd
mov byte [esp + 0x12], 0x19
call ebp
mov dword [esp + 0x14], eax
jmp 0x408a97
mov byte [esp + 0x12], 0x1b
cmp dword [esp + 0x14], 0
jne 0x408bcd
cmp byte [esp + 0x12], 0
jne 0x408bcd
mov al, byte [esp + 0x24]
cmp al, 2
jne 0x408b1f
mov dword [0x4d3498], ebx
mov ecx, dword [esi + 2]
mov dword [0x4d3c54], ecx
cmp esi, 0x4d34a0
je 0x408ae8
push 0x17a
push esi
push 0x17a
push 0x4d34a0
call fcn.00473d14
mov al, byte [esp + 0x34]
add esp, 0x10
mov dword [0x4d3494], 0x4d34a0
mov byte [0x4d3794], 0
cmp al, 2
jne 0x408ba7
mov eax, dword [esp + 0x25]
lea edx, [esp + 0x38]
push edx
push eax
mov ecx, 0x4d34a0
call fcn.00405dc0
mov byte [0x4d3794], al
jmp 0x408ba7
cmp al, 1
je 0x408b2f
cmp al, 5
je 0x408b2f
cmp al, 4
je 0x408b2f
cmp al, 6
jne 0x408b6a
mov dword [0x4d349c], ebx
mov ecx, dword [esi + 2]
mov dword [0x4d3c58], ecx
cmp esi, 0x4d361a
je 0x408b5e
push 0x17a
push esi
push 0x17a
push 0x4d361a
call fcn.00473d14
add esp, 0x10
mov dword [0x4d3494], 0x4d361a
jmp 0x408ba7
cmp al, 3
jne 0x408ba7
mov dword [0x4d3798], ebx
mov edx, dword [esi + 2]
mov dword [0x4d3c5c], edx
cmp esi, 0x4d379c
je 0x408b9d
push 0x17a
push esi
push 0x17a
push 0x4d379c
call fcn.00473d14
add esp, 0x10
mov dword [0x4d3494], 0x4d379c
mov eax, dword [esp + 0x44]
mov dword [0x4d3490], ebx
test eax, eax
je 0x408bcd
cmp esi, eax
je 0x408bcd
push 0x17a
push esi
push 0x17a
push eax
call fcn.00473d14
add esp, 0x10
pop edi
pop ebp
pop ebx
mov eax, dword [esp + 0x30]
pop esi
test eax, eax
je 0x408bdf
mov cl, byte [esp + 3]
mov byte [eax], cl
mov eax, dword [esp + 0x30]
test eax, eax
je 0x408bed
mov dl, byte [esp + 2]
mov byte [eax], dl
mov eax, dword [esp + 4]
add esp, 0x1c
ret 0x18