Function at 0x448346
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
push esi
xor esi, esi
cmp dword [ebx + 0x20], esi
push edi
je 0x448435
push esi
lea eax, [ebp - 4]
push eax
lea eax, [ebx + 0x24]
push eax
push dword [ebx]
mov dword [ebp - 4], esi
call dword [sym.imp.KERNEL32.dll_GetOverlappedResult]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp edi, esi
jne 0x448387
cmp eax, 0x3e4
jne 0x448387
xor eax, eax
jmp 0x448567
mov eax, dword [ebp - 4]
cmp eax, dword [ebx + 0x20]
jae 0x44839a
mov dword [ebx + 0x20], esi
mov dword [ebx + 0x18], esi
mov dword [ebx + 0x1c], esi
jmp 0x448380
lea eax, [ebx + 0x18]
push eax
lea eax, [ebp - 0x28]
push eax
lea esi, [ebx + 0x38]
push esi
call fcn.00448fd4
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0xc], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x18], esi
lea edi, [ebp - 0x18]
lea esi, [ebp - 0x10]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], eax
call fcn.0041eaa7
test al, al
jne 0x44842a
mov esi, dword [ebp - 0x10]
test esi, esi
jne 0x4483da
call fcn.0045d2f7
mov edi, dword [ebp - 0xc]
cmp edi, dword [esi + 4]
jne 0x4483e7
call fcn.0045d2f7
mov eax, dword [edi + 0x18]
sub dword [ebx + 0x44], eax
cmp edi, dword [esi + 4]
jne 0x448401
call fcn.0045d2f7
cmp edi, dword [esi + 4]
jne 0x448401
call fcn.0045d2f7
xor eax, eax
cmp dword [edi + 0x20], eax
setne al
push eax
push dword [edi + 0x1c]
call fcn.004501b5
mov esi, eax
call fcn.00450311
push edi
push dword [ebp - 0x10]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebx + 0x38]
push eax
call fcn.00448d42
xor eax, eax
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x20], eax
lea eax, [ebx + 0x38]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], ecx
lea eax, [ebx + 0x38]
mov ecx, dword [eax + 4]
lea edi, [ebp - 0x20]
lea esi, [ebp - 0x10]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x20], eax
call fcn.0041eaa7
test al, al
jne 0x448555
mov esi, dword [ebp - 0x10]
test esi, esi
jne 0x44846e
call fcn.0045d2f7
mov edi, dword [ebp - 0xc]
cmp edi, dword [esi + 4]
jne 0x44847b
call fcn.0045d2f7
cmp edi, dword [esi + 4]
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x14], eax
jne 0x448491
call fcn.0045d2f7
cmp edi, dword [esi + 4]
mov eax, dword [edi + 0x1c]
mov dword [ebp - 8], eax
jne 0x4484a1
call fcn.0045d2f7
mov esi, dword [edi + 0x18]
push 0x14
lea eax, [ebx + 0x24]
push 0
push eax
call fcn.0045c910
mov eax, dword [ebp - 0x18]
and dword [ebp - 4], 0
mov dword [ebx + 0x2c], eax
mov eax, dword [ebp - 0x14]
add esp, 0xc
mov dword [ebx + 0x30], eax
lea eax, [ebx + 0x24]
push eax
lea eax, [ebp - 4]
push eax
push esi
push dword [ebp - 8]
push dword [ebx]
call dword [sym.imp.KERNEL32.dll_WriteFile]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [ebp - 4], esi
je 0x448502
cmp eax, 0x3e5
je 0x4484ef
or eax, 0xffffffff
jmp 0x448505
mov eax, dword [ebp - 0x18]
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 0x14]
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x20], esi
xor eax, eax
jmp 0x448505
mov eax, dword [ebp - 4]
cmp eax, esi
jne 0x448555
mov eax, dword [ebp - 0x10]
sub dword [ebx + 0x44], esi
cmp edi, dword [eax + 4]
jne 0x448519
call fcn.0045d2f7
xor eax, eax
cmp dword [edi + 0x20], eax
setne al
push eax
push dword [ebp - 8]
call fcn.004501b5
mov esi, eax
call fcn.00450311
mov eax, dword [ebp - 0x10]
lea esi, [ebp - 0x10]
mov dword [ebp - 0x28], eax
call fcn.00428636
push edi
push dword [ebp - 0x28]
lea eax, [ebp - 0x30]
push eax
lea eax, [ebx + 0x38]
push eax
call fcn.00448d42
jmp 0x448443
xor eax, eax
cmp dword [ebx + 0x40], eax
jne 0x448564
cmp dword [ebx + 0x44], eax
je 0x448564
mov dword [ebx + 0x44], eax
xor eax, eax
inc eax
pop edi
pop esi
leave
ret