Function at 0x1002f1f
Capabilities:
Write file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xc
xor ecx, ecx
cmp dword [0x100b020], ecx
je 0x1002f8d
cmp dword [0x101ce48], ecx
mov dword [0x100b020], ecx
jne 0x1002f49
mov dword [0x101ce48], 1
cmp dword [0x101ce4c], ecx
mov eax, dword [sym.imp.msvcrt.dll__iob]
jne 0x1002f5b
mov dword [0x101ce4c], eax
cmp dword [0x101ce50], ecx
jne 0x1002f6b
add eax, 0x20
mov dword [0x101ce50], eax
cmp dword [0x101ce40], ecx
jne 0x1002f88
push 0x4000
push dword [0x101ce4c]
call fcn.01002cf3
mov dword [0x101ce40], eax
call fcn.01002ae2
push ebx
push esi
push edi
mov cl, byte [0x100ce20]
mov esi, dword [0x101ce44]
mov eax, dword [0x101ce48]
mov byte [esi], cl
mov edi, esi
mov dword [0x100ce28], eax
mov dword [0x101ce34], 0x100ce2c
movzx ecx, byte [esi]
mov dl, byte [ecx + 0x100b3f0]
mov byte [ebp - 1], dl
movzx edx, dl
jmp 0x1002fe0
movsx eax, word [ecx + 0x100b6b0]
cmp eax, 0xc5
jl 0x1002fdc
mov cl, byte [edx + 0x100b4f0]
mov byte [ebp - 1], cl
movzx edx, byte [ebp - 1]
lea ecx, [eax + eax]
movsx ebx, word [ecx + 0x100b520]
add ebx, edx
movsx ebx, word [ebx*2 + 0x100bc80]
cmp ebx, eax
jne 0x1002fc5
movsx eax, word [eax*2 + 0x100b520]
movzx ecx, byte [ebp - 1]
add eax, ecx
movsx eax, word [eax*2 + 0x100b840]
mov ecx, dword [0x101ce34]
add dword [0x101ce34], 4
mov dword [ecx], eax
inc esi
cmp word [eax*2 + 0x100b520], 0x1f4
jne 0x1002fb4
sub dword [0x101ce34], 4
mov eax, dword [0x101ce34]
mov eax, dword [eax]
add eax, eax
mov dword [ebp - 8], eax
movsx eax, word [eax + 0x100b260]
mov dword [0x101ce30], eax
mov eax, dword [ebp - 8]
mov ecx, dword [0x101ce30]
test ecx, ecx
je 0x1003061
movsx eax, word [eax + 0x100b262]
cmp ecx, eax
jl 0x100307e
sub dword [0x101ce34], 4
mov eax, dword [0x101ce34]
mov eax, dword [eax]
dec esi
add eax, eax
movsx ecx, word [eax + 0x100b260]
mov dword [ebp - 8], eax
jmp 0x1003052
movsx eax, word [ecx*2 + 0x100b028]
mov dword [0x101ce30], ecx
mov ecx, esi
sub ecx, edi
mov dword [0x10226c8], edi
mov dword [0x10226cc], ecx
mov cl, byte [esi]
mov edx, esi
mov dword [0x100ce24], edx
mov byte [0x100ce20], cl
mov byte [esi], 0
mov dword [0x101ce44], esi
mov ebx, dword [0x101ce40]
dec eax
cmp eax, 0x29
ja case.default.0x10030c5
jmp dword [eax*4 + 0x100361e]
mov eax, esi
sub eax, dword [0x10226c8]
mov byte [esi], cl
dec eax
cmp dword [ebx + 0x24], 0
mov dword [ebp - 0xc], eax
jne 0x10030f6
mov eax, dword [ebx + 0x10]
mov dword [0x101ce38], eax
mov eax, dword [0x101ce4c]
mov dword [ebx], eax
mov dword [ebx + 0x24], 1
mov eax, dword [ebx + 4]
add eax, dword [0x101ce38]
cmp dword [0x101ce44], eax
jbe 0x100350a
call fcn.01002da1
sub eax, 0
je 0x1003564
dec eax
jne 0x1003539
mov eax, dword [0x10226c8]
and dword [0x101ce3c], 0
mov cl, byte [0x100ce20]
mov dword [0x101ce44], eax
mov eax, dword [0x101ce48]
dec eax
cdq
sub eax, edx
mov edx, dword [0x100ce24]
sar eax, 1
add eax, 0x2a
jmp 0x10030b5
cmp dword [0x100c0c8], 0
je 0x10034fb
mov eax, 0x102
pop edi
pop esi
pop ebx
leave
ret
cmp dword [0x100c0c8], 0
je 0x10034fb
mov eax, 0x101
jmp 0x1003162
mov byte [esi], cl
lea eax, [edi + 2]
mov ecx, eax
sub ecx, edi
mov dword [0x10226c8], edi
mov dword [0x10226cc], ecx
mov cl, byte [eax]
mov byte [eax], 0
cmp dword [0x100c0c8], 0
mov byte [0x100ce20], cl
mov dword [0x101ce44], eax
je 0x10032ee
mov eax, 0x112
jmp 0x1003162
mov byte [esi], cl
lea eax, [edi + 2]
mov ecx, eax
sub ecx, edi
mov dword [0x10226c8], edi
mov dword [0x10226cc], ecx
mov cl, byte [eax]
mov byte [eax], 0
cmp dword [0x100c0c8], 0
mov byte [0x100ce20], cl
mov dword [0x101ce44], eax
je 0x10032ee
mov eax, 0x113
jmp 0x1003162
cmp dword [0x100c0c8], 0
je 0x10034fb
mov eax, 0x104
jmp 0x1003162
cmp dword [0x100c0c8], 0
je 0x10034fb
mov eax, 0x105
jmp 0x1003162
cmp dword [0x100c0c8], 0
je 0x10034fb
mov eax, 0x106
jmp 0x1003162
cmp dword [0x100c0c8], 0
je 0x10034fb
mov eax, 0x107
jmp 0x1003162
mov byte [esi], cl
lea eax, [edi + 2]
mov ecx, eax
sub ecx, edi
mov dword [0x10226c8], edi
mov dword [0x10226cc], ecx
mov cl, byte [eax]
mov byte [eax], 0
cmp dword [0x100c0c8], 0
mov byte [0x100ce20], cl
mov dword [0x101ce44], eax
je 0x10032ee
mov eax, 0x108
jmp 0x1003162
mov byte [esi], cl
lea eax, [edi + 2]
mov ecx, eax
sub ecx, edi
mov dword [0x10226c8], edi
mov dword [0x10226cc], ecx
mov cl, byte [eax]
mov byte [eax], 0
cmp dword [0x100c0c8], 0
mov byte [0x100ce20], cl
mov dword [0x101ce44], eax
je 0x10032ee
mov eax, 0x109
jmp 0x1003162
mov byte [esi], cl
lea eax, [edi + 2]
mov ecx, eax
sub ecx, edi
mov dword [0x10226c8], edi
mov dword [0x10226cc], ecx
mov cl, byte [eax]
mov byte [eax], 0
cmp dword [0x100c0c8], 0
mov byte [0x100ce20], cl
mov dword [0x101ce44], eax
jne 0x10035dd
mov byte [eax], cl
jmp 0x10034fd
cmp dword [0x100c0c8], 0
je 0x10034fb
mov eax, 0x10b
jmp 0x1003162
cmp dword [0x100c0c8], 0
je 0x10034fb
mov eax, 0x10e
jmp 0x1003162
cmp dword [0x100c0c8], 0
je 0x10034fb
mov eax, 0x10f
jmp 0x1003162
cmp dword [0x100c0c8], 0
je 0x10034fb
mov eax, 0x111
jmp 0x1003162
cmp dword [0x100c0c8], 0
je 0x10034fb
mov eax, 0x110
jmp 0x1003162
cmp dword [0x100c0c8], 0
je 0x10034fb
mov eax, 0x114
jmp 0x1003162
cmp dword [0x100c0c8], 0
je 0x10034fb
mov eax, 0x116
jmp 0x1003162
cmp dword [0x100c0c8], 0
je 0x10034fb
mov eax, 0x117
jmp 0x1003162
cmp dword [0x100c0c8], 0
je 0x10034fb
mov eax, 0x118
jmp 0x1003162
cmp dword [0x100c0c8], 0
je 0x10034fb
mov eax, 0x119
jmp 0x1003162
cmp dword [0x100c0c8], 0
je 0x10034fb
mov eax, 0x11a
jmp 0x1003162
cmp dword [0x100c0c8], 0
je 0x10034fb
mov eax, 0x11b
jmp 0x1003162
cmp dword [0x100c0c8], 0
je 0x10034fb
mov eax, 0x12d
jmp 0x1003162
cmp dword [0x100c0c8], 0
je 0x10034fb
mov eax, 0x132
jmp 0x1003162
cmp dword [0x100c0c8], 0
je 0x10034fb
mov eax, 0x12e
jmp 0x1003162
cmp dword [0x100c0c8], 0
je 0x10034fb
mov eax, 0x133
jmp 0x1003162
cmp dword [0x100c0c8], 0
je 0x10034fb
mov eax, 0x11f
jmp 0x1003162
cmp dword [0x100c0c8], 0
je 0x10034fb
mov eax, 0x120
jmp 0x1003162
cmp dword [0x100c0c8], 0
je 0x10034fb
mov eax, 0x122
jmp 0x1003162
cmp dword [0x100c0c8], 0
je 0x10034fb
mov eax, 0x121
jmp 0x1003162
cmp dword [0x100c0c8], 0
je 0x10034fb
mov eax, 0x10c
jmp 0x1003162
cmp dword [0x100c0c8], 0
je 0x10034fb
mov eax, 0x115
jmp 0x1003162
cmp dword [0x100c0c8], 0
je 0x10034fb
mov eax, 0x10d
jmp 0x1003162
cmp dword [0x100c0c4], 0
jne 0x10035ee
mov byte [esi], cl
inc dword [0x101ce30]
mov esi, edx
jmp 0x1003049
mov eax, dword [0x10226c8]
mov ecx, dword [ebp - 0xc]
lea esi, [eax + ecx]
mov dword [0x101ce44], esi
call fcn.010029a5
call fcn.01002a51
test eax, eax
mov edi, dword [0x10226c8]
je 0x100302a
inc esi
jmp 0x1002fb4
dec eax
jne 0x1002f90
mov eax, dword [0x101ce40]
mov esi, dword [eax + 4]
add esi, dword [0x101ce38]
mov dword [0x101ce44], esi
call fcn.010029a5
mov edi, dword [0x10226c8]
jmp 0x100302a
mov eax, dword [0x10226c8]
mov ecx, dword [ebp - 0xc]
lea esi, [eax + ecx]
mov dword [0x101ce44], esi
call fcn.010029a5
mov edi, dword [0x10226c8]
jmp 0x1002fb4
push dword [0x101ce50]
push 1
push dword [0x10226cc]
push dword [0x10226c8]
call dword [sym.imp.msvcrt.dll_fwrite]
add esp, 0x10
jmp 0x1002f90
mov byte [esi], cl
lea eax, [edi + 1]
mov ecx, eax
sub ecx, edi
mov dword [0x10226c8], edi
mov dword [0x10226cc], ecx
mov cl, byte [eax]
mov byte [eax], 0
mov dword [0x101ce44], eax
mov byte [0x100ce20], cl
mov eax, 0x137
jmp 0x1003162
xor eax, eax
jmp 0x1003162
and dword [0x100c0bc], 0
mov eax, 0x10a
jmp 0x1003162
push dword [0x10226c8]
call dword [sym.imp.msvcrt.dll__strdup]
mov dword [0x101ce58], eax
pop ecx
mov eax, 0x103
jmp 0x1003162
mov eax, 0x138
jmp 0x1003162
push 0x1001398
call fcn.01002b55
cmpsd dword [esi], dword es:[edi]
xor eax, 827326720
add byte [ecx], al
salc
xor eax, 828834048
add byte [ecx], al
jnp 0x1003661
add byte [ecx], al
mov ah, 0x31
add byte [ecx], al
lock xor dword [eax], eax
add dword [edi], eax
xor al, byte [eax]
add dword [esi], ebx
xor al, byte [eax]
add dword [0x4c010032], esi
xor al, byte [eax]
add dword [edx + esi + 0x32bc0100], eax
add byte [ecx], al
cmc
xor al, byte [eax]
add dword [ebx + esi], ecx
add byte [ecx], al
and esi, dword [ebx]
add byte [ecx], al
cmp dh, byte [ebx]
add byte [ecx], al
push ecx
xor eax, dword [eax]
add dword [eax + 0x33], ebp
add byte [ecx], al
jg 0x100369f
add dword [ecx + 0x33], edx
add byte [ecx], al
push 0x7f010033
xor eax, dword [eax]
add dword [esi - 0x52feffcd], edx
xor eax, dword [eax]
add esp, eax
add byte [ecx], al
xchg esi, eax
xor eax, dword [eax]
add dword [ebp - 0x3bfeffcd], ebp
xor eax, dword [eax]
add ebx, ebx
xor eax, dword [eax]
add edx, esi
xor eax, dword [eax]
add dword [ecx], ecx
xor al, 0
add dword [eax], esp
xor al, 0
add dword [edi], esi
xor al, 0
add dword [esi + 0x34], ecx
add byte [ecx], al
xor al, 0
add dword [esp + esi], edi
add dword [edi - 0x5dfeffcc], ecx
xor al, 0
add dword [ebp - 0x37feffcc], esi
xor al, 0
add ebx, ebx
xor al, 0
add esi, ebp
xor al, 0
add dword [esi + 0xa01002f], edx
add byte ss:[ecx], al
test dword [0x30cc0100], esi
add byte [ecx], al
salc
xor eax, -859045632
int3