Function at 0x421b90
Capabilities:
Write file on windows

Disassembly:
push ecx
mov eax, dword [0x43b678]
mov ecx, dword [0x43b588]
push ebx
mov edx, dword [0x43b590]
push ebp
push esi
push edi
push str.Function_Entry
push 0x43d2ec
push 4
push 0x452
push eax
mov eax, dword [0x43b58c]
push ecx
push edx
push eax
push 1
mov dword [esp + 0x34], 0
call fcn.0040ee40
mov esi, dword [esp + 0x3c]
add esp, 0x24
test esi, esi
je 0x421dbb
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x421dbb
mov eax, dword [esp + 0x1c]
test al, 4
je 0x421bf9
mov edi, 1
jmp 0x421c0b
mov edx, eax
not dl
and edx, 0xff
shr edx, 7
or edx, 2
mov edi, edx
mov ebx, dword [esp + 0x28]
test al, 1
je 0x421c29
mov eax, dword [esi + 0x5c]
push ebx
push ecx
mov ecx, dword [esi + 0x58]
push eax
push ecx
call fcn.0042ef90
mov eax, dword [esp + 0x2c]
add esp, 0x10
mov ebp, dword [sym.imp.KERNEL32.dll_CreateFileA]
test al, 0x10
jne 0x421ceb
cmp dword [esi + 0x50], 0xffffffff
jne 0x421c87
push 0
push 0
push edi
push 0
push 3
lea edx, [esi + 0x178]
push 0xc0000000
push edx
call ebp
cmp eax, 0xffffffff
mov dword [esi + 0x50], eax
jne 0x421c87
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp edi, 1
jne 0x421c71
cmp eax, 5
mov eax, 0x80000b16
je 0x421c76
mov eax, 0x80000b1b
mov ecx, 0x65
mov esi, eax
mov edx, 0x48d
jmp 0x421dcc
mov eax, dword [esp + 0x20]
mov ecx, dword [esi + 0x50]
push 0
push 0
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov eax, dword [esp + 0x24]
mov ecx, dword [esi + 0x50]
lea edx, [esp + 0x10]
push 0
push edx
push ebx
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x421ccb
mov esi, 0x80000afa
mov ecx, 0x65
mov eax, esi
mov edx, 0x49c
jmp 0x421dcc
cmp dword [esp + 0x10], ebx
je 0x421ce7
mov esi, 0x80000afa
mov ecx, 0x65
mov eax, esi
mov edx, 0x4a7
jmp 0x421dcc
mov eax, dword [esp + 0x1c]
test al, 0x20
jne 0x421d89
cmp dword [esi + 0x4c], 0xffffffff
jne 0x421d2b
push 0
push 0
push edi
push 0
push 3
lea edx, [esi + 0x60]
push 0xc0000000
push edx
call ebp
cmp eax, 0xffffffff
mov dword [esi + 0x4c], eax
jne 0x421d2b
mov esi, 0x80000b1a
mov ecx, 0x65
mov eax, esi
mov edx, 0x4c1
jmp 0x421dcc
mov eax, dword [esp + 0x20]
mov ecx, dword [esi + 0x4c]
push 0
push 0
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov eax, dword [esp + 0x24]
mov ecx, dword [esi + 0x4c]
lea edx, [esp + 0x10]
push 0
push edx
push ebx
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x421d6c
mov esi, 0x80000afa
mov ecx, 0x65
mov eax, esi
mov edx, 0x4d0
jmp 0x421dcc
cmp dword [esp + 0x10], ebx
je 0x421d85
mov esi, 0x80000afa
mov ecx, 0x65
mov eax, esi
mov edx, 0x4db
jmp 0x421dcc
mov eax, dword [esp + 0x1c]
test al, 2
je 0x421daa
push 0
push esi
call fcn.0041f0b0
add esp, 8
test eax, eax
je 0x421db7
mov ecx, 0x65
mov esi, eax
mov edx, 0x4e4
jmp 0x421dcc
test al, 8
je 0x421db7
push esi
call fcn.00420f20
add esp, 4
xor esi, esi
jmp 0x421df6
mov esi, 0x80000b03
mov ecx, 0x66
mov eax, esi
mov edx, 0x458
push ecx
mov ecx, dword [0x43b588]
push edx
mov edx, dword [0x43b678]
push edx
mov edx, dword [0x43b590]
push ecx
mov ecx, dword [0x43b58c]
push edx
push ecx
push eax
push esi
push 3
call fcn.0040fdd0
add esp, 0x24
mov edx, dword [0x43b678]
mov eax, dword [0x43b588]
mov ecx, dword [0x43b590]
push esi
push str.Function_Exit
push str._s__Rc__0x_08X
push 4
push 0x4f4
push edx
mov edx, dword [0x43b58c]
push eax
push ecx
push edx
push 1
call fcn.0040ee40
add esp, 0x28
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret