Function at 0x44cd70
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb0
mov eax, dword [0x519008]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
xor edx, edx
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp + 0x10]
push ebx
mov dword [ebp - 0x9c], ecx
push esi
mov ecx, dword [eax + 4]
mov ebx, dword [eax]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x90], ecx
push edi
mov edi, dword [eax + 0xc]
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebx + 4]
add eax, 4
add eax, edi
mov byte [ebp - 0x91], dl
cmp eax, ecx
ja 0x44ce15
mov eax, dword [ebx]
mov ecx, dword [ebp - 0x90]
add ecx, edi
add edi, 4
mov edx, dword [eax + ecx]
mov eax, dword [ebp - 0x98]
cmp byte [eax + 0x10], 0
mov dword [eax + 0xc], edi
je 0x44ce12
mov ecx, edx
mov eax, edx
shr eax, 0x10
and ecx, 0xff0000
or ecx, eax
mov eax, edx
and edx, 0xff00
shl eax, 0x10
or edx, eax
shr ecx, 8
shl edx, 8
or edx, ecx
mov ecx, dword [ebx + 4]
mov eax, dword [ebp - 0x90]
mov esi, 0
add eax, 4
add eax, edi
cmp eax, ecx
ja 0x44ce6f
mov eax, dword [ebx]
mov ecx, dword [ebp - 0x90]
add ecx, edi
add edi, 4
mov esi, dword [eax + ecx]
mov eax, dword [ebp - 0x98]
cmp byte [eax + 0x10], 0
mov dword [eax + 0xc], edi
je 0x44ce6c
mov ecx, esi
mov eax, esi
shr eax, 0x10
and ecx, 0xff0000
or ecx, eax
mov eax, esi
and esi, 0xff00
shl eax, 0x10
or esi, eax
shr ecx, 8
shl esi, 8
or esi, ecx
mov ecx, dword [ebx + 4]
mov eax, dword [ebp - 0x90]
inc eax
add eax, edi
cmp eax, ecx
ja 0x44ce9b
mov eax, dword [ebx]
mov ecx, dword [ebp - 0x90]
add ecx, edi
mov al, byte [eax + ecx]
mov ecx, dword [ebp - 0x98]
mov byte [ebp - 0x91], al
lea eax, [edi + 1]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x9c]
xor edi, edi
mov ecx, dword [eax + 0x1c]
test ecx, ecx
je 0x44d131
mov ebx, dword [eax + 0x10]
mov dword [ebp - 0x90], ebx
lea eax, [ebx + 8]
lea ebx, [ebx]
cmp dword [eax], edx
je 0x44cedf
inc edi
add eax, 0x40
cmp edi, ecx
jb 0x44cec0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00403d8c
mov esp, ebp
pop ebp
ret 0x14
cmp edi, 0xffffffff
je 0x44d131
shl edi, 6
cmp dword [edi + ebx], 0
jne 0x44d131
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
add ecx, 0x3a98
mov dword [edi + ebx + 0x10], ecx
mov eax, edx
mov ecx, ebx
adc eax, 0
mov ebx, dword [ebp + 0x14]
mov dword [edi + ecx + 0x14], eax
mov eax, dword [edi + ecx + 0x34]
inc eax
cmp esi, eax
jne 0x44d097
mov dword [edi + ecx + 0x34], esi
cmp edx, dword [edi + ecx + 0x1c]
jb 0x44cf7f
ja 0x44cf32
cmp ebx, dword [edi + ecx + 0x18]
jbe 0x44cf7f
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x9c]
push dword [edi + eax + 0x30]
mov ecx, dword [ecx + 4]
lea eax, [esi + 1]
push eax
mov eax, dword [ebp - 0x90]
mov edx, dword [ecx]
push dword [edi + eax + 8]
push str.FileTransfer____0x_08X__packet___d____d__n
push ecx
call dword [edx + 0xc]
mov ecx, dword [ebp - 0x90]
add esp, 0x14
mov eax, dword [ebp + 0x18]
add ebx, 0x1388
adc eax, 0
mov esi, dword [edi + ecx + 0x34]
mov dword [edi + ecx + 0x18], ebx
mov dword [edi + ecx + 0x1c], eax
mov edx, dword [ebp - 0x90]
lea eax, [esi + 1]
mov ecx, dword [edi + ecx + 0x28]
mov ebx, dword [ebp - 0x9c]
cmp eax, dword [edi + edx + 0x30]
jb 0x44cfe8
imul ecx, esi
mov esi, dword [edi + edx + 0x24]
sub esi, ecx
mov ecx, dword [ebp - 0x98]
push esi
push dword [ebx + 8]
call fcn.00402190
mov eax, dword [ebp - 0x90]
push dword [edi + eax + 0x20]
push 1
push esi
push dword [ebx + 8]
call fcn.0040d634
mov esi, dword [ebp - 0x90]
push dword [edi + esi + 0x20]
mov dword [edi + esi], 1
call fcn.0040d0b9
add esp, 0x14
mov dword [edi + esi + 0x20], 0
jmp 0x44d012
push ecx
push dword [ebx + 8]
mov ecx, dword [ebp - 0x98]
call fcn.00402190
mov esi, dword [ebp - 0x90]
push dword [edi + esi + 0x20]
push 1
push dword [edi + esi + 0x28]
push dword [ebx + 8]
call fcn.0040d634
add esp, 0x10
mov al, byte [ebp - 0x91]
mov dword [edi + esi + 0x38], 0
mov dword [edi + esi + 0x3c], 0
cmp al, byte [edi + esi + 0x2c]
je 0x44d038
cmp dword [edi + esi], 1
jne 0x44d131
mov eax, dword [edi + esi + 0xc]
mov dword [ebp - 0xac], eax
mov eax, dword [edi + esi + 0x34]
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0x8c]
push ecx
push eax
lea ecx, [ebp - 0xb0]
mov byte [ebp - 0xb0], 4
call fcn.00402f30
movzx eax, ax
mov ecx, ebx
push eax
lea eax, [ebp - 0x8c]
push eax
push dword [ebp - 0xa0]
push dword [ebp - 0xa4]
call fcn.0044d7e0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00403d8c
mov esp, ebp
pop ebp
ret 0x14
cmp edx, dword [edi + ecx + 0x3c]
jb 0x44d131
ja 0x44d0ad
cmp ebx, dword [edi + ecx + 0x38]
jb 0x44d131
mov eax, dword [edi + ecx + 0xc]
add ebx, 0x7d0
mov dword [ebp - 0xac], eax
mov eax, dword [edi + ecx + 0x34]
adc edx, 0
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0x8c]
push ecx
mov dword [edi + ecx + 0x38], ebx
mov dword [edi + ecx + 0x3c], edx
lea ecx, [ebp - 0xb0]
push eax
mov byte [ebp - 0xb0], 4
call fcn.00402f30
mov ebx, dword [ebp - 0x9c]
mov ecx, ebx
movzx eax, ax
push eax
lea eax, [ebp - 0x8c]
push eax
push dword [ebp - 0xa0]
push dword [ebp - 0xa4]
call fcn.0044d7e0
mov ecx, dword [ebx + 4]
mov ebx, dword [ebp - 0x90]
mov edx, dword [ecx]
mov eax, dword [edi + ebx + 0x34]
inc eax
push eax
push dword [edi + ebx + 8]
push str.FileTransfer____0x_08X__send_NACK_for_packet__d__n
push ecx
call dword [edx + 0xc]
add esp, 0x10
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00403d8c
mov esp, ebp
pop ebp
ret 0x14