Function at 0x422db0
Capabilities:
Write file on windows

Disassembly:
sub esp, 0x10
push ebx
push ebp
push esi
xor eax, eax
push edi
push 0x400
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], eax
call fcn.00445d54
push 0x401
mov esi, eax
call fcn.00445d54
mov ebx, dword [esp + 0x30]
push ebx
mov dword [esp + 0x24], eax
call fcn.00445d54
mov edx, eax
mov ecx, ebx
mov ebp, ecx
shr ecx, 2
mov eax, 0x20202020
mov edi, edx
rep stosd dword es:[edi], eax
mov ecx, ebp
and ecx, 3
rep stosb byte es:[edi], al
mov ecx, edx
add esp, 0xc
mov dword [esp + 0x28], edx
mov byte [edx + ebx - 1], 0
mov edi, 0x3ff
mov eax, esi
sub ecx, esi
lea esp, [esp]
mov dl, byte [ecx + eax]
test dl, dl
je 0x422e2f
mov byte [eax], dl
inc eax
dec edi
jne 0x422e20
jmp 0x422e33
test edi, edi
jne 0x422e34
dec eax
mov ebp, dword [esp + 0x24]
mov byte [eax], 0
mov eax, dword [esp + 0x18]
push 0x400
push eax
mov ecx, ebp
call fcn.00421e00
mov edx, 0x3ff
mov ecx, esi
cmp byte [ecx], 0
je 0x422e5e
inc ecx
dec edx
jne 0x422e53
jmp 0x422e7a
test edx, edx
je 0x422e7a
mov ecx, 0x3ff
sub ecx, edx
push eax
mov edx, 0x3ff
sub edx, ecx
push edx
add ecx, esi
push ecx
call fcn.0040eb10
mov eax, dword [ebp + 0x10]
lea ecx, [ebp + 0x10]
call dword [eax + 0xc]
cmp byte [eax], 0
je 0x422eba
mov ecx, ebp
call fcn.00421b30
mov edx, 0x3ff
mov ecx, esi
cmp byte [ecx], 0
je 0x422ea1
inc ecx
dec edx
jne 0x422e96
jmp 0x422eec
test edx, edx
je 0x422eec
mov ecx, 0x3ff
sub ecx, edx
mov edx, 0x3ff
push eax
sub edx, ecx
push edx
add ecx, esi
push ecx
jmp 0x422ee7
mov ecx, 0x3ff
mov eax, esi
cmp byte [eax], 0
je 0x422ecc
inc eax
dec ecx
jne 0x422ec1
jmp 0x422eec
test ecx, ecx
je 0x422eec
mov eax, 0x3ff
sub eax, ecx
mov ecx, 0x3ff
push 0x45afdc
sub ecx, eax
push ecx
add eax, esi
push eax
call fcn.0040eb10
test esi, esi
je 0x422f00
mov ecx, 0x3ff
mov eax, esi
cmp byte [eax], 0
je 0x422f4b
inc eax
dec ecx
jne 0x422ef7
mov eax, dword [esp + 0x10]
push 0
lea edx, [esp + 0x20]
push edx
push eax
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
push esi
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
xor edi, edi
lea esp, [esp]
mov ecx, dword [ebp + 0x28]
test ecx, ecx
je 0x422f5c
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 2
cmp edi, eax
jae 0x422f5c
mov edx, ecx
lea eax, [edx + edi*4]
mov edx, dword [eax]
lea ecx, [ebx + 1]
push ecx
mov ecx, dword [esp + 0x18]
push edx
call fcn.00422db0
inc edi
jmp 0x422f20
test ecx, ecx
je 0x422f00
mov eax, 0x3ff
sub eax, ecx
mov dword [esp + 0x10], eax
jmp 0x422f04
mov edx, 0x456a80
mov edi, 0x3ff
mov eax, esi
sub edx, esi
lea ebx, [ebx]
mov cl, byte [edx + eax]
test cl, cl
je 0x422f7f
mov byte [eax], cl
inc eax
dec edi
jne 0x422f70
jmp 0x422f83
test edi, edi
jne 0x422f84
dec eax
mov byte [eax], 0
mov ecx, dword [ebp + 0x28]
test ecx, ecx
je 0x422fcc
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 2
test eax, eax
jbe 0x422fcc
mov ecx, 0x3ff
mov eax, esi
cmp byte [eax], 0
je 0x422fac
inc eax
dec ecx
jne 0x422fa1
jmp 0x422fcc
test ecx, ecx
je 0x422fcc
mov eax, 0x3ff
sub eax, ecx
mov ecx, dword [esp + 0x28]
push ecx
mov edx, 0x3ff
sub edx, eax
push edx
add eax, esi
push eax
call fcn.0040eb10
mov edi, dword [esp + 0x18]
push 0x400
push edi
mov ecx, ebp
call fcn.00421ba0
mov edx, 0x3ff
mov ecx, esi
cmp byte [ecx], 0
je 0x422fef
inc ecx
dec edx
jne 0x422fe4
jmp 0x42300b
test edx, edx
je 0x42300b
push eax
mov ecx, 0x3ff
sub ecx, edx
mov eax, 0x3ff
sub eax, ecx
push eax
add ecx, esi
push ecx
call fcn.0040eb10
mov ecx, 0x3ff
mov eax, esi
cmp byte [eax], 0
je 0x42301d
inc eax
dec ecx
jne 0x423012
jmp 0x42303d
test ecx, ecx
je 0x42303d
mov eax, 0x3ff
sub eax, ecx
push 0x45afdc
mov ecx, 0x3ff
sub ecx, eax
push ecx
add eax, esi
push eax
call fcn.0040eb10
test esi, esi
je 0x423051
mov ecx, 0x3ff
mov eax, esi
cmp byte [eax], 0
je 0x423084
inc eax
dec ecx
jne 0x423048
mov eax, dword [esp + 0x10]
push 0
lea edx, [esp + 0x20]
push edx
push eax
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
push esi
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
call fcn.00445d4f
push edi
call fcn.00445d4f
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 8
test ecx, ecx
je 0x423051
mov eax, 0x3ff
sub eax, ecx
jmp 0x423055