Function at 0x10250ae
Capabilities:
Write file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push esi
xor eax, eax
push edi
mov edi, dword [ebp + 8]
inc eax
xor esi, esi
cmp dword [0x102d8dc], esi
mov dword [edi], eax
je 0x102512c
cmp dword [0x103e420], esi
mov dword [0x102d8dc], esi
jne 0x10250db
mov dword [0x103e420], eax
cmp dword [0x103e424], esi
mov eax, dword [sym.imp.msvcrt.dll__iob]
jne 0x10250ed
mov dword [0x103e424], eax
cmp dword [0x103e428], esi
jne 0x10250fd
add eax, 0x20
mov dword [0x103e428], eax
cmp dword [0x103e418], esi
jne 0x1025127
push 0x4000
push dword [0x103e424]
call fcn.01024ed4
cmp eax, esi
mov dword [0x103e418], eax
jne 0x1025127
mov dword [edi], esi
xor eax, eax
jmp 0x1025520
call fcn.01024d96
push ebx
mov ecx, dword [0x103e41c]
mov al, byte [0x103e414]
mov byte [ecx], al
mov eax, dword [0x103e420]
mov esi, ecx
mov dword [0x102e400], eax
mov dword [0x102e3fc], 0x102e404
movzx edx, byte [esi]
mov dl, byte [edx*4 + 0x1005890]
mov byte [ebp - 1], dl
movzx edx, dl
jmp 0x102517c
movsx eax, word [edi + 0x1005e18]
cmp eax, 0x7d
jl 0x1025178
mov dl, byte [edx*4 + 0x1005c90]
mov byte [ebp - 1], dl
movzx edx, byte [ebp - 1]
lea edi, [eax + eax]
movsx ebx, word [edi + 0x1005d10]
add ebx, edx
movsx ebx, word [ebx*2 + 0x1006090]
cmp ebx, eax
jne 0x1025162
movsx eax, word [eax*2 + 0x1005d10]
movzx edx, byte [ebp - 1]
add eax, edx
movsx eax, word [eax*2 + 0x1005f20]
mov edx, dword [0x102e3fc]
add dword [0x102e3fc], 4
inc esi
cmp eax, 0x7c
mov dword [edx], eax
jne 0x1025150
mov ebx, dword [0x103e418]
mov edi, dword [0x102e3fc]
sub edi, 4
mov eax, dword [edi]
lea edx, [eax + eax]
movsx eax, word [edx + 0x1005790]
mov dword [0x102e3fc], edi
mov dword [0x102e3f4], eax
test eax, eax
je 0x10251f4
movsx edx, word [edx + 0x1005792]
cmp eax, edx
jl 0x1025206
dec esi
sub edi, 4
mov eax, dword [edi]
lea edx, [eax + eax]
movsx eax, word [edx + 0x1005790]
jmp 0x10251e5
mov edx, esi
sub edx, ecx
mov dword [0x102e3f4], eax
movsx eax, word [eax*2 + 0x1005630]
cmp eax, 0x26
mov dword [0x102e3f0], ecx
mov dword [0x103e40c], edx
mov cl, byte [esi]
mov byte [0x103e414], cl
mov byte [esi], 0
mov ecx, dword [0x102e3f0]
mov dword [0x102e3fc], edi
mov dword [0x102e3f8], esi
mov dword [0x103e41c], esi
je 0x102526a
xor edx, edx
cmp dword [0x103e40c], edx
jle 0x102526a
cmp byte [ecx + edx], 0xa
jne 0x1025261
inc dword [0x102d8e0]
inc edx
cmp edx, dword [0x103e40c]
jl 0x1025255
dec eax
cmp eax, 0x28
ja case.default.0x1025274
jmp dword [eax*4 + 0x1025526]
mov al, byte [0x103e414]
mov edi, esi
sub edi, ecx
dec edi
mov byte [esi], al
cmp dword [ebx + 0x24], 0
jne 0x10252a3
mov eax, dword [ebx + 0x10]
mov dword [0x103e410], eax
mov eax, dword [0x103e424]
mov dword [ebx], eax
mov dword [ebx + 0x24], 1
mov eax, dword [ebx + 4]
add eax, dword [0x103e410]
cmp dword [0x103e41c], eax
jbe 0x10252fb
call fcn.01024f7f
cmp eax, 0xffffffff
je 0x1025517
test eax, eax
je 0x1025355
cmp eax, 1
jne 0x1025327
and dword [0x103e408], 0
mov eax, dword [0x103e420]
mov ecx, dword [0x102e3f0]
mov ebx, dword [0x103e418]
dec eax
cdq
sub eax, edx
sar eax, 1
mov dword [0x103e41c], ecx
add eax, 0x27
jmp 0x102526a
mov eax, dword [0x102e3f0]
lea esi, [eax + edi]
mov dword [0x103e41c], esi
call fcn.01024c5d
call fcn.01024d09
test eax, eax
mov ecx, dword [0x102e3f0]
je 0x10251c5
inc esi
jmp 0x1025150
cmp eax, 2
jne case.0x1025274.31
mov ebx, dword [0x103e418]
mov esi, dword [ebx + 4]
add esi, dword [0x103e410]
mov dword [0x103e41c], esi
call fcn.01024c5d
mov ecx, dword [0x102e3f0]
jmp 0x10251c5
mov eax, dword [0x102e3f0]
lea esi, [eax + edi]
mov dword [0x103e41c], esi
call fcn.01024c5d
mov ecx, dword [0x102e3f0]
jmp 0x1025150
mov dword [0x103e420], 3
jmp case.0x1025274.31
mov dword [0x103e420], 5
jmp case.0x1025274.31
mov dword [0x103e420], 1
jmp case.0x1025274.31
push dword [0x103e428]
push 1
push dword [0x103e40c]
push ecx
call dword [sym.imp.msvcrt.dll_fwrite]
add esp, 0x10
jmp case.0x1025274.31
mov eax, 0x105
jmp 0x102551f
mov eax, 0x106
jmp 0x102551f
mov eax, 0x108
jmp 0x102551f
mov eax, 0x107
jmp 0x102551f
mov eax, 0x109
jmp 0x102551f
mov eax, 0x10a
jmp 0x102551f
mov eax, 0x10b
jmp 0x102551f
mov eax, 0x10c
jmp 0x102551f
mov eax, 0x10d
jmp 0x102551f
mov eax, 0x10e
jmp 0x102551f
mov eax, 0x10f
jmp 0x102551f
mov eax, 0x110
jmp 0x102551f
mov eax, 0x111
jmp 0x102551f
mov eax, 0x112
jmp 0x102551f
mov eax, 0x113
jmp 0x102551f
mov eax, 0x114
jmp 0x102551f
mov eax, 0x115
jmp 0x102551f
mov eax, 0x116
jmp 0x102551f
mov eax, 0x117
jmp 0x102551f
mov eax, 0x118
jmp 0x102551f
mov eax, 0x119
jmp 0x102551f
mov eax, 0x11a
jmp 0x102551f
mov eax, 0x11b
jmp 0x102551f
push 0x1f
push 0x102e368
push 0xffffffffffffffff
push ecx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, 0x102
jmp 0x102551f
push ecx
call dword [sym.imp.msvcrt.dll_atoi]
pop ecx
mov dword [0x102e368], eax
mov eax, 0x103
jmp 0x102551f
inc ecx
jmp 0x10254d5
add ecx, 2
push 0x10
push 0
push ecx
call dword [sym.imp.msvcrt.dll_strtol]
add esp, 0xc
jmp 0x10254c3
push ecx
call fcn.01024e09
mov dword [0x102e368], eax
mov eax, 0x104
jmp 0x102551f
movsx eax, byte [ecx]
jmp 0x102551f
and dword [0x102d8e0], 0
push 0x10062c0
mov dword [0x102e3f0], 0x1006200
call fcn.01023c39
mov eax, dword [ebp + 8]
and dword [eax], 0
xor eax, eax
pop ebx
pop edi
pop esi
leave
ret 4