Function at 0x49c140
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.00499650
mov dword [esp + 8], eax
test eax, eax
jne 0x49c440
cmp byte [esp + 7], al
jne 0x49c440
cmp byte [esp + 6], al
jne 0x49c440
mov eax, dword [0x4ee6fa]
inc eax
push ebx
mov ebx, dword [esp + 0x1c]
mov dword [0x4ee6fa], eax
mov dword [esi + 2], eax
cmp bl, 2
je 0x49c1b0
mov ecx, esi
call fcn.0049b630
mov ebx, dword [esp + 0x1c]
cmp dword [esp + 0x30], 0
push ebp
mov ebp, dword [esp + 0x2c]
je 0x49c1ee
push ebx
push ebp
mov ecx, 0x4ee6f8
call fcn.00498f90
cmp bl, 2
jne 0x49c1ee
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.0049c040
cmp byte [esp + 0xe], 0
jne 0x49c43e
push edi
mov edi, dword [esp + 0x34]
lea eax, [esp + 0x12]
push eax
push edi
mov ecx, 0x4ee6f8
call fcn.0049aab0
mov dword [esp + 0x14], eax
test eax, eax
jne 0x49c43d
cmp byte [esp + 0x12], al
jne 0x49c43d
movzx ebx, bp
mov ecx, ebx
imul ecx, dword [0x4eea38]
add ecx, dword [0x4eea34]
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 0x49c254
call ebp
mov dword [esp + 0x14], eax
test eax, eax
je 0x49c254
mov byte [esp + 0x12], 0x19
jmp 0x49c307
mov edx, dword [0x4eea38]
inc edx
push edx
push 0x4ef144
mov ecx, esi
call fcn.00499570
mov dword [esp + 0x14], eax
test eax, eax
jne 0x49c302
mov ecx, dword [0x4eea38]
push eax
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x3c]
push eax
push ecx
push 0x4ef144
push edi
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x49c2f5
mov edx, dword [0x4eea38]
cmp edx, dword [esp + 0x38]
jne 0x49c2eb
mov al, byte [esp + 0x24]
cmp al, 2
jne 0x49c2b5
push 0x4ef144
push str.1G3RPC9696F5J76W9C6N77U2D9UYMZH
jmp 0x49c2cf
cmp al, 1
je 0x49c2c5
cmp al, 5
je 0x49c2c5
cmp al, 4
je 0x49c2c5
cmp al, 6
jne 0x49c2dc
push 0x4ef144
push str.RCJB9AJ64P9N8FBCN72B9BY5Z3TRGPF
push 0x4ee15d
call fcn.0049e360
add esp, 0xc
push 0x4ee15d
call fcn.0049d9b0
add esp, 4
jmp 0x49c31d
mov byte [esp + 0x12], 0x1a
jmp 0x49c43d
mov byte [esp + 0x12], 0x19
call ebp
mov dword [esp + 0x14], eax
jmp 0x49c307
mov byte [esp + 0x12], 0x1b
cmp dword [esp + 0x14], 0
jne 0x49c43d
cmp byte [esp + 0x12], 0
jne 0x49c43d
mov al, byte [esp + 0x24]
cmp al, 2
jne 0x49c38f
mov dword [0x4ee268], ebx
mov ecx, dword [esi + 2]
mov dword [0x4eea24], ecx
cmp esi, 0x4ee270
je 0x49c358
push 0x17a
push esi
push 0x17a
push 0x4ee270
call fcn.004687be
mov al, byte [esp + 0x34]
add esp, 0x10
mov dword [0x4ee264], 0x4ee270
mov byte [0x4ee564], 0
cmp al, 2
jne 0x49c417
mov eax, dword [esp + 0x25]
lea edx, [esp + 0x38]
push edx
push eax
mov ecx, 0x4ee270
call fcn.00499760
mov byte [0x4ee564], al
jmp 0x49c417
cmp al, 1
je 0x49c39f
cmp al, 5
je 0x49c39f
cmp al, 4
je 0x49c39f
cmp al, 6
jne 0x49c3da
mov dword [0x4ee26c], ebx
mov ecx, dword [esi + 2]
mov dword [0x4eea28], ecx
cmp esi, 0x4ee3ea
je 0x49c3ce
push 0x17a
push esi
push 0x17a
push 0x4ee3ea
call fcn.004687be
add esp, 0x10
mov dword [0x4ee264], 0x4ee3ea
jmp 0x49c417
cmp al, 3
jne 0x49c417
mov dword [0x4ee568], ebx
mov edx, dword [esi + 2]
mov dword [0x4eea2c], edx
cmp esi, 0x4ee56c
je 0x49c40d
push 0x17a
push esi
push 0x17a
push 0x4ee56c
call fcn.004687be
add esp, 0x10
mov dword [0x4ee264], 0x4ee56c
mov eax, dword [esp + 0x44]
mov dword [0x4ee260], ebx
test eax, eax
je 0x49c43d
cmp esi, eax
je 0x49c43d
push 0x17a
push esi
push 0x17a
push eax
call fcn.004687be
add esp, 0x10
pop edi
pop ebp
pop ebx
mov eax, dword [esp + 0x30]
pop esi
test eax, eax
je 0x49c44f
mov cl, byte [esp + 3]
mov byte [eax], cl
mov eax, dword [esp + 0x30]
test eax, eax
je 0x49c45d
mov dl, byte [esp + 2]
mov byte [eax], dl
mov eax, dword [esp + 4]
add esp, 0x1c
ret 0x18