Function at 0x100c5a80
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x570
movzx eax, byte [0x10226070]
mov esi, dword [ebp + 8]
cmp al, 1
je 0x100c5d7f
movzx eax, al
test eax, eax
jne 0x100c5cdb
lea ecx, [esp + 0x290]
mov edx, 0x101bd92c
push 0x12
call dbg._var_os
add esp, 4
mov edi, dword [esp + 0x290]
cmp edi, 0x80000000
jne 0x100c5b05
mov dword [esp + 0x160], 0x80000000
mov edx, 0x101bd93e
lea ecx, [esp + 0x290]
push 0xe
call dbg._var_os
add esp, 4
mov esi, dword [esp + 0x290]
cmp esi, 0x80000000
jne 0x100c5b3b
xor ebx, ebx
jmp 0x100c5b84
mov eax, dword [esp + 0x294]
cmp byte [esp + 0x29c], 0
mov dword [esp + 8], eax
mov eax, dword [esp + 0x298]
je 0x100c5b98
mov bl, 1
cmp eax, 1
jne 0x100c5cb5
mov eax, dword [esp + 8]
cmp byte [eax], 0x30
setne bl
jmp 0x100c5cb5
mov eax, dword [esp + 0x294]
mov ecx, dword [esp + 0x298]
cmp byte [esp + 0x29c], 0
mov dword [esp + 4], eax
mov dword [esp + 0xc], ecx
je 0x100c5c33
cmp dword [esp + 0xc], 1
mov bl, 1
jne 0x100c5b72
mov eax, dword [esp + 4]
cmp byte [eax], 0x30
setne bl
test esi, esi
je 0x100c5b84
mov ecx, dword [esp + 4]
mov edx, 1
call sym.___rust_dealloc
mov esi, dword [ebp + 8]
test edi, 0x7fffffff
je 0x100c5cca
jmp 0x100c5cbc
test eax, eax
je 0x100c5cb3
movzx ecx, byte [esp + 0x29f]
movzx edx, word [esp + 0x29d]
mov esi, dword [esp + 8]
shl ecx, 0x10
or edx, ecx
mov dword [esp + 4], edx
lea edx, [esi + eax]
jmp 0x100c5bda
add esi, 2
cmp ebx, edx
cmovne ebx, esi
nop word [eax + eax]
cmp ebx, edx
mov esi, ebx
je 0x100c5b21
movzx ecx, byte [esi]
lea ebx, [esi + 1]
test cl, cl
jns 0x100c5bd0
cmp cl, 0xe0
jb 0x100c5bc2
cmp cl, 0xed
jne 0x100c5c12
cmp ebx, edx
je 0x100c5b21
lea ecx, [esi + 2]
cmp ecx, edx
je 0x100c5b21
cmp byte [esi + 1], 0x9f
ja 0x100c6314
add esi, 3
mov ebx, esi
jmp 0x100c5bd0
add esi, 2
cmp ebx, edx
cmove esi, ebx
xor ebx, ebx
cmp esi, edx
setne bl
add ebx, esi
cmp cl, 0xf0
jb 0x100c5bd0
xor ecx, ecx
cmp ebx, edx
setne cl
add ebx, ecx
jmp 0x100c5bd0
mov eax, dword [esp + 0xc]
test eax, eax
je 0x100c6305
mov edx, dword [esp + 4]
lea ebx, [edx + eax]
jmp 0x100c5c5a
add edx, 2
cmp eax, ebx
cmovne eax, edx
cmp eax, ebx
mov edx, eax
je 0x100c5b5f
movzx ecx, byte [edx]
lea eax, [edx + 1]
test cl, cl
jns 0x100c5c50
cmp cl, 0xe0
jb 0x100c5c48
cmp cl, 0xed
jne 0x100c5c92
cmp eax, ebx
je 0x100c5b5f
lea eax, [edx + 2]
cmp eax, ebx
je 0x100c5b5f
cmp byte [edx + 1], 0x9f
ja 0x100c6340
add edx, 3
mov eax, edx
jmp 0x100c5c50
add edx, 2
cmp eax, ebx
cmove edx, eax
xor eax, eax
cmp edx, ebx
setne al
add eax, edx
cmp cl, 0xf0
jb 0x100c5c50
xor ecx, ecx
cmp eax, ebx
setne cl
add eax, ecx
jmp 0x100c5c50
mov bl, 1
mov esi, dword [ebp + 8]
test edi, edi
je 0x100c5cca
mov ecx, dword [esp + 8]
mov edx, 1
call sym.___rust_dealloc
mov eax, ebx
inc al
test bl, bl
mov byte [0x10226070], al
je 0x100c5d7f
mov cl, 1
xor eax, eax
lock cmpxchg byte [0x1022609d], cl
jne 0x100c60f2
mov eax, dword [0x10226110]
test eax, 0x7fffffff
jne 0x100c6101
mov dword [esp + 0x24], 0
movzx eax, byte [0x1022609e]
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 8
mov dword [esp + 0x18], 0
call sub.kernel32.dll_GetCurrentProcess
mov dword [esp + 0x2c], eax
call sub.kernel32.dll_GetCurrentThread
mov dword [esp + 0x28], eax
lea edi, [esp + 0x290]
push 0x2d0
push 0
push edi
call sub.msvcrt.dll_memset
add esp, 0xc
push edi
call sub.kernel32.dll_RtlCaptureContext
call dbg.init
test eax, eax
je 0x100c5d8a
movsd xmm0, qword [esp + 0x290]
mov eax, dword [esp + 0x298]
mov dword [esi], 0
movsd qword [esi + 4], xmm0
mov dword [esi + 0xc], eax
jmp 0x100c6078
mov dword [esi], 1
jmp 0x100c60ad
mov eax, dword [0x10226100]
mov dword [esp + 0x30], edx
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x100c5dc0
push str.SymFunctionTableAccess64
push dword [0x102260e0]
call sub.kernel32.dll_GetProcAddress
test eax, eax
mov dword [esp + 0x1c], eax
je 0x100c6361
mov eax, dword [esp + 0x1c]
mov dword [0x10226100], eax
mov ebx, dword [0x10226104]
test ebx, ebx
jne 0x100c5de9
push str.SymGetModuleBase64
push dword [0x102260e0]
call sub.kernel32.dll_GetProcAddress
test eax, eax
je 0x100c6361
mov ebx, eax
mov dword [0x10226104], eax
call sub.kernel32.dll_GetCurrentProcess
mov esi, dword [0x10226108]
mov dword [esp + 0x34], eax
mov dword [esp + 0x20], ebx
test esi, esi
jne 0x100c5e1f
push str.StackWalkEx
push dword [0x102260e0]
call sub.kernel32.dll_GetProcAddress
test eax, eax
je 0x100c6111
mov esi, eax
mov dword [0x10226108], eax
mov edi, ebx
lea ebx, [esp + 0x48]
lea eax, [esp + 0x50]
push 0x100
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov eax, dword [esp + 0x344]
mov ecx, dword [esp + 0x348]
mov edx, dword [esp + 0x354]
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x150], 0x110
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], ecx
mov dword [esp + 0x54], 3
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], 0
mov dword [esp + 0x84], 3
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], 0
mov dword [esp + 0x74], 3
push 0
push 0
push edi
push dword [esp + 0x28]
push 0
lea eax, [esp + 0x2a4]
push eax
push ebx
push dword [esp + 0x44]
push dword [esp + 0x4c]
push 0x14c
call esi
cmp eax, 1
jne 0x100c6035
mov edi, dword [esp + 0x20]
mov dword [esp + 0x3c], esi
xor esi, esi
mov dword [esp + 0x38], 8
mov dword [esp + 4], 0
jmp 0x100c5f9f
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 8]
mov ecx, dword [esp + 0x38]
imul eax, esi, 0x130
mov dword [esp + 0x38], ecx
add eax, ecx
push 0x130
lea ecx, [esp + 0x164]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 4]
mov ecx, dbg.capture
inc esi
mov dword [esp + 0x18], esi
xor eax, ecx
or eax, edx
mov eax, 1
cmove edi, esi
cmove edx, eax
mov dword [esp + 8], edi
mov dword [esp + 4], edx
push 0
push 0
push ebx
push dword [esp + 0x28]
push 0
lea eax, [esp + 0x2a4]
push eax
mov edi, ebx
lea ebx, [esp + 0x60]
push ebx
push dword [esp + 0x44]
push dword [esp + 0x4c]
push 0x14c
call dword [esp + 0x64]
cmp eax, 1
mov eax, dword [esp + 8]
jne 0x100c603d
mov dword [esp + 8], eax
push 0
push dword [esp + 0x4c]
push dword [esp + 0x3c]
call edi
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
mov dword [esp + 0xc], eax
push 0x118
push ebx
lea eax, [esp + 0x170]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xc]
cmp esi, dword [esp + 0x10]
mov dword [esp + 0x164], edi
mov dword [esp + 0x160], eax
mov dword [esp + 0x280], 0
mov dword [esp + 0x284], 4
mov dword [esp + 0x288], 0
jne 0x100c5f10
lea ecx, [esp + 0x10]
mov edx, esi
call dbg.reserve_for_push<std::backtrace::BacktraceFrame, alloc::alloc::Global>
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 8]
jmp 0x100c5f1c
mov dword [esp + 4], 0
mov edi, eax
push dword [esp + 0x30]
call sub.kernel32.dll_ReleaseMutex
mov esi, dword [ebp + 8]
cmp dword [esp + 0x18], 0
lea eax, [esi + 4]
je 0x100c60b7
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x18]
movsd xmm0, qword [esp + 0x10]
mov dword [esi], 2
test ecx, ecx
mov dword [eax + 8], edx
movsd qword [eax], xmm0
cmove edi, ecx
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], 0
cmp byte [esp + 0x24], 0
jne 0x100c6096
mov eax, dword [0x10226110]
test eax, 0x7fffffff
jne 0x100c62ec
xor eax, eax
xchg byte [0x1022609d], al
cmp al, 2
jne 0x100c60ad
push 0x1022609d
call dword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
cmp dword [esp + 0x10], 0
mov ecx, dword [esp + 0x298]
movsd xmm0, qword [esp + 0x290]
mov dword [esi], 0
mov dword [eax + 8], ecx
movsd qword [eax], xmm0
mov dword [esi + 0x14], 0
je 0x100c607f
mov ecx, dword [esp + 0x14]
mov edx, 8
call sym.___rust_dealloc
jmp 0x100c607f
mov ecx, 0x1022609d
call dbg.lock_contended
jmp 0x100c5ced
call dbg.is_zero_slow_path
xor al, 1
mov dword [esp + 0x24], eax
jmp 0x100c5d05
lea esi, [esp + 0x48]
lea eax, [esp + 0x50]
push 0x100
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov eax, dword [esp + 0x344]
mov ecx, dword [esp + 0x348]
mov edx, dword [esp + 0x354]
xor edi, edi
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 1
mov dword [esp + 0x158], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0xc], 8
mov dword [esp + 4], 0
mov dword [esp + 0x48], ecx
mov dword [esp + 0x54], 3
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], 0
mov dword [esp + 0x84], 3
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], 0
mov dword [esp + 0x74], 3
jmp 0x100c620f
mov ecx, dword [esp + 0xc]
lea esi, [esp + 0x48]
imul eax, edi, 0x130
mov ebx, edi
mov dword [esp + 0xc], ecx
add eax, ecx
push 0x130
lea ecx, [esp + 0x164]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x48]
mov ecx, dbg.capture
inc ebx
mov edx, 1
mov dword [esp + 0x18], ebx
mov edi, ebx
xor eax, ecx
mov ecx, dword [esp + 4]
or eax, ecx
mov eax, dword [esp + 8]
cmove ecx, edx
mov dword [esp + 4], ecx
cmove eax, ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 8], eax
mov eax, dword [0x102260fc]
test eax, eax
jne 0x100c6235
push str.StackWalk64
push dword [0x102260e0]
call sub.kernel32.dll_GetProcAddress
test eax, eax
je 0x100c6361
mov dword [0x102260fc], eax
push 0
push ebx
push dword [esp + 0x24]
push 0
lea ecx, [esp + 0x2a0]
push ecx
push esi
push dword [esp + 0x40]
push dword [esp + 0x48]
push 0x14c
call eax
cmp eax, 1
jne 0x100c62e3
push 0
push dword [esp + 0x4c]
push dword [esp + 0x3c]
call ebx
mov dword [esp + 0x158], eax
mov eax, esi
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
push 0x118
push eax
lea eax, [esp + 0x170]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp edi, dword [esp + 0x10]
mov dword [esp + 0x164], esi
mov dword [esp + 0x160], ebx
mov dword [esp + 0x280], 0
mov dword [esp + 0x284], 4
mov dword [esp + 0x288], 0
jne 0x100c61b0
lea ecx, [esp + 0x10]
mov edx, edi
call dbg.reserve_for_push<std::backtrace::BacktraceFrame, alloc::alloc::Global>
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
jmp 0x100c61b4
mov edi, dword [esp + 8]
jmp 0x100c603f
call dbg.is_zero_slow_path
test al, al
jne 0x100c6096
mov byte [0x1022609e], 1
jmp 0x100c6096
mov bl, 1
test esi, esi
jne 0x100c5b76
jmp 0x100c5b84
mov edx, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x160], edi
shl edx, 8
mov dword [esp + 0x164], ecx
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], edx
jmp 0x100c5adc
test esi, 0x7fffffff
je 0x100c5b01
mov ecx, dword [esp + 4]
mov edx, 1
call sym.___rust_dealloc
xor ebx, ebx
jmp 0x100c5b84
mov ecx, 0x101bf640
call dbg.unwrap_failed
ud2