Function at 0x41aba0
Capabilities:
Write file on windows

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x2c
mov eax, dword [0xc10098]
mov ecx, dword [esp + 0x40]
test eax, eax
je 0x41ad84
mov eax, dword [0xc10480]
test eax, eax
je 0x41ae0d
mov eax, dword [esp + 0x44]
test eax, eax
je 0x41ad84
cmp dword [esp + 0x44], 1
movzx edx, byte [ecx]
jbe 0x41ad84
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 0x28], 0
add eax, 0x40
mov dword [esp + 0x1c], eax
jmp 0x41ac59
cmp dl, 0xfe
je 0x41ac6f
cmp dl, 0xff
je 0x41ac8b
movzx eax, dl
mov dword [esp + 8], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], 0xaf9bf5
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov ecx, 2
mov edx, 2
mov eax, dword [esp + 0x28]
lea eax, [eax + ecx + 1]
cmp dword [esp + 0x44], eax
mov dword [esp + 0x28], eax
jbe 0x41ad84
mov eax, dword [esp + 0x20]
lea ecx, [edx + eax]
mov eax, dword [esp + 0x44]
sub eax, dword [esp + 0x28]
movzx edx, byte [ecx]
cmp eax, 1
jbe 0x41ad84
lea eax, [ecx + 1]
cmp dl, 1
mov dword [esp + 0x20], eax
movzx ebx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
je 0x41ac7b
jae 0x41abf5
mov ecx, 2
mov edx, 2
jmp 0x41ac28
test al, al
mov ecx, 5
mov edx, 5
jns 0x41ac28
jmp 0x41ac6f
mov ebp, eax
movzx eax, bl
shl ebp, 8
or ebp, eax
mov eax, ebp
shr ax, 8
and eax, 0x7f
mov edi, eax
mov eax, ebp
and eax, 0x7f
test al, 0x60
je 0x41ad8c
movzx eax, byte [eax + 0xc104b0]
mov ebx, dword [0xc106a0]
mov byte [esp + 0x27], al
mov eax, dword [ebx]
test eax, eax
je 0x41adf6
lea esi, [eax - 1]
mov eax, dword [ebx + esi*4 + 0xc]
test eax, eax
je 0x41b18f
cmp byte [esp + 0x27], 0xa
je 0x41af9d
mov ecx, dword [0xc104a0]
cmp ecx, 0x3f
je 0x41b139
mov edx, dword [0xc106a0]
mov eax, dword [edx]
mov eax, dword [edx + eax*4 + 8]
movzx edx, byte [esp + 0x27]
mov byte [eax + ecx], dl
lea eax, [ecx + 1]
mov dword [0xc104a0], eax
mov edx, edi
movzx eax, dl
test al, 0x60
je 0x41ad6e
mov ebx, dword [0xc106a0]
movzx edi, byte [eax + 0xc104b0]
mov eax, dword [ebx]
test eax, eax
je 0x41afc7
lea esi, [eax - 1]
mov eax, dword [ebx + esi*4 + 0xc]
test eax, eax
je 0x41b252
mov eax, edi
cmp al, 0xa
je 0x41b166
mov ecx, dword [0xc104a0]
cmp ecx, 0x3f
je 0x41b225
mov edx, dword [0xc106a0]
mov eax, dword [edx]
mov eax, dword [edx + eax*4 + 8]
mov edx, edi
mov byte [eax + ecx], dl
lea eax, [ecx + 1]
mov dword [0xc104a0], eax
mov ecx, 5
mov edx, 5
mov word [0xc10490], bp
jmp 0x41ac28
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
test al, 0x10
je 0x41ad6e
cmp bp, word [0xc10490]
je 0x41ad6e
test edi, 0x40
nop
je 0x41afde
mov ebx, dword [0xc106a0]
mov eax, dword [ebx]
test eax, eax
jne 0x41adc4
mov dword [ebx], 1
mov al, 1
mov dword [0xc104a0], 0
lea esi, [eax - 1]
mov ecx, dword [ebx + esi*4 + 0xc]
test ecx, ecx
je 0x41b295
mov edx, dword [0xc104a0]
test edx, edx
je 0x41ade7
cmp eax, 0xb
jg 0x41ade7
add eax, 1
mov dword [ebx], eax
mov dword [0xc104a0], 0
jmp 0x41ad6e
mov al, 1
mov dword [ebx], 1
mov dword [0xc104a0], 0
jmp 0x41acc8
mov byte [0xc104b0], 0
mov eax, 1
lea esi, [esi]
mov byte [eax + 0xc104b0], al
add eax, 1
cmp eax, 0x80
jne 0x41ae20
mov byte [0xc104da], 0xe1
mov byte [0xc1050c], 0xe9
mov byte [0xc1050e], 0xed
mov byte [0xc1050f], 0xf3
mov byte [0xc10510], 0xfa
mov byte [0xc1052b], 0xe7
mov byte [0xc1052c], 0xf7
mov byte [0xc1052d], 0xd1
mov byte [0xc1052e], 0xf1
mov byte [0xc1052f], 0xa4
mov dword [0xc105ec], 0
mov dword [0xc1053c], 0
mov dword [0xc105f0], 0
mov dword [0xc10540], 0
mov dword [0xc105f4], 0
mov dword [0xc10544], 0
mov dword [0xc105f8], 0
mov dword [0xc10548], 0
mov dword [0xc105fc], 0
mov dword [0xc1054c], 0
mov dword [0xc10600], 0
mov dword [0xc10550], 0
mov dword [0xc10604], 0
mov dword [0xc10554], 0
mov dword [0xc10608], 0
mov dword [0xc10558], 0
mov dword [0xc1060c], 0
mov dword [0xc1055c], 0
mov dword [0xc10610], 0
mov dword [0xc10560], 0
mov dword [0xc10614], 0
mov dword [0xc10564], 0
mov dword [0xc10618], 0
mov dword [0xc10568], 0
mov dword [0xc105e0], 0
mov dword [0xc10530], 0
mov dword [0xc10690], 0xc10530
mov dword [0xc106a0], 0xc105e0
mov dword [0xc10480], 1
jmp 0x41abc5
mov eax, dword [0xc104a0]
test eax, eax
je 0x41afb8
mov edx, dword [0xc106a0]
mov eax, dword [edx]
cmp eax, 0xb
jg 0x41afb8
add eax, 1
mov dword [edx], eax
mov dword [0xc104a0], 0
jmp 0x41ad0d
mov al, 1
mov dword [ebx], 1
mov dword [0xc104a0], 0
jmp 0x41ad2d
mov eax, ebp
and eax, 0x77
cmp al, 0x14
jne 0x41ad6e
mov eax, edi
cmp al, 0x2d
je 0x41ada6
ja 0x41b1d2
cmp al, 0x2c
lea esi, [esi]
jne 0x41ad6e
mov dword [0xe15080], 0
mov dword [esp], 2
call fcn.0057c530
mov ebx, dword [0xc10690]
mov eax, dword [ebx + 0xc]
mov dword [ebx], 0
test eax, eax
je 0x41b03e
mov dword [esp], eax
call sub.msvcrt.dll_free
mov dword [ebx + 0xc], 0
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x41b054
mov dword [esp], eax
call sub.msvcrt.dll_free
mov dword [ebx + 0x10], 0
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x41b06a
mov dword [esp], eax
call sub.msvcrt.dll_free
mov dword [ebx + 0x14], 0
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x41b080
mov dword [esp], eax
call sub.msvcrt.dll_free
mov dword [ebx + 0x18], 0
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x41b096
mov dword [esp], eax
call sub.msvcrt.dll_free
mov dword [ebx + 0x1c], 0
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x41b0ac
mov dword [esp], eax
call sub.msvcrt.dll_free
mov dword [ebx + 0x20], 0
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x41b0c2
mov dword [esp], eax
call sub.msvcrt.dll_free
mov dword [ebx + 0x24], 0
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x41b0d8
mov dword [esp], eax
call sub.msvcrt.dll_free
mov dword [ebx + 0x28], 0
mov eax, dword [ebx + 0x2c]
test eax, eax
je 0x41b0ee
mov dword [esp], eax
call sub.msvcrt.dll_free
mov dword [ebx + 0x2c], 0
mov eax, dword [ebx + 0x30]
test eax, eax
je 0x41b104
mov dword [esp], eax
call sub.msvcrt.dll_free
mov dword [ebx + 0x30], 0
mov eax, dword [ebx + 0x34]
test eax, eax
je 0x41b11a
mov dword [esp], eax
call sub.msvcrt.dll_free
mov dword [ebx + 0x34], 0
mov eax, dword [ebx + 0x38]
test eax, eax
je 0x41ad6e
mov dword [esp], eax
call sub.msvcrt.dll_free
mov dword [ebx + 0x38], 0
jmp 0x41ad6e
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x34
mov dword [esp + 4], 1
mov dword [esp], 0xaf9bc0
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
jmp 0x41ad0d
mov ebx, dword [0xc104a0]
test ebx, ebx
je 0x41ade7
mov edx, dword [0xc106a0]
mov eax, dword [edx]
cmp eax, 0xb
jg 0x41ade7
add eax, 1
mov dword [edx], eax
jmp 0x41ade7
mov dword [esp], 0x40
call sub.msvcrt.dll_malloc
mov edx, dword [0xc106a0]
mov dword [ebx + esi*4 + 0xc], eax
mov eax, dword [edx]
mov eax, dword [edx + eax*4 + 8]
mov dword [esp + 8], 0x40
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov dword [0xc104a0], 0
jmp 0x41acd7
mov edx, edi
cmp dl, 0x2e
je 0x41b209
cmp dl, 0x2f
jne 0x41ad6e
mov eax, dword [0xc106a0]
mov edx, dword [0xc10690]
mov dword [esp], 2
mov dword [0xc10690], eax
mov dword [0xc106a0], edx
mov dword [0xe15080], eax
call fcn.0057c530
mov ebx, dword [0xc106a0]
mov eax, dword [ebx + 0xc]
mov dword [ebx], 0
test eax, eax
jne 0x41b02f
jmp 0x41b03e
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x34
mov dword [esp + 4], 1
mov dword [esp], 0xaf9bc0
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
jmp 0x41ad6e
mov dword [esp], 0x40
call sub.msvcrt.dll_malloc
mov edx, dword [0xc106a0]
mov dword [ebx + esi*4 + 0xc], eax
mov eax, dword [edx]
mov eax, dword [edx + eax*4 + 8]
mov dword [esp + 8], 0x40
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov dword [0xc104a0], 0
jmp 0x41ad3c
mov dword [esp], 0x40
call sub.msvcrt.dll_malloc
mov edx, dword [0xc106a0]
mov dword [ebx + esi*4 + 0xc], eax
mov eax, dword [edx]
mov eax, dword [edx + eax*4 + 8]
mov dword [esp + 8], 0x40
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov dword [0xc104a0], 0
jmp 0x41ade7