Function at 0x40dcf0
Capabilities:
Create thread
Read file on windows

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x16c
mov eax, dword [0x42b0e4]
mov dword [0x42282c], 0
mov esi, dword [esp + 0x180]
test eax, eax
je 0x40ea50
mov dword [esp + 4], sym._v_segmentation_fault_handler
mov dword [esp], 0xb
call sub.msvcrt.dll_signal
mov edx, 1
mov eax, 0x10
call sym._GC_malloc_kind_aligned_global.constprop.26
mov dword [eax], 0
mov dword [eax + 4], str.unknown
mov dword [eax + 8], 7
mov dword [eax + 0xc], 1
mov eax, dword [0x42b0e4]
test eax, eax
je 0x40eb30
mov eax, dword [0x42b0e0]
test eax, eax
jne 0x40e590
mov dword [sym._GC_default_warn_proc.lto_priv.74], 0x401750
call dword [sym.imp.KERNEL32.dll_GetConsoleOutputCP]
mov dword [esp], 0xfde9
mov dword [0x447d94], eax
call dword [sym.imp.KERNEL32.dll_SetConsoleOutputCP]
sub esp, 4
mov dword [esp], sym._restore_codepage
call sym._atexit
test eax, eax
jne 0x40e780
mov dword [esp], 1
lea ebp, [esp + 0x100]
mov dword [esp + 0x100], 0
call dword [sym.imp.msvcrt.dll__get_osfhandle]
mov dword [esp + 4], ebp
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetConsoleMode]
sub esp, 8
mov eax, dword [esp + 0x100]
test eax, eax
jle 0x40de5f
mov edi, dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov dword [esp], 0xfffffff5
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_SetConsoleMode]
sub esp, 4
mov dword [esp + 4], 7
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [esp], 0xfffffff4
call edi
sub esp, 4
mov dword [esp + 4], 7
mov dword [esp], eax
call ebx
mov ebx, dword [sym.___acrt_iob_func]
sub esp, 8
mov dword [esp], 1
call ebx
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_setbuf
mov dword [esp], 2
call ebx
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_setbuf
mov dword [esp + 4], sym._unhandled_exception_handler_4
mov edi, 0xc
mov dword [esp], 1
call dword [sym.imp.KERNEL32.dll_AddVectoredExceptionHandler]
mov edx, 1
mov eax, 1
mov dword [0x447dc0], 0x423f04
mov dword [0x447dc4], 0xc8
sub esp, 8
mov dword [0x447dc8], 1
mov dword [0x447db4], 0x423fd0
mov dword [0x447db8], 0x24
mov dword [0x447dbc], 1
mov dword [0x447da8], 0x423f04
mov dword [0x447dac], 0xc8
mov dword [0x447db0], 1
mov dword [0x447da4], 0x80000000
mov dword [0x447da0], 0x7fffffff
mov dword [0x447d98], 0
mov dword [0x447d9c], 0x80000000
call sym._GC_malloc_kind_aligned_global.constprop.26
test esi, esi
mov dword [0x447dd0], 0
mov dword [0x447dcc], eax
mov dword [0x447dd4], eax
mov dword [0x447dd8], eax
mov eax, dword [0x447da0]
mov dword [0x447ddc], eax
mov eax, 0
cmovns eax, esi
imul edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
test eax, eax
js 0x40edd5
je 0x40e580
mov eax, dword [esp + 0x28]
mov edx, 1
call sym._GC_malloc_kind_aligned_global.constprop.26
test eax, eax
je 0x40e580
mov edx, eax
xor ecx, ecx
test esi, esi
jle 0x40dfe4
add ecx, 1
mov dword [edx], 0x423324
add edx, 0xc
mov dword [edx - 8], 0
mov dword [edx - 4], 1
cmp esi, ecx
jne 0x40df70
mov ebx, eax
xor edi, edi
lea esi, [esi]
lea esi, [esi]
mov eax, dword [esp + 0x184]
add ebx, 0xc
mov edx, dword [eax + edi*4]
add edi, 1
mov dword [esp], edx
mov dword [esp + 0x28], edx
call sub.msvcrt.dll_wcslen
mov edx, dword [esp + 0x28]
mov ecx, eax
lea eax, [esp + 0x44]
call sym._string_from_wide2
mov eax, dword [esp + 0x44]
mov dword [ebx - 0xc], eax
mov eax, dword [esp + 0x48]
mov dword [ebx - 8], eax
mov eax, dword [esp + 0x4c]
mov dword [ebx - 4], eax
cmp esi, edi
jg 0x40dfa0
lea eax, [esp + 0x30]
call sym._os__getwd
mov edx, 1
mov eax, 0x30
call sym._GC_malloc_kind_aligned_global.constprop.26
mov dword [eax], str..exe
mov dword [eax + 4], 4
mov dword [eax + 8], 1
mov dword [eax + 0xc], str..bat
mov dword [eax + 0x10], 4
mov dword [eax + 0x14], 1
mov dword [eax + 0x18], str..cmd
mov dword [eax + 0x1c], 4
mov dword [eax + 0x20], 1
mov dword [eax + 0x24], 0x423324
mov dword [eax + 0x28], 0
mov dword [eax + 0x2c], 1
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [esp + 0x14], 0
mov esi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0x424004
mov dword [esp + 4], 0
mov dword [esp], 0xfde9
call esi
sub esp, 0x18
lea edi, [eax + eax + 2]
mov dword [esp + 0x28], eax
mov eax, edi
call sym._malloc_noscan
mov edx, dword [esp + 0x28]
test eax, eax
mov ebx, eax
je 0x40e0db
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0x424004
mov dword [esp + 4], 0
mov dword [esp], 0xfde9
call esi
xor eax, eax
mov word [ebx + edi - 2], ax
sub esp, 0x18
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x35
mov dword [esp + 8], str.C:Program_FilesWindows_CrashpadsTrackerUI.sys
mov dword [esp + 4], 0
mov dword [esp], 0xfde9
call esi
sub esp, 0x18
lea edi, [eax + eax + 2]
mov dword [esp + 0x28], eax
mov eax, edi
call sym._malloc_noscan
mov edx, eax
test eax, eax
je 0x40e163
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], 0x35
mov dword [esp + 8], str.C:Program_FilesWindows_CrashpadsTrackerUI.sys
mov dword [esp + 4], 0
mov dword [esp], 0xfde9
call esi
xor esi, esi
sub esp, 0x18
mov edx, dword [esp + 0x28]
mov word [edx + edi - 2], si
mov dword [esp + 4], ebx
mov dword [esp], edx
call dword [sym.imp.msvcrt.dll__wfopen]
mov ebx, eax
test eax, eax
je 0x40e5d0
mov edi, dword [0x447dcc]
mov esi, dword [0x447dd0]
mov byte [esp + 0x100], 0
mov ecx, dword [0x447dd4]
mov edx, dword [0x447dd8]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0x104], edi
mov dword [esp + 0x108], esi
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], edx
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edi
mov dword [esp + 0x98], esi
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], edx
mov dword [esp + 0xa4], ebx
test al, al
jne 0x40e70b
mov dword [esp + 8], 2
mov dword [esp + 4], 0
mov dword [esp], ebx
call sub.msvcrt.dll_fseek
mov dword [esp], ebx
mov edi, eax
call sub.msvcrt.dll_ftell
test edi, edi
mov esi, eax
setne al
test esi, esi
je 0x40e22b
test al, al
jne 0x40e8a0
test esi, esi
jns 0x40e320
test al, al
je 0x40e320
mov eax, 0x10
mov dword [esp + 0x70], str.ftell_failed
mov dword [esp + 0x74], 0xc
mov dword [esp + 0x78], 1
mov dword [esp + 0x7c], 0
call sym.__v_malloc
mov edx, dword [esp + 0x70]
xor ecx, ecx
mov dword [eax], edx
mov edx, dword [esp + 0x74]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x78]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x7c]
mov dword [eax + 0xc], edx
xor edx, edx
mov dword [esp + edx + 0xa8], ecx
add edx, 4
cmp edx, 0x18
jb 0x40e284
mov dword [esp + 0xac], eax
mov dword [esp + 0xb4], eax
add eax, 0xc
mov byte [esp + 0xa8], 1
mov dword [esp + 0xb0], 3
mov dword [esp + 0xb8], eax
mov dword [esp], ebx
call sub.msvcrt.dll_fclose
mov edx, dword [esp + 0xac]
mov eax, dword [esp + 0xa8]
mov edi, dword [esp + 0x114]
mov esi, dword [esp + 0x11c]
mov dword [esp + 0x104], edx
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x100], eax
mov dword [esp + 0x108], edx
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x10c], edx
mov edx, dword [esp + 0xb8]
mov dword [esp + 0x110], edx
jmp 0x40e75f
mov dword [esp], ebx
call sub.msvcrt.dll_rewind
mov eax, dword [0x447dd8]
mov byte [esp + 0x100], 0
mov edi, dword [0x447dcc]
mov ecx, dword [0x447dd0]
mov dword [esp + 0x114], esi
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x100]
mov edx, dword [0x447dd4]
cmp byte [esp + 0x100], 0
mov dword [esp + 0x104], edi
mov dword [esp + 0xa8], eax
mov eax, dword [0x447dd8]
mov dword [esp + 0x108], ecx
mov dword [esp + 0x10c], edx
mov dword [esp + 0xac], edi
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], esi
jne 0x40e2be
test esi, esi
je 0x40e7d0
mov eax, 0
cmovns eax, esi
call sym._vcalloc_noscan
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov edi, eax
mov dword [esp + 4], 1
mov dword [esp], eax
call sub.msvcrt.dll_fread
test eax, eax
jne 0x40e3e9
test esi, esi
jg 0x40eb10
mov dword [esp], ebx
cmp esi, eax
cmovg esi, eax
call sub.msvcrt.dll_fclose
cmp dword [0x447ddc], 4
je 0x40e960
cmp esi, 3
jle 0x40edde
mov ebx, dword [edi]
mov dword [esp + 8], 0
mov dword [esp], 0x40000
sub esi, ebx
add edi, ebx
mov dword [esp + 4], esi
call dword [sym.imp.KERNEL32.dll_HeapCreate]
sub esp, 0xc
mov dword [esp + 8], esi
mov dword [esp + 4], 8
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
sub esp, 0xc
mov ebp, eax
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], eax
call sym._memmove
mov ebx, dword [0x42b0e4]
test ebx, ebx
je 0x40ed30
mov ecx, dword [0x42b384]
xor eax, eax
test ecx, ecx
sete al
mov esi, eax
mov eax, dword [0x42b0c4]
add esi, 7
test eax, eax
jne 0x40ebe0
mov eax, dword [0x42b450]
test eax, eax
je 0x40e4aa
mov edx, dword [0x42b0e0]
test edx, edx
jne 0x40e920
mov eax, dword [0x42b450]
test eax, eax
je 0x40e4b7
call sym._GC_notify_or_invoke_finalizers.part.16.lto_priv.85
mov eax, dword [0x42b0e0]
test eax, eax
jne 0x40e850
mov edx, dword [esi*4 + 0x42c188]
mov eax, dword [0x422708]
lea eax, [eax + edx*4]
mov ebx, dword [eax]
test ebx, ebx
je 0x40eb90
mov ecx, dword [ebx]
shl edx, 3
mov dword [eax], ecx
mov dword [ebx], 0
add dword [0x42b3c4], edx
add dword [0x42b0c0], edx
mov eax, dword [0x42b0e0]
test eax, eax
jne 0x40ea30
mov eax, dword [0x42b0fc]
mov dword [ebx], ebp
mov dword [ebx + 4], 0
test eax, eax
jne 0x40e870
mov dword [0x42b0e0], 1
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], ebx
mov dword [esp + 8], sym._GC_win32_start_4.lto_priv.68
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
sub esp, 0x18
mov esi, eax
test eax, eax
je 0x40ebf0
mov dword [esp], esi
mov dword [esp + 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
xor eax, eax
sub esp, 8
add esp, 0x16c
pop ebx
pop esi
pop edi
pop ebp
ret
test esi, esi
jle 0x40dfe4
xor eax, eax
jmp 0x40df8e
mov dword [esp], 0x42b0c8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x42b0e0]
mov dword [sym._GC_default_warn_proc.lto_priv.74], 0x401750
sub esp, 4
test eax, eax
je 0x40dd7a
mov dword [esp], 0x42b0c8
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
sub esp, 4
jmp 0x40dd7a
lea edi, [esp + 0xdc]
mov ecx, 9
lea edx, [esp + 0xc0]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x60]
mov dword [esp + 0xc0], str.failed_to_open_file__
mov dword [esp + 0xc4], 0x15
mov dword [esp + 0xc8], 1
mov dword [esp + 0xcc], 0xfe10
mov dword [esp + 0xd0], str.C:Program_FilesWindows_CrashpadsTrackerUI.sys
mov dword [esp + 0xd4], 0x35
mov dword [esp + 0xd8], 1
mov dword [esp + 0xe0], 0x424054
mov dword [esp + 0xe4], 1
mov dword [esp + 0xe8], 1
call sym._str_intp.constprop.9
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x64]
mov esi, dword [esp + 0x60]
mov dword [esp + 0x28], edx
call dword [sym.imp.msvcrt.dll__errno]
test ebx, ebx
mov edx, dword [esp + 0x28]
mov edi, dword [eax]
je 0x40eae0
mov eax, 0x10
mov dword [esp + 0xb0], edx
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], ebx
mov dword [esp + 0xb4], edi
call sym.__v_malloc
mov edx, dword [esp + 0xa8]
xor ecx, ecx
mov dword [eax], edx
mov edx, dword [esp + 0xac]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xb0]
mov dword [eax + 8], edx
mov edx, dword [esp + 0xb4]
mov dword [eax + 0xc], edx
xor edx, edx
mov dword [esp + edx + 0x90], ecx
add edx, 4
cmp edx, 0x18
jb 0x40e6d1
mov dword [esp + 0x94], eax
mov dword [esp + 0x9c], eax
add eax, 0xc
mov byte [esp + 0x90], 1
mov dword [esp + 0x98], 3
mov dword [esp + 0xa0], eax
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x90]
mov edi, dword [esp + 0x114]
mov esi, dword [esp + 0x11c]
mov dword [esp + 0x104], edx
mov edx, dword [esp + 0x98]
mov dword [esp + 0x100], eax
mov dword [esp + 0x108], edx
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x10c], edx
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x110], edx
test al, al
je 0x40e3f6
add esp, 0x16c
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x5c], eax
mov eax, 0x10
mov dword [esp + 0x50], str.at_exit_failed
mov dword [esp + 0x54], 0xe
mov dword [esp + 0x58], 1
call sym.__v_malloc
mov edx, dword [esp + 0x50]
mov dword [eax], edx
mov edx, dword [esp + 0x54]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x58]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x5c]
mov dword [eax + 0xc], edx
jmp 0x40dda9
mov edx, ebx
lea eax, [esp + 0xc0]
call sym._os__slurp_file_in_builder
cmp byte [esp + 0xc0], 0
je 0x40eac0
mov dword [esp], ebx
call sub.msvcrt.dll_fclose
mov edx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
mov edi, dword [esp + 0x114]
mov esi, dword [esp + 0x11c]
mov dword [esp + 0x104], edx
mov edx, dword [esp + 0xc8]
mov dword [esp + 0x100], eax
mov dword [esp + 0x108], edx
mov edx, dword [esp + 0xcc]
mov dword [esp + 0x10c], edx
mov edx, dword [esp + 0xd0]
mov dword [esp + 0x110], edx
jmp 0x40e75f
mov dword [esp], 0x42b0c8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
sub esp, 4
jmp 0x40e4b7
mov eax, ebx
mov ecx, ebx
mov edx, 1
shr eax, 0x11
shr ecx, 0xc
and eax, 0x1fff
shl edx, cl
add eax, 0x307c
lock or dword [eax*4 + 0x42b3a0], edx
jmp 0x40e50c
mov dword [esp + 0x80], str.fseek_failed
mov eax, 0x10
mov dword [esp + 0x84], 0xc
mov dword [esp + 0x88], 1
mov dword [esp + 0x8c], 0
call sym.__v_malloc
mov edx, dword [esp + 0x80]
xor ecx, ecx
mov dword [eax], edx
mov edx, dword [esp + 0x84]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x88]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x8c]
mov dword [eax + 0xc], edx
xor edx, edx
mov dword [esp + edx + 0xa8], ecx
add edx, 4
cmp edx, 0x18
jb 0x40e901
jmp 0x40e293
mov dword [esp], 0x42b0c8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x42b450]
sub esp, 4
test eax, eax
jne 0x40e4a5
mov eax, dword [0x42b0e0]
test eax, eax
je 0x40e4b7
mov dword [esp], 0x42b0c8
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
sub esp, 4
jmp 0x40e4aa
test esi, esi
jns 0x40e40c
lea edi, [esp + 0x114]
mov ecx, 0x13
xor eax, eax
rep stosd dword es:[edi], eax
mov dword [esp + 0x100], str.array.slice:_invalid_slice_index__
mov dword [esp + 0x104], 0x22
mov dword [esp + 0x108], 1
mov dword [esp + 0x10c], 0xfe07
mov dword [esp + 0x110], 0
mov dword [esp + 0x120], 0x424093
mov dword [esp + 0x124], 3
mov edx, ebp
lea eax, [esp + 0x90]
mov dword [esp + 0x128], 1
mov dword [esp + 0x12c], 0xfe07
mov dword [esp + 0x130], esi
mov dword [esp + 0x140], 0x423eb8
mov dword [esp + 0x144], 1
mov dword [esp + 0x148], 1
call sym._str_intp.constprop.8
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
call sym.__v_panic
lea esi, [esi]
nop
mov dword [esp], 0x42b0c8
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
sub esp, 4
jmp 0x40e4f6
mov dword [esp], 0x4239af
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
sub esp, 4
test eax, eax
je 0x40eaa0
mov dword [esp + 4], 0x423bc0
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
sub esp, 8
test eax, eax
je 0x40eaa0
mov dword [esp + 4], 0xfa0
mov dword [esp], 0x42b0c8
call eax
sub esp, 8
jmp 0x40eab0
mov dword [esp], 0x42b0c8
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
sub esp, 4
call sym._GC_init.part.57
jmp 0x40dd18
mov dword [esp], ebx
mov edi, dword [esp + 0xd4]
mov esi, dword [esp + 0xdc]
call sub.msvcrt.dll_fclose
jmp 0x40e3f6
mov dword [esp], edi
call sub.msvcrt.dll_strerror
mov esi, eax
test eax, eax
je 0x40ece0
mov dword [esp], eax
call sym._strlen
xor edx, edx
mov ebx, eax
jmp 0x40e680
mov eax, 0x10
call sym.__v_malloc
mov dword [esp], ebx
call sub.msvcrt.dll_fclose
jmp 0x40e767
mov dword [esp], 0x4239af
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
sub esp, 4
test eax, eax
je 0x40ecc0
mov dword [esp + 4], 0x423bc0
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
sub esp, 8
test eax, eax
je 0x40ecc0
mov dword [esp + 4], 0xfa0
mov dword [esp], 0x42b0c8
call eax
sub esp, 8
call sym._GC_init.part.57
jmp 0x40dd63
mov edx, 2
mov eax, esi
call sym._GC_generic_malloc_inner_small.lto_priv.84
mov ebx, eax
test eax, eax
jne 0x40e4e9
mov eax, dword [0x42b0e0]
test eax, eax
jne 0x40eda2
mov dword [esp], 8
call sym._GC_default_oom_fn.lto_priv.76
mov esi, eax
test eax, eax
jne 0x40ee40
mov dword [esp], 8
call dword [sym.imp.KERNEL32.dll_SetLastError]
sub esp, 4
jmp 0x40e554
call sym._GC_print_all_errors.lto_priv.83
jmp 0x40e485
mov eax, ebx
mov ebp, dword [0x42b0e0]
shr eax, 0x16
mov edx, dword [eax*4 + 0x446d94]
mov eax, ebx
shr eax, 0xc
and eax, 0x3ff
mov edi, dword [edx + eax*4]
test ebp, ebp
jne 0x40ecef
mov eax, dword [edi + 0x10]
movzx edx, byte [edi + 0xc]
add dword [0x42b3d0], eax
mov ebp, eax
shr ebp, 3
cmp edx, 2
jne 0x40ec34
sub dword [0x42b0c0], eax
cmp ebp, 0x100
ja 0x40ed7a
lea ecx, [edx + edx*4]
mov ecx, dword [ecx*4 + 0x4226f0]
test ecx, ecx
je 0x40ec80
cmp eax, 4
jbe 0x40ec80
sub eax, 4
lea ecx, [ebx + 4]
cmp eax, 4
jae 0x40ed04
test eax, eax
je 0x40ec80
mov byte [ecx], 0
test al, 2
jne 0x40edc9
lea esi, [esi]
lea esi, [esi]
nop
lea eax, [edx + edx*4]
mov eax, dword [eax*4 + 0x4226e0]
lea eax, [eax + ebp*4]
mov edx, dword [eax]
mov dword [ebx], edx
mov dword [eax], ebx
mov edx, dword [0x42b0e0]
test edx, edx
je 0x40e554
mov dword [esp], 0x42b0c8
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
sub esp, 4
jmp 0x40e554
mov dword [esp], 0x42b0c8
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
sub esp, 4
jmp 0x40eb78
mov edx, 1
mov esi, 0x423324
jmp 0x40e680
mov dword [esp], 0x42b0c8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
sub esp, 4
jmp 0x40ec17
lea edi, [ebx + 8]
mov dword [ebx + 4], 0
and edi, 0xfffffffc
mov dword [ecx + eax - 4], 0
sub ecx, edi
add ecx, eax
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
jmp 0x40ec80
mov dword [esp], 0x4239af
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
sub esp, 4
test eax, eax
je 0x40edb7
mov dword [esp + 4], 0x423bc0
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
sub esp, 8
test eax, eax
je 0x40edb7
mov dword [esp + 4], 0xfa0
mov dword [esp], 0x42b0c8
call eax
sub esp, 8
call sym._GC_init.part.57
jmp 0x40e466
cmp eax, 0x1000
jbe 0x40ed91
add eax, 0xfff
and eax, 0xfffff000
sub dword [0x42b3b4], eax
mov eax, ebx
and eax, 0xfffff000
call sym._GC_freehblk.lto_priv.86
jmp 0x40ec93
mov dword [esp], 0x42b0c8
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
sub esp, 4
jmp 0x40ebb3
mov dword [esp], 0x42b0c8
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
sub esp, 4
jmp 0x40ed70
mov word [ecx + eax - 2], 0
jmp 0x40ec80
mov eax, dword [esp + 0x28]
call sym._vcalloc.part.79
lea edi, [esp + 0x114]
mov ecx, 0x13
xor eax, eax
rep stosd dword es:[edi], eax
mov dword [esp + 0x100], str.array.slice:_slice_bounds_out_of_range__
mov dword [esp + 0x104], 0x28
mov dword [esp + 0x108], 1
mov dword [esp + 0x10c], 0xfe07
mov dword [esp + 0x110], 4
mov dword [esp + 0x120], str.__
mov dword [esp + 0x124], 4
jmp 0x40e9c5
mov ebx, eax
jmp 0x40e4f6