Function at 0x1025082
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 0x1025100
cmp dword [0x103e420], esi
mov dword [0x102d8dc], esi
jne 0x10250af
mov dword [0x103e420], eax
cmp dword [0x103e424], esi
mov eax, dword [sym.imp.msvcrt.dll__iob]
jne 0x10250c1
mov dword [0x103e424], eax
cmp dword [0x103e428], esi
jne 0x10250d1
add eax, 0x20
mov dword [0x103e428], eax
cmp dword [0x103e418], esi
jne 0x10250fb
push 0x4000
push dword [0x103e424]
call fcn.01024ea8
cmp eax, esi
mov dword [0x103e418], eax
jne 0x10250fb
mov dword [edi], esi
xor eax, eax
jmp 0x10254f4
call fcn.01024d6a
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 0x1025150
movsx eax, word [edi + 0x1005e18]
cmp eax, 0x7d
jl 0x102514c
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 0x1025136
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 0x1025124
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 0x10251c8
movsx edx, word [edx + 0x1005792]
cmp eax, edx
jl 0x10251da
dec esi
sub edi, 4
mov eax, dword [edi]
lea edx, [eax + eax]
movsx eax, word [edx + 0x1005790]
jmp 0x10251b9
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 0x102523e
xor edx, edx
cmp dword [0x103e40c], edx
jle 0x102523e
cmp byte [ecx + edx], 0xa
jne 0x1025235
inc dword [0x102d8e0]
inc edx
cmp edx, dword [0x103e40c]
jl 0x1025229
dec eax
cmp eax, 0x28
ja case.default.0x1025248
jmp dword [eax*4 + 0x10254fa]
mov al, byte [0x103e414]
mov edi, esi
sub edi, ecx
dec edi
mov byte [esi], al
cmp dword [ebx + 0x24], 0
jne 0x1025277
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 0x10252cf
call fcn.01024f53
cmp eax, 0xffffffff
je 0x10254eb
test eax, eax
je 0x1025329
cmp eax, 1
jne 0x10252fb
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 0x102523e
mov eax, dword [0x102e3f0]
lea esi, [eax + edi]
mov dword [0x103e41c], esi
call fcn.01024c31
call fcn.01024cdd
test eax, eax
mov ecx, dword [0x102e3f0]
je 0x1025199
inc esi
jmp 0x1025124
cmp eax, 2
jne case.0x1025248.31
mov ebx, dword [0x103e418]
mov esi, dword [ebx + 4]
add esi, dword [0x103e410]
mov dword [0x103e41c], esi
call fcn.01024c31
mov ecx, dword [0x102e3f0]
jmp 0x1025199
mov eax, dword [0x102e3f0]
lea esi, [eax + edi]
mov dword [0x103e41c], esi
call fcn.01024c31
mov ecx, dword [0x102e3f0]
jmp 0x1025124
mov dword [0x103e420], 3
jmp case.0x1025248.31
mov dword [0x103e420], 5
jmp case.0x1025248.31
mov dword [0x103e420], 1
jmp case.0x1025248.31
push dword [0x103e428]
push 1
push dword [0x103e40c]
push ecx
call dword [sym.imp.msvcrt.dll_fwrite]
add esp, 0x10
jmp case.0x1025248.31
mov eax, 0x105
jmp 0x10254f3
mov eax, 0x106
jmp 0x10254f3
mov eax, 0x108
jmp 0x10254f3
mov eax, 0x107
jmp 0x10254f3
mov eax, 0x109
jmp 0x10254f3
mov eax, 0x10a
jmp 0x10254f3
mov eax, 0x10b
jmp 0x10254f3
mov eax, 0x10c
jmp 0x10254f3
mov eax, 0x10d
jmp 0x10254f3
mov eax, 0x10e
jmp 0x10254f3
mov eax, 0x10f
jmp 0x10254f3
mov eax, 0x110
jmp 0x10254f3
mov eax, 0x111
jmp 0x10254f3
mov eax, 0x112
jmp 0x10254f3
mov eax, 0x113
jmp 0x10254f3
mov eax, 0x114
jmp 0x10254f3
mov eax, 0x115
jmp 0x10254f3
mov eax, 0x116
jmp 0x10254f3
mov eax, 0x117
jmp 0x10254f3
mov eax, 0x118
jmp 0x10254f3
mov eax, 0x119
jmp 0x10254f3
mov eax, 0x11a
jmp 0x10254f3
mov eax, 0x11b
jmp 0x10254f3
push 0x1f
push 0x102e368
push 0xffffffffffffffff
push ecx
push 0
push 0
call dword [sym.imp.KERNEL32.DLL_MultiByteToWideChar]
mov eax, 0x102
jmp 0x10254f3
push ecx
call dword [sym.imp.msvcrt.dll_atoi]
pop ecx
mov dword [0x102e368], eax
mov eax, 0x103
jmp 0x10254f3
inc ecx
jmp 0x10254a9
add ecx, 2
push 0x10
push 0
push ecx
call dword [sym.imp.msvcrt.dll_strtol]
add esp, 0xc
jmp 0x1025497
push ecx
call fcn.01024ddd
mov dword [0x102e368], eax
mov eax, 0x104
jmp 0x10254f3
movsx eax, byte [ecx]
jmp 0x10254f3
and dword [0x102d8e0], 0
push 0x10062c0
mov dword [0x102e3f0], 0x1006200
call fcn.01023c0d
mov eax, dword [ebp + 8]
and dword [eax], 0
xor eax, eax
pop ebx
pop edi
pop esi
leave
ret 4