Function at 0x45caa0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
mov ebx, ecx
push esi
push edi
mov esi, dword [ebx]
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jb 0x45cad2
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x45cad2
push dword [esi]
sub eax, ecx
push eax
push 1
push ecx
call fcn.004a6d45
mov eax, dword [esi + 4]
add esp, 0x10
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
mov byte [eax], 0x22
inc dword [esi + 0xc]
cmp dword [ebp + 0xc], 0
jbe 0x45cc69
xor ecx, ecx
mov edx, dword [ebp + 8]
inc ecx
mov esi, dword [ebx]
mov dword [ebp - 8], ecx
mov al, byte [edx]
inc edx
movzx edi, al
mov byte [ebp - 1], al
mov eax, dword [esi + 0xc]
mov dword [ebp + 8], edx
cmp byte [edi + str.uuuuuuuubtnufruuuuuuuuuuuuuuuuuu], 0
je 0x45cc30
cmp eax, dword [esi + 8]
jb 0x45cb2e
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x45cb2e
push dword [esi]
sub eax, ecx
push eax
push 1
push ecx
call fcn.004a6d45
mov eax, dword [esi + 4]
add esp, 0x10
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
mov byte [eax], 0x5c
inc dword [esi + 0xc]
mov esi, dword [ebx]
mov al, byte [edi + str.uuuuuuuubtnufruuuuuuuuuuuuuuuuuu]
mov byte [ebp - 1], al
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jb 0x45cb67
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x45cb67
push dword [esi]
sub eax, ecx
push eax
push 1
push ecx
call fcn.004a6d45
mov eax, dword [esi + 4]
add esp, 0x10
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
mov cl, byte [ebp - 1]
mov byte [eax], cl
inc dword [esi + 0xc]
cmp byte [edi + str.uuuuuuuubtnufruuuuuuuuuuuuuuuuuu], 0x75
jne 0x45cc5d
mov esi, dword [ebx]
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jb 0x45cba6
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x45cba6
push dword [esi]
sub eax, ecx
push eax
push 1
push ecx
call fcn.004a6d45
mov eax, dword [esi + 4]
add esp, 0x10
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
mov byte [eax], 0x30
inc dword [esi + 0xc]
mov esi, dword [ebx]
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jb 0x45cbd6
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x45cbd6
push dword [esi]
sub eax, ecx
push eax
push 1
push ecx
call fcn.004a6d45
mov eax, dword [esi + 4]
add esp, 0x10
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
mov byte [eax], 0x30
mov eax, edi
inc dword [esi + 0xc]
mov esi, dword [ebx]
shr eax, 4
mov al, byte [eax + str.0123456789ABCDEF]
mov byte [ebp - 1], al
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jb 0x45cc14
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x45cc14
push dword [esi]
sub eax, ecx
push eax
push 1
push ecx
call fcn.004a6d45
mov eax, dword [esi + 4]
add esp, 0x10
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
mov cl, byte [ebp - 1]
mov byte [eax], cl
inc dword [esi + 0xc]
and edi, 0xf
mov esi, dword [ebx]
mov al, byte [edi + str.0123456789ABCDEF]
mov byte [ebp - 1], al
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jb 0x45cc52
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x45cc52
push dword [esi]
sub eax, ecx
push eax
push 1
push ecx
call fcn.004a6d45
mov eax, dword [esi + 4]
add esp, 0x10
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
mov cl, byte [ebp - 1]
mov byte [eax], cl
inc dword [esi + 0xc]
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebp + 0xc]
jb 0x45cae7
mov esi, dword [ebx]
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jb 0x45cc90
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x45cc90
push dword [esi]
sub eax, ecx
push eax
push 1
push ecx
call fcn.004a6d45
mov eax, dword [esi + 4]
add esp, 0x10
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
pop edi
mov byte [eax], 0x22
mov al, 1
inc dword [esi + 0xc]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8