Function at 0x4067de
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
sub esp, 0x50
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x20]
test eax, eax
jne 0x406894
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x28]
test eax, eax
jne 0x406894
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x24]
test eax, eax
jne 0x406894
sub esp, 8
push 8
push 0x8000
call sub.msvcrt.dll_calloc
add esp, 0x10
mov edx, eax
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x20], edx
sub esp, 8
push 8
push 0x8000
call sub.msvcrt.dll_calloc
add esp, 0x10
mov edx, eax
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x24], edx
sub esp, 8
push 8
push 0x8000
call sub.msvcrt.dll_calloc
add esp, 0x10
mov edx, eax
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x28], edx
mov dword [ebp - 0xc], 0
cmp dword [ebp - 0xc], 0
je 0x4068de
mov eax, dword [ebp + 0xc]
mov ebx, dword [eax + 0xc]
mov eax, dword [ebp + 8]
mov esi, dword [eax + 8]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 4]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
sub esp, 0xc
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
push ebx
push dword [ebp + 0x14]
push esi
push edx
push ecx
push str.Running__s_filter_for_class__s_method__s__thread__d__activeCount:__d_time:__llu_n
push eax
call sub.msvcrt.dll_fprintf
add esp, 0x30
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
test eax, eax
jle 0x406cb2
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
sub esp, 8
push 4
push eax
call sub.msvcrt.dll_calloc
add esp, 0x10
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
sub esp, 8
push 4
push eax
call sub.msvcrt.dll_calloc
add esp, 0x10
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x3c], 0
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
sub esp, 8
push 4
push eax
call sub.msvcrt.dll_calloc
add esp, 0x10
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x44], 0
jmp 0x406c64
cmp dword [ebp - 0xc], 0
je 0x4069d0
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp - 0x44]
shl eax, 2
lea eax, [edx + eax]
mov eax, dword [eax]
mov edx, eax
mov eax, edx
shl eax, 2
add eax, edx
shl eax, 2
lea eax, [ecx + eax]
mov ecx, dword [eax + 0x10]
mov eax, dword [ebp + 0xc]
mov ebx, dword [eax + 4]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp - 0x44]
shl eax, 2
lea eax, [edx + eax]
mov eax, dword [eax]
mov edx, eax
mov eax, edx
shl eax, 2
add eax, edx
shl eax, 2
lea eax, [ebx + eax]
mov ebx, dword [eax + 0xc]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0x44]
shl eax, 2
lea eax, [edx + eax]
mov edx, dword [eax]
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
sub esp, 0xc
push ecx
push ebx
push edx
push str.__Analyzing_active_thread_with_id__d__activated_by_key___s___s__n
push eax
call sub.msvcrt.dll_fprintf
add esp, 0x20
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0x44]
shl eax, 2
lea eax, [edx + eax]
mov eax, dword [eax]
cmp eax, dword [ebp + 0x14]
jne 0x406a41
cmp dword [ebp - 0x20], 0
jne 0x406a41
cmp dword [ebp - 0xc], 0
je 0x406a0c
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
push 0x26
push 1
push str.__Adding_execution_time_to_this_thead_n
call sub.msvcrt.dll_fwrite
add esp, 0x10
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x28]
mov eax, dword [ebp + 0x14]
shl eax, 3
lea ecx, [edx + eax]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x28]
mov eax, dword [ebp + 0x14]
shl eax, 3
lea eax, [edx + eax]
mov edx, dword [eax + 4]
mov eax, dword [eax]
add eax, dword [ebp - 0x50]
adc edx, dword [ebp - 0x4c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov dword [ebp - 0x20], 1
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp - 0x44]
shl eax, 2
lea eax, [edx + eax]
mov eax, dword [eax]
mov edx, eax
mov eax, edx
shl eax, 2
add eax, edx
shl eax, 2
lea eax, [ecx + eax]
mov eax, dword [eax + 8]
cmp eax, 1
jne 0x406bab
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x40], 0
jmp 0x406aad
mov eax, dword [ebp - 0x40]
shl eax, 2
add eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0x44]
shl eax, 2
lea eax, [edx + eax]
mov eax, dword [eax]
cmp ecx, eax
jne 0x406aaa
mov dword [ebp - 0x18], 1
inc dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x38]
jl 0x406a83
cmp dword [ebp - 0x18], 0
jne 0x406b49
cmp dword [ebp - 0xc], 0
je 0x406adf
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
push 0x25
push 1
push str.__Adding_wait_time_to_waiting_thread_n
call sub.msvcrt.dll_fwrite
add esp, 0x10
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x20]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0x44]
shl eax, 2
lea eax, [edx + eax]
mov eax, dword [eax]
shl eax, 3
add ecx, eax
mov eax, dword [ebp + 0xc]
mov ebx, dword [eax + 0x20]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0x44]
shl eax, 2
lea eax, [edx + eax]
mov eax, dword [eax]
shl eax, 3
lea eax, [ebx + eax]
mov edx, dword [eax + 4]
mov eax, dword [eax]
add eax, dword [ebp - 0x50]
adc edx, dword [ebp - 0x4c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0x38]
shl eax, 2
mov ecx, eax
add ecx, dword [ebp - 0x2c]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0x44]
shl eax, 2
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ecx], eax
inc dword [ebp - 0x38]
cmp dword [ebp - 0x1c], 0
jne 0x406ba4
cmp dword [ebp - 0xc], 0
je 0x406b6f
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
push 0x35
push 1
push str.__Adding_exec_time_to_this_thread_while_thread_waits_n
call sub.msvcrt.dll_fwrite
add esp, 0x10
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x24]
mov eax, dword [ebp + 0x14]
shl eax, 3
lea ecx, [edx + eax]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x24]
mov eax, dword [ebp + 0x14]
shl eax, 3
lea eax, [edx + eax]
mov edx, dword [eax + 4]
mov eax, dword [eax]
add eax, dword [ebp - 0x50]
adc edx, dword [ebp - 0x4c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x28], 1
cmp dword [ebp + 0x10], 0
jne 0x406c22
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp - 0x44]
shl eax, 2
lea eax, [edx + eax]
mov eax, dword [eax]
mov edx, eax
mov eax, edx
shl eax, 2
add eax, edx
shl eax, 2
lea eax, [ecx + eax]
sub esp, 4
push 1
push dword [ebp + 8]
push dword [eax + 0x10]
push dword [eax + 0xc]
push dword [eax + 8]
push dword [eax + 4]
push dword [eax]
call fcn.004066ca
add esp, 0x20
test eax, eax
je 0x406c22
cmp dword [ebp - 0xc], 0
je 0x406c19
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
push 0x14
push 1
push str.__Exit_key_matched__n
call sub.msvcrt.dll_fwrite
add esp, 0x10
mov dword [ebp - 0x24], 1
jmp 0x406c61
mov eax, dword [ebp - 0x3c]
shl eax, 2
mov ecx, eax
add ecx, dword [ebp - 0x34]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0x44]
shl eax, 2
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ecx], eax
mov eax, dword [ebp - 0x3c]
shl eax, 2
mov ecx, eax
add ecx, dword [ebp - 0x30]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp - 0x44]
shl eax, 2
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ecx], eax
inc dword [ebp - 0x3c]
inc dword [ebp - 0x44]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x44]
jg 0x40694b
cmp dword [ebp - 0x28], 0
je 0x406c91
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x1c]
mov eax, dword [eax + 0x18]
add eax, dword [ebp - 0x50]
adc edx, dword [ebp - 0x4c]
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
cmp dword [ebp - 0x24], 0
je 0x406cb2
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x34]
mov dword [edx + 0x10], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x30]
mov dword [edx + 0x14], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x3c]
mov dword [edx + 0xc], eax
cmp dword [ebp + 0x10], 0
je 0x406de2
cmp dword [ebp - 0xc], 0
je 0x406cdc
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
push 0x14
push 1
push str.__Here_at_the_entry_n
call sub.msvcrt.dll_fwrite
add esp, 0x10
mov dword [ebp - 0x44], 0
jmp 0x406dce
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x44]
mov eax, edx
shl eax, 2
add eax, edx
shl eax, 2
lea eax, [ecx + eax]
sub esp, 4
push 0
push dword [ebp + 8]
push dword [eax + 0x10]
push dword [eax + 0xc]
push dword [eax + 8]
push dword [eax + 4]
push dword [eax]
call fcn.004066ca
add esp, 0x20
test eax, eax
je 0x406dcb
cmp dword [ebp - 0xc], 0
je 0x406d44
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
push 0x15
push 1
push str.__Entry_key_matched__n
call sub.msvcrt.dll_fwrite
add esp, 0x10
mov dword [ebp - 0x40], 0
jmp 0x406d83
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0x40]
shl eax, 2
lea eax, [edx + eax]
mov eax, dword [eax]
cmp eax, dword [ebp + 0x14]
jne 0x406d80
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp - 0x40]
shl eax, 2
lea eax, [edx + eax]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x44]
jne 0x406d80
mov dword [ebp - 0x10], 1
inc dword [ebp - 0x40]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x40]
jg 0x406d4d
cmp dword [ebp - 0x10], 0
jne 0x406dcb
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
shl eax, 2
add edx, eax
mov eax, dword [ebp + 0x14]
mov dword [edx], eax
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0xc]
mov eax, ecx
shl eax, 2
add edx, eax
mov eax, dword [ebp - 0x44]
mov dword [edx], eax
lea edx, [ecx + 1]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0xc], edx
inc dword [ebp - 0x44]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 8]
cmp eax, dword [ebp - 0x44]
jg 0x406ce8
jmp 0x406eaf
mov dword [ebp - 0x44], 0
jmp 0x406ea0
cmp dword [ebp - 0x24], 0
jne 0x406e9d
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x44]
mov eax, edx
shl eax, 2
add eax, edx
shl eax, 2
lea eax, [ecx + eax]
sub esp, 4
push 1
push dword [ebp + 8]
push dword [eax + 0x10]
push dword [eax + 0xc]
push dword [eax + 8]
push dword [eax + 4]
push dword [eax]
call fcn.004066ca
add esp, 0x20
test eax, eax
je 0x406e9d
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x44]
mov eax, edx
shl eax, 2
add eax, edx
shl eax, 2
lea eax, [ecx + eax]
sub esp, 4
push 0
push dword [ebp + 8]
push dword [eax + 0x10]
push dword [eax + 0xc]
push dword [eax + 8]
push dword [eax + 4]
push dword [eax]
call fcn.004066ca
add esp, 0x20
test eax, eax
je 0x406e9d
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x28]
mov eax, dword [ebp + 0x14]
shl eax, 3
lea ecx, [edx + eax]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x28]
mov eax, dword [ebp + 0x14]
shl eax, 3
lea eax, [edx + eax]
mov edx, dword [eax + 4]
mov eax, dword [eax]
add eax, dword [ebp - 0x58]
adc edx, dword [ebp - 0x54]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov dword [ebp - 0x14], 1
inc dword [ebp - 0x44]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 8]
cmp eax, dword [ebp - 0x44]
jg 0x406dee
mov eax, dword [ebp - 0x14]
add eax, eax
or eax, dword [ebp - 0x20]
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret