Function at 0x1004011
Capabilities:
Write file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
xor ecx, ecx
cmp dword [section..data], ecx
je 0x100407e
mov dword [section..data], ecx
cmp dword [0x101dd88], ecx
jne 0x100403a
mov dword [0x101dd88], 1
mov eax, dword [sym.imp.msvcrt.dll__iob]
cmp dword [0x101dd8c], ecx
jne 0x100404c
mov dword [0x101dd8c], eax
cmp dword [0x101dd90], ecx
jne 0x100405c
add eax, 0x20
mov dword [0x101dd90], eax
cmp dword [0x101dd80], ecx
jne 0x1004079
push 0x4000
push dword [0x101dd8c]
call fcn.01003dbb
mov dword [0x101dd80], eax
call fcn.01003b40
push ebx
push esi
push edi
mov cl, byte [0x100dd60]
mov esi, dword [0x101dd84]
mov eax, dword [0x101dd88]
mov byte [esi], cl
mov edi, esi
mov dword [0x100dd68], eax
mov dword [0x101dd74], 0x100dd6c
movzx ecx, byte [esi]
mov dl, byte [ecx + 0x1001638]
mov byte [ebp - 1], dl
movzx edx, dl
jmp 0x10040d1
movsx eax, word [ecx + 0x10018f8]
cmp eax, 0xc5
jl 0x10040cd
mov cl, byte [edx + 0x1001738]
mov byte [ebp - 1], cl
movzx edx, byte [ebp - 1]
lea ecx, [eax + eax]
movsx ebx, word [ecx + 0x1001768]
add ebx, edx
movsx ebx, word [ebx*2 + 0x1001ec8]
cmp ebx, eax
jne 0x10040b6
movsx eax, word [eax*2 + 0x1001768]
movzx ecx, byte [ebp - 1]
add eax, ecx
movsx eax, word [eax*2 + 0x1001a88]
mov ecx, dword [0x101dd74]
add dword [0x101dd74], 4
mov dword [ecx], eax
mov ecx, 0x1f4
inc esi
cmp word [eax*2 + 0x1001768], cx
jne 0x10040a5
xor edx, edx
sub dword [0x101dd74], 4
mov eax, dword [0x101dd74]
mov eax, dword [eax]
lea ebx, [eax + eax]
movsx eax, word [ebx + 0x10014a8]
mov dword [0x101dd70], eax
mov dword [ebp - 8], ebx
cmp dword [0x101dd70], edx
je 0x1004157
movsx eax, word [ebx + 0x10014aa]
cmp dword [0x101dd70], eax
jl 0x100415a
dec esi
jmp 0x1004120
mov eax, dword [0x101dd70]
movsx eax, word [eax*2 + 0x1001270]
mov ecx, esi
sub ecx, edi
mov dword [0x1024148], edi
mov dword [0x102414c], ecx
mov cl, byte [esi]
mov dword [0x100dd64], esi
mov byte [0x100dd60], cl
mov byte [esi], 0
mov dword [0x101dd84], esi
mov ebx, dword [ebp - 8]
dec eax
cmp eax, 0x29
ja case.default.0x100419b
jmp dword [eax*4 + 0x10046e1]
mov eax, dword [0x101dd80]
mov ebx, esi
sub ebx, dword [0x1024148]
mov byte [esi], cl
dec ebx
cmp dword [eax + 0x24], 0
jne 0x10041d0
mov ecx, dword [eax + 0x10]
mov dword [0x101dd78], ecx
mov ecx, dword [0x101dd8c]
mov dword [eax], ecx
mov dword [eax + 0x24], 1
mov eax, dword [eax + 4]
add eax, dword [0x101dd78]
cmp dword [0x101dd84], eax
jbe 0x10045e6
call fcn.01003e80
sub eax, 0
je 0x100463d
dec eax
jne 0x1004612
and dword [0x101dd7c], eax
mov eax, dword [0x1024148]
mov cl, byte [0x100dd60]
mov dword [0x101dd84], eax
mov eax, dword [0x101dd88]
dec eax
cdq
sub eax, edx
sar eax, 1
add eax, 0x2a
xor edx, edx
jmp 0x100418e
cmp dword [0x100d010], edx
jne 0x10046ac
mov byte [esi], cl
mov esi, dword [0x100dd64]
inc dword [0x101dd70]
jmp 0x1004140
cmp dword [0x100d010], edx
je 0x1004231
mov eax, 0x101
pop edi
pop esi
pop ebx
leave
ret
mov byte [esi], cl
lea eax, [edi + 2]
mov ecx, eax
sub ecx, edi
mov dword [0x1024148], edi
mov dword [0x102414c], ecx
mov cl, byte [eax]
mov byte [eax], 0
mov byte [0x100dd60], cl
mov dword [0x101dd84], eax
cmp dword [0x100d010], edx
je 0x10043bd
mov eax, 0x112
jmp 0x1004251
mov byte [esi], cl
lea eax, [edi + 2]
mov ecx, eax
sub ecx, edi
mov dword [0x1024148], edi
mov dword [0x102414c], ecx
mov cl, byte [eax]
mov byte [eax], 0
mov byte [0x100dd60], cl
mov dword [0x101dd84], eax
cmp dword [0x100d010], edx
je 0x10043bd
mov eax, 0x113
jmp 0x1004251
cmp dword [0x100d010], edx
je 0x1004231
mov eax, 0x104
jmp 0x1004251
cmp dword [0x100d010], edx
je 0x1004231
mov eax, 0x105
jmp 0x1004251
cmp dword [0x100d010], edx
je 0x1004231
mov eax, 0x106
jmp 0x1004251
cmp dword [0x100d010], edx
je 0x1004231
mov eax, 0x107
jmp 0x1004251
mov byte [esi], cl
lea eax, [edi + 2]
mov ecx, eax
sub ecx, edi
mov dword [0x1024148], edi
mov dword [0x102414c], ecx
mov cl, byte [eax]
mov byte [eax], 0
mov byte [0x100dd60], cl
mov dword [0x101dd84], eax
cmp dword [0x100d010], edx
je 0x10043bd
mov eax, 0x108
jmp 0x1004251
mov byte [esi], cl
lea eax, [edi + 2]
mov ecx, eax
sub ecx, edi
mov dword [0x1024148], edi
mov dword [0x102414c], ecx
mov cl, byte [eax]
mov byte [eax], 0
mov byte [0x100dd60], cl
mov dword [0x101dd84], eax
cmp dword [0x100d010], edx
je 0x10043bd
mov eax, 0x109
jmp 0x1004251
mov byte [esi], cl
lea eax, [edi + 2]
mov ecx, eax
sub ecx, edi
mov dword [0x1024148], edi
mov dword [0x102414c], ecx
mov cl, byte [eax]
mov byte [eax], 0
mov byte [0x100dd60], cl
mov dword [0x101dd84], eax
cmp dword [0x100d010], edx
jne 0x10046bd
mov byte [eax], cl
jmp 0x1004233
cmp dword [0x100d010], edx
je 0x1004231
mov eax, 0x10b
jmp 0x1004251
cmp dword [0x100d010], edx
je 0x1004231
mov eax, 0x10e
jmp 0x1004251
cmp dword [0x100d010], edx
je 0x1004231
mov eax, 0x10f
jmp 0x1004251
cmp dword [0x100d010], edx
je 0x1004231
mov eax, 0x111
jmp 0x1004251
cmp dword [0x100d010], edx
je 0x1004231
mov eax, 0x110
jmp 0x1004251
cmp dword [0x100d010], edx
je 0x1004231
mov eax, 0x114
jmp 0x1004251
cmp dword [0x100d010], edx
je 0x1004231
mov eax, 0x116
jmp 0x1004251
cmp dword [0x100d010], edx
je 0x1004231
mov eax, 0x117
jmp 0x1004251
cmp dword [0x100d010], edx
je 0x1004231
mov eax, 0x118
jmp 0x1004251
cmp dword [0x100d010], edx
je 0x1004231
mov eax, 0x119
jmp 0x1004251
cmp dword [0x100d010], edx
je 0x1004231
mov eax, 0x11a
jmp 0x1004251
cmp dword [0x100d010], edx
je 0x1004231
mov eax, 0x11b
jmp 0x1004251
cmp dword [0x100d010], edx
je 0x1004231
mov eax, 0x12d
jmp 0x1004251
cmp dword [0x100d010], edx
je 0x1004231
mov eax, 0x132
jmp 0x1004251
cmp dword [0x100d010], edx
je 0x1004231
mov eax, 0x12e
jmp 0x1004251
cmp dword [0x100d010], edx
je 0x1004231
mov eax, 0x133
jmp 0x1004251
cmp dword [0x100d010], edx
je 0x1004231
mov eax, 0x11f
jmp 0x1004251
cmp dword [0x100d010], edx
je 0x1004231
mov eax, 0x120
jmp 0x1004251
cmp dword [0x100d010], edx
je 0x1004231
mov eax, 0x122
jmp 0x1004251
cmp dword [0x100d010], edx
je 0x1004231
mov eax, 0x121
jmp 0x1004251
cmp dword [0x100d010], edx
je 0x1004231
mov eax, 0x10c
jmp 0x1004251
cmp dword [0x100d010], edx
je 0x1004231
mov eax, 0x115
jmp 0x1004251
cmp dword [0x100d010], edx
je 0x1004231
mov eax, 0x10d
jmp 0x1004251
cmp dword [0x100d00c], edx
je 0x1004231
push dword [0x1024148]
call dword [sym.imp.msvcrt.dll__strdup]
mov dword [0x101dd98], eax
pop ecx
mov eax, 0x103
jmp 0x1004251
mov eax, dword [0x1024148]
lea esi, [eax + ebx]
mov dword [0x101dd84], esi
call fcn.01003a03
call fcn.01003aaf
mov edi, dword [0x1024148]
test eax, eax
je 0x100411e
inc esi
jmp 0x10040a5
dec eax
jne 0x1004081
mov eax, dword [0x101dd80]
mov esi, dword [eax + 4]
add esi, dword [0x101dd78]
mov dword [0x101dd84], esi
call fcn.01003a03
mov edi, dword [0x1024148]
jmp 0x100411e
mov eax, dword [0x1024148]
lea esi, [eax + ebx]
mov dword [0x101dd84], esi
call fcn.01003a03
mov edi, dword [0x1024148]
jmp 0x10040a5
push dword [0x101dd90]
push 1
push dword [0x102414c]
push dword [0x1024148]
call dword [sym.imp.msvcrt.dll_fwrite]
add esp, 0x10
jmp 0x1004081
mov byte [esi], cl
lea eax, [edi + 1]
mov ecx, eax
sub ecx, edi
mov dword [0x1024148], edi
mov dword [0x102414c], ecx
mov cl, byte [eax]
mov byte [eax], 0
mov dword [0x101dd84], eax
mov byte [0x100dd60], cl
mov eax, 0x137
jmp 0x1004251
mov eax, 0x102
jmp 0x1004251
xor eax, eax
jmp 0x1004251
mov dword [0x100d004], edx
mov eax, 0x10a
jmp 0x1004251
mov eax, 0x138
jmp 0x1004251
push 0x1002450
call fcn.01003bb3
jge 0x1004729
add byte [ecx], al
and eax, 0xb6010042
inc esi
add byte [ecx], al
inc esp
inc edx
add byte [ecx], al
push esi
inc edx
add byte [ecx], al
mov es, word [edx]
add esi, eax
inc edx
add byte [ecx], al
fadd qword [edx]
add edx, esi
inc edx
add byte [ecx], al
or byte [ebx], al
add dword [esi], ebx
inc ebx
add byte [ecx], al
push ebp
inc ebx
add byte [ecx], al
mov word [ebx], es
add esp, eax
inc ebx
add byte [ecx], al
fiadd dword [ebx]
add eax, esi
inc ebx
add byte [ecx], al
push es
inc esp
add byte [ecx], al
sbb al, 0x44
add byte [ecx], al
xor al, byte [eax + eax + 1]
dec eax
inc esp
add byte [ecx], al
pop esi
inc esp
add byte [ecx], al
je 0x100477b
add byte [ecx], al
mov al, byte [eax + eax + 1]
mov al, byte [3053518916]
inc esp
add byte [ecx], al
int3
add byte [ecx], al
pop ebx
inc esi
add byte [ecx], al
mov byte [0xb6010041], al
inc esi
add byte [ecx], al
int3