Function at 0x426f74
Capabilities:
Write file on windows

Disassembly:
push edi
push esi
push ebp
push ebx
push ecx
mov eax, 0x1022c
call fcn.0046eee0
mov ecx, dword [esp + 0x1022c]
mov esi, ecx
mov ebp, dword [esp + 0x10244]
mov al, byte [esp + 0x10248]
test al, al
jne 0x427089
mov ebx, dword [esi + 4]
add ebx, 7
shr ebx, 3
mov dword [esp + 0x10228], ebx
lea eax, [esp + 0x10228]
lea edx, [esp + 0x1022c]
push 0
push edx
push 4
push eax
push ebp
call dword [sym.imp.kernel32.dll_WriteFile]
test eax, eax
jne 0x426ff3
push 4
push dword [esp + 0x10230]
push 0x6ee360
call fcn.004403f0
xor eax, eax
add esp, 0x1023c
pop ebx
pop ebp
pop esi
pop edi
ret 8
lea eax, [esi + 4]
lea edx, [esp + 0x1022c]
push 0
push edx
push 4
push eax
push ebp
call dword [sym.imp.kernel32.dll_WriteFile]
test eax, eax
jne 0x427030
push 4
push dword [esp + 0x10230]
push 0x6ee3c0
call fcn.004403f0
xor eax, eax
add esp, 0x1023c
pop ebx
pop ebp
pop esi
pop edi
ret 8
add esi, 0xc
lea eax, [esp + 0x1022c]
push 0
push eax
push dword [esp + 0x10230]
push esi
push ebp
call dword [sym.imp.kernel32.dll_WriteFile]
test eax, eax
jne 0x427077
push dword [esp + 0x10228]
push dword [esp + 0x10230]
push 0x6ee420
call fcn.004403f0
xor eax, eax
add esp, 0x1023c
pop ebx
pop ebp
pop esi
pop edi
ret 8
mov eax, 1
add esp, 0x10230
pop ebx
pop ebp
pop esi
pop edi
ret 8
mov dword [esp + 0x24], 0x8000
xor eax, eax
mov ecx, esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov byte [esp + 0x8030], 1
mov byte [esp + 0x8031], al
mov dword [esi + 8], eax
push 0x1c
call fcn.0042e5e4
push 0x1c
mov ecx, esi
call fcn.0042e5e4
test eax, 0x8000000
je 0x4270cf
push 0x1c
mov ecx, esi
call fcn.0042e5e4
mov edx, dword [esi + 4]
mov eax, dword [esi + 8]
mov ebx, edx
sub ebx, eax
lea edi, [esp + 0x8124]
lea ecx, [ebx + eax]
mov dword [esp + 4], edi
mov edi, ebx
cmp ecx, edx
ja 0x42722a
mov edx, eax
shr edx, 3
lea edx, [esi + edx + 0xc]
mov dword [esp + 0xc], edx
and eax, 7
mov dword [esi + 8], ecx
jne 0x427139
cmp ebx, 7
jbe 0x427148
mov edx, ebx
shr edx, 3
mov edi, dword [esp + 4]
mov esi, dword [esp + 0xc]
mov ecx, edx
push ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
add dword [esp + 4], edx
mov edi, ebx
add dword [esp + 0xc], edx
and edi, 7
je 0x42722a
cmp edi, 8
jbe 0x427148
mov edx, 8
mov dword [esp], edx
jmp 0x42714b
mov dword [esp], edi
mov dl, 1
mov esi, 1
mov ecx, eax
mov byte [esp + 0x10], dl
mov edx, eax
neg edx
add edx, 8
xor al, al
shl esi, cl
test edi, edi
mov byte [esp + 8], al
mov eax, dword [esp + 4]
mov byte [eax], 0
je 0x42722a
mov dword [esp + 0x14], ebx
mov ebx, eax
mov ebp, dword [esp + 0xc]
mov dword [esp + 0x20], esi
mov esi, dword [esp]
test edx, edx
jne 0x42719a
mov edx, 8
mov eax, 1
inc ebp
mov dword [esp + 0x20], eax
test esi, esi
jne 0x4271bc
cmp edi, 8
jbe 0x4271aa
mov esi, 8
jmp 0x4271ac
mov esi, edi
mov al, 1
inc ebx
xor cl, cl
mov byte [esp + 0x10], al
mov byte [esp + 8], cl
mov byte [ebx], 0
cmp esi, edx
jae 0x4271c4
mov eax, esi
jmp 0x4271c6
mov eax, edx
sub edi, eax
sub edx, eax
sub esi, eax
lea ecx, [eax - 1]
test eax, eax
je 0x427217
mov dword [esp + 0x18], edi
mov al, byte [esp + 8]
mov dword [esp + 0x1c], edx
mov dl, byte [esp + 0x10]
mov dword [esp], esi
mov esi, dword [esp + 0x20]
movzx edi, byte [ebp]
test esi, edi
je 0x4271f6
or al, dl
mov byte [ebx], al
add esi, esi
add dl, dl
dec ecx
cmp ecx, 0xffffffff
jne 0x4271ea
mov byte [esp + 8], al
mov edi, dword [esp + 0x18]
mov byte [esp + 0x10], dl
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x20], esi
mov esi, dword [esp]
test edi, edi
jne 0x427187
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10244]
lea ecx, [esp + 0x24]
lea edx, [esp + 0x8124]
lea eax, [esp + 0x10224]
mov dword [esp + 4], edx
push eax
push ebx
call fcn.00429110
mov ecx, dword [esp + 0x10224]
test ecx, ecx
jne 0x427286
cmp ebx, 7
jbe 0x427286
mov edx, ebx
shr edx, 3
mov edi, eax
mov esi, dword [esp + 4]
mov ecx, edx
push ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
add eax, edx
add dword [esp + 4], edx
and ebx, 7
je 0x427358
mov ecx, dword [esp + 0x10224]
mov esi, ecx
neg esi
add esi, 8
cmp ebx, 8
jbe 0x42729c
mov edx, 8
mov dword [esp], edx
jmp 0x42729f
mov dword [esp], ebx
mov edx, 1
shl edx, cl
test ecx, ecx
mov dword [esp + 0x10], edx
mov edx, 1
jne 0x4272b6
mov byte [eax], 0
test ebx, ebx
je 0x427358
mov dword [esp + 0xc], edx
mov ecx, dword [esp + 4]
mov ebp, dword [esp]
test ebp, ebp
jne 0x4272e5
cmp ebx, 8
jbe 0x4272d9
mov ebp, 8
jmp 0x4272db
mov ebp, ebx
mov edx, 1
inc ecx
mov dword [esp + 0xc], edx
test esi, esi
jne 0x4272fb
mov esi, 8
mov edx, 1
inc eax
mov dword [esp + 0x10], edx
mov byte [eax], 0
cmp esi, ebp
jae 0x427303
mov edx, esi
jmp 0x427305
mov edx, ebp
sub ebx, edx
sub ebp, edx
sub esi, edx
lea edi, [edx - 1]
test edx, edx
mov dword [esp + 8], edi
je 0x427349
mov dword [esp + 0x14], ebx
mov ebx, edi
mov edx, dword [esp + 0x10]
mov dword [esp], ebp
mov ebp, dword [esp + 0xc]
movzx edi, byte [ecx]
test ebp, edi
je 0x427330
or byte [eax], dl
add ebp, ebp
add edx, edx
dec ebx
cmp ebx, 0xffffffff
jne 0x427327
mov dword [esp + 0x10], edx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xc], ebp
mov ebp, dword [esp]
test ebx, ebx
jne 0x4272c9
mov ebp, dword [esp + 0x10244]
lea ecx, [esp + 0x24]
push 0
push ebp
call fcn.00426f74
add esp, 0x10230
pop ebx
pop ebp
pop esi
pop edi
ret 8