Function at 0x100c6f90
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 [0x10237074]
mov esi, dword [ebp + 8]
cmp al, 1
je 0x100c728f
movzx eax, al
test eax, eax
jne 0x100c71eb
lea ecx, [esp + 0x290]
mov edx, 0x101cce1c
push 0x12
call dbg._var_os
add esp, 4
mov edi, dword [esp + 0x290]
cmp edi, 0x80000000
jne 0x100c7015
mov dword [esp + 0x160], 0x80000000
mov edx, 0x101cce2e
lea ecx, [esp + 0x290]
push 0xe
call dbg._var_os
add esp, 4
mov esi, dword [esp + 0x290]
cmp esi, 0x80000000
jne 0x100c704b
xor ebx, ebx
jmp 0x100c7094
mov eax, dword [esp + 0x294]
cmp byte [esp + 0x29c], 0
mov dword [esp + 8], eax
mov eax, dword [esp + 0x298]
je 0x100c70a8
mov bl, 1
cmp eax, 1
jne 0x100c71c5
mov eax, dword [esp + 8]
cmp byte [eax], 0x30
setne bl
jmp 0x100c71c5
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 0x100c7143
cmp dword [esp + 0xc], 1
mov bl, 1
jne 0x100c7082
mov eax, dword [esp + 4]
cmp byte [eax], 0x30
setne bl
test esi, esi
je 0x100c7094
mov ecx, dword [esp + 4]
mov edx, 1
call sym.___rust_dealloc
mov esi, dword [ebp + 8]
test edi, 0x7fffffff
je 0x100c71da
jmp 0x100c71cc
test eax, eax
je 0x100c71c3
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 0x100c70ea
add esi, 2
cmp ebx, edx
cmovne ebx, esi
nop word [eax + eax]
cmp ebx, edx
mov esi, ebx
je 0x100c7031
movzx ecx, byte [esi]
lea ebx, [esi + 1]
test cl, cl
jns 0x100c70e0
cmp cl, 0xe0
jb 0x100c70d2
cmp cl, 0xed
jne 0x100c7122
cmp ebx, edx
je 0x100c7031
lea ecx, [esi + 2]
cmp ecx, edx
je 0x100c7031
cmp byte [esi + 1], 0x9f
ja 0x100c7824
add esi, 3
mov ebx, esi
jmp 0x100c70e0
add esi, 2
cmp ebx, edx
cmove esi, ebx
xor ebx, ebx
cmp esi, edx
setne bl
add ebx, esi
cmp cl, 0xf0
jb 0x100c70e0
xor ecx, ecx
cmp ebx, edx
setne cl
add ebx, ecx
jmp 0x100c70e0
mov eax, dword [esp + 0xc]
test eax, eax
je 0x100c7815
mov edx, dword [esp + 4]
lea ebx, [edx + eax]
jmp 0x100c716a
add edx, 2
cmp eax, ebx
cmovne eax, edx
cmp eax, ebx
mov edx, eax
je 0x100c706f
movzx ecx, byte [edx]
lea eax, [edx + 1]
test cl, cl
jns 0x100c7160
cmp cl, 0xe0
jb 0x100c7158
cmp cl, 0xed
jne 0x100c71a2
cmp eax, ebx
je 0x100c706f
lea eax, [edx + 2]
cmp eax, ebx
je 0x100c706f
cmp byte [edx + 1], 0x9f
ja 0x100c7850
add edx, 3
mov eax, edx
jmp 0x100c7160
add edx, 2
cmp eax, ebx
cmove edx, eax
xor eax, eax
cmp edx, ebx
setne al
add eax, edx
cmp cl, 0xf0
jb 0x100c7160
xor ecx, ecx
cmp eax, ebx
setne cl
add eax, ecx
jmp 0x100c7160
mov bl, 1
mov esi, dword [ebp + 8]
test edi, edi
je 0x100c71da
mov ecx, dword [esp + 8]
mov edx, 1
call sym.___rust_dealloc
mov eax, ebx
inc al
test bl, bl
mov byte [0x10237074], al
je 0x100c728f
mov cl, 1
xor eax, eax
lock cmpxchg byte [0x102370a1], cl
jne 0x100c7602
mov eax, dword [0x10237120]
test eax, 0x7fffffff
jne 0x100c7611
mov dword [esp + 0x24], 0
movzx eax, byte [0x102370a2]
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 0x100c729a
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 0x100c7588
mov dword [esi], 1
jmp 0x100c75bd
mov eax, dword [0x10237110]
mov dword [esp + 0x30], edx
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x100c72d0
push str.SymFunctionTableAccess64
push dword [0x102370f0]
call sub.kernel32.dll_GetProcAddress
test eax, eax
mov dword [esp + 0x1c], eax
je 0x100c7871
mov eax, dword [esp + 0x1c]
mov dword [0x10237110], eax
mov ebx, dword [0x10237114]
test ebx, ebx
jne 0x100c72f9
push str.SymGetModuleBase64
push dword [0x102370f0]
call sub.kernel32.dll_GetProcAddress
test eax, eax
je 0x100c7871
mov ebx, eax
mov dword [0x10237114], eax
call sub.kernel32.dll_GetCurrentProcess
mov esi, dword [0x10237118]
mov dword [esp + 0x34], eax
mov dword [esp + 0x20], ebx
test esi, esi
jne 0x100c732f
push str.StackWalkEx
push dword [0x102370f0]
call sub.kernel32.dll_GetProcAddress
test eax, eax
je 0x100c7621
mov esi, eax
mov dword [0x10237118], 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 0x100c7545
mov edi, dword [esp + 0x20]
mov dword [esp + 0x3c], esi
xor esi, esi
mov dword [esp + 0x38], 8
mov dword [esp + 4], 0
jmp 0x100c74af
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 0x100c754d
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 0x100c7420
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 0x100c742c
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 0x100c75c7
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 0x100c75a6
mov eax, dword [0x10237120]
test eax, 0x7fffffff
jne 0x100c77fc
xor eax, eax
xchg byte [0x102370a1], al
cmp al, 2
jne 0x100c75bd
push 0x102370a1
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 0x100c758f
mov ecx, dword [esp + 0x14]
mov edx, 8
call sym.___rust_dealloc
jmp 0x100c758f
mov ecx, 0x102370a1
call dbg.lock_contended
jmp 0x100c71fd
call dbg.is_zero_slow_path
xor al, 1
mov dword [esp + 0x24], eax
jmp 0x100c7215
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 0x100c771f
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 [0x1023710c]
test eax, eax
jne 0x100c7745
push str.StackWalk64
push dword [0x102370f0]
call sub.kernel32.dll_GetProcAddress
test eax, eax
je 0x100c7871
mov dword [0x1023710c], 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 0x100c77f3
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 0x100c76c0
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 0x100c76c4
mov edi, dword [esp + 8]
jmp 0x100c754f
call dbg.is_zero_slow_path
test al, al
jne 0x100c75a6
mov byte [0x102370a2], 1
jmp 0x100c75a6
mov bl, 1
test esi, esi
jne 0x100c7086
jmp 0x100c7094
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 0x100c6fec
test esi, 0x7fffffff
je 0x100c7011
mov ecx, dword [esp + 4]
mov edx, 1
call sym.___rust_dealloc
xor ebx, ebx
jmp 0x100c7094
mov ecx, 0x101ceeb8
call dbg.unwrap_failed
ud2