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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x4e0
mov eax, dword [ecx + 0x60]
mov edi, dword [ecx + 0x64]
test edx, edx
mov edx, dword [ecx + 0x68]
mov dword [ecx + 0x60], 0
mov dword [ecx + 0x64], 8
mov ebx, ecx
lea esi, [ecx + 8]
mov dword [ecx + 0x68], 0
mov ecx, 0x16
mov dword [esp + 0x48], edi
mov dword [esp + 0x6c], eax
mov dword [esp + 0x44], edx
lea edi, [esp + 0x138]
rep movsd dword es:[edi], dword [esi]
mov dword [ebx + 8], 0x80000001
jne 0x100c6bd7
mov eax, dword [0x1019913c]
test eax, 0x7fffffff
jne 0x100c7216
xor eax, eax
xchg byte [ebx], al
cmp al, 2
jne 0x100c6be6
push ebx
call dword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
mov eax, dword [esp + 0x138]
cmp eax, 0x80000001
mov dword [esp + 0x68], eax
je 0x100c739e
mov eax, dword [ebp + 8]
lea edi, [esp + 0xc8]
lea esi, [esp + 0x138]
mov ecx, 0x16
rep movsd dword es:[edi], dword [esi]
mov ebx, dword [eax]
mov eax, dword [ebx + 8]
lea edi, [ebx + 8]
cmp eax, 0x3ffffffd
ja 0x100c70a4
lea ecx, [eax + 1]
lock cmpxchg dword [edi], ecx
jne 0x100c70a4
movzx ecx, byte [ebx + 0x10]
lea eax, [ebx + 0x14]
test cl, cl
jne 0x100c70ba
cmp dword [eax], 0
je 0x100c6ce7
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x10c]
mov byte [esp + 0x30], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 8
mov dword [esp + 0x2c], 0
mov dword [esp + 0x1c], ebx
mov dword [esp], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 4], ecx
test eax, eax
je 0x100c6d60
mov dword [esp + 8], eax
inc eax
mov ecx, 0x24
mov dword [esp + 0x10], 0
mul ecx
jo 0x100c6cc9
cmp eax, 0xfffffff0
ja 0x100c6cc9
mov ecx, dword [esp + 8]
add eax, 0xf
and eax, 0xfffffff0
add ecx, 0x11
add ecx, eax
jae 0x100c7130
mov ecx, dword [esp]
sub ecx, eax
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 4]
test ecx, ecx
mov dword [esp + 0x4c], edi
jne 0x100c6d70
jmp 0x100c6de0
mov edx, 0xffffffff
lock xadd dword [edi], edx
dec edx
mov eax, edx
and eax, 0xbfffffff
cmp eax, 0x80000000
je 0x100c79d3
lea ecx, [esp + 0xc8]
call fcn.100c7f30
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x100c73aa
cmp dword [esp + 0x68], 0x80000001
jne 0x100c6d3e
cmp dword [esp + 0x138], 0x80000001
je 0x100c6d3e
lea ecx, [esp + 0x138]
call fcn.100c7f30
cmp dword [esp + 0x6c], 0
je 0x100c7963
push dword [esp + 0x48]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x100c7963
mov dword [esp + 0x10], 0
test ecx, ecx
mov dword [esp + 0x4c], edi
je 0x100c6de0
mov edx, dword [esp]
movdqa xmm0, xmmword [edx]
lea ebx, [edx + 0x10]
pmovmskb eax, xmm0
cmp eax, 0xffff
jne 0x100c6dab
mov edx, dword [esp]
nop dword [eax + eax]
movdqa xmm0, xmmword [ebx]
add edx, 0xfffffdc0
add ebx, 0x10
pmovmskb eax, xmm0
cmp eax, 0xffff
je 0x100c6d90
mov dword [esp], edx
mov esi, 0xfffffffe
mov edi, dword [esp]
lea edx, [ecx - 1]
sub esi, eax
not eax
and esi, eax
tzcnt eax, eax
neg eax
lea eax, [eax + eax*8]
mov dword [esp + 0x50], eax
mov eax, dword [edi + eax*4 - 0x24]
cmp eax, 0x80000001
mov dword [esp + 0x14], eax
jne 0x100c6e9e
test edx, edx
jne 0x100c6e25
cmp dword [esp + 8], 0
mov esi, 4
je 0x100c70f8
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
test eax, eax
je 0x100c70e9
cmp eax, 9
jae 0x100c710b
mov eax, dword [esp + 0x18]
mov dword [esp + 4], 0
jmp 0x100c711a
dec edx
mov esi, ecx
je 0x100c6de0
test si, si
je 0x100c6e40
lea ecx, [esi - 1]
and ecx, esi
jmp 0x100c6e66
movdqa xmm0, xmmword [ebx]
add edi, 0xfffffdc0
add ebx, 0x10
pmovmskb esi, xmm0
cmp esi, 0xffff
je 0x100c6e40
mov eax, 0xfffffffe
sub eax, esi
not esi
mov ecx, esi
and ecx, eax
tzcnt eax, esi
neg eax
lea eax, [eax + eax*8]
test dword [edi + eax*4 - 0x24], 0x7fffffff
je 0x100c6e20
lea eax, [edi + eax*4]
push dword [eax - 0x20]
push 0
push dword [0x101990e0]
mov dword [esp + 0xc], edi
mov edi, edx
mov esi, ecx
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, edi
mov edi, dword [esp]
mov ecx, esi
jmp 0x100c6e20
mov ecx, edx
mov dword [esp + 0xc], edx
mov edx, 0xffffffff
mov eax, 4
inc ecx
cmovne edx, ecx
cmp edx, 5
cmovae eax, edx
cmp edx, 0x38e38e3
ja 0x100c7a12
lea ecx, [eax*4]
lea edx, [ecx + ecx*8]
test edx, edx
js 0x100c7a12
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x50]
lea eax, [edi + eax*4]
mov ecx, dword [eax - 0x20]
movsd xmm0, qword [eax - 8]
movups xmm1, xmmword [eax - 0x18]
mov dword [esp + 0xa0], ecx
mov ecx, dword [eax - 0x1c]
movaps xmmword [esp + 0x50], xmm0
movaps xmmword [esp + 0x120], xmm1
mov dword [esp + 0x74], ecx
xor ecx, ecx
movzx eax, byte [0x10199148]
mov dword [esp + 0x70], edx
call fcn.100ea7d0
test eax, eax
je 0x100c7a17
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
movdqa xmm0, xmmword [esp + 0x120]
movaps xmm1, xmmword [esp + 0x50]
mov dword [eax], ecx
mov ecx, dword [esp + 0xa0]
test edx, edx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0xb0]
movdqu xmmword [eax + 0xc], xmm0
movlps qword [eax + 0x1c], xmm1
mov dword [esp + 0x190], ecx
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], 1
je 0x100c7155
mov ecx, 1
nop word cs:[eax + eax]
nop
test si, si
mov dword [esp + 0x50], ecx
je 0x100c6fb0
lea ecx, [esi - 1]
and ecx, esi
mov dword [esp + 0x14], ecx
jmp 0x100c6fe0
movdqa xmm0, xmmword [ebx]
add edi, 0xfffffdc0
add ebx, 0x10
pmovmskb esi, xmm0
cmp esi, 0xffff
je 0x100c6fb0
mov ecx, 0xfffffffe
mov dword [esp], edi
sub ecx, esi
not esi
mov edi, esi
and edi, ecx
mov dword [esp + 0x14], edi
mov edi, dword [esp]
tzcnt ecx, esi
mov esi, edi
dec edx
neg ecx
mov dword [esp], esi
lea ecx, [ecx + ecx*8]
mov edi, dword [edi + ecx*4 - 0x24]
cmp edi, 0x80000001
je 0x100c7166
lea ecx, [esi + ecx*4]
mov esi, dword [esp + 0x50]
movups xmm1, xmmword [ecx - 0x20]
movdqu xmm0, xmmword [ecx - 0x10]
cmp esi, dword [esp + 0x190]
je 0x100c704f
mov ecx, dword [esp + 0x50]
lea ecx, [ecx + ecx*8]
mov dword [eax + ecx*4], edi
mov edi, dword [esp + 0x14]
movups xmmword [eax + ecx*4 + 4], xmm1
movdqu xmmword [eax + ecx*4 + 0x14], xmm0
mov ecx, dword [esp + 0x50]
mov esi, edi
mov edi, dword [esp]
inc ecx
test edx, edx
mov dword [esp + 0x198], ecx
jne 0x100c6f90
jmp 0x100c723a
mov eax, edx
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x50]
mov ecx, 0xffffffff
inc eax
cmove eax, ecx
lea ecx, [esp + 0x190]
push eax
movdqa xmmword [esp + 0xb4], xmm0
movaps xmmword [esp + 0xa4], xmm1
call fcn.10114070
movaps xmm1, xmmword [esp + 0xa4]
movdqa xmm0, xmmword [esp + 0xb4]
mov edx, dword [esp + 0x10]
add esp, 4
mov eax, dword [esp + 0x194]
jmp 0x100c7018
mov ecx, edi
call fcn.10115340
movzx ecx, byte [ebx + 0x10]
lea eax, [ebx + 0x14]
test cl, cl
je 0x100c6c43
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], edi
lea eax, [esp + 0x190]
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x1018aa34
push 0x1018a5d4
push eax
call fcn.1010d2e0
mov dword [esp + 4], 0
xor edi, edi
jmp 0x100c7277
mov ebx, dword [esp + 0x1c]
mov dword [esp + 4], 0
xor edi, edi
jmp 0x100c7277
mov eax, dword [esp + 0x18]
mov dword [esp + 4], 0
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
xor edi, edi
jmp 0x100c7277
cmp ecx, 0x7ffffff1
mov dword [esp + 0x10], 0x10
mov dword [esp + 8], ecx
jb 0x100c6cc9
mov dword [esp + 0x10], 0
jmp 0x100c6cc9
mov eax, dword [esp + 8]
mov dword [esp + 4], 1
jmp 0x100c723e
test edx, edx
je 0x100c7232
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x14]
jmp 0x100c718b
mov eax, dword [esp + 8]
dec edx
je 0x100c722c
test di, di
je 0x100c71a1
cmp dword [esp], 0
je 0x100c722c
mov esi, edi
dec edi
and edi, esi
jmp 0x100c71d8
mov eax, dword [esp]
nop word cs:[eax + eax]
nop
movdqa xmm0, xmmword [ebx]
add eax, 0xfffffdc0
add ebx, 0x10
pmovmskb esi, xmm0
cmp esi, 0xffff
je 0x100c71b0
mov dword [esp], eax
mov eax, 0xfffffffe
sub eax, esi
not esi
mov edi, esi
and edi, eax
tzcnt eax, esi
mov esi, dword [esp]
neg eax
lea eax, [eax + eax*8]
test dword [esi + eax*4 - 0x24], 0x7fffffff
je 0x100c7180
mov ecx, dword [esp]
lea eax, [ecx + eax*4]
push dword [eax - 0x20]
push 0
push dword [0x101990e0]
mov dword [esp + 0x18], edx
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0xc]
jmp 0x100c7180
call fcn.10114a90
test al, al
jne 0x100c6bd7
mov byte [ebx + 1], 1
jmp 0x100c6bd7
mov dword [esp + 4], ecx
jmp 0x100c723e
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
mov eax, dword [esp + 8]
test eax, eax
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
je 0x100c7269
test eax, eax
je 0x100c7269
cmp eax, 9
jb 0x100c725a
mov ecx, dword [ecx - 4]
push ecx
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edi, dword [esp + 0x190]
mov esi, dword [esp + 0x194]
lea ecx, [esp + 0x24]
call fcn.100c7e90
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 4]
mov dword [eax + 4], 0
mov dword [eax], 4
mov dword [eax + 8], edi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], ecx
lea esi, [esp + 0x190]
movsd xmm0, qword [esp + 0xc8]
movsd xmm1, qword [esp + 0xd0]
movsd qword [eax + 0x14], xmm0
movsd qword [eax + 0x1c], xmm1
movsd xmm0, qword [esp + 0xd8]
movsd qword [eax + 0x24], xmm0
movsd xmm0, qword [esp + 0xe0]
movsd qword [eax + 0x2c], xmm0
movsd xmm0, qword [esp + 0xe8]
movsd qword [eax + 0x34], xmm0
movsd xmm0, qword [esp + 0xf0]
movsd qword [eax + 0x3c], xmm0
movsd xmm0, qword [esp + 0xf8]
movsd qword [eax + 0x44], xmm0
add eax, 0x4c
push 0x26c
push esi
push eax
call fcn.10100490
add esp, 0xc
mov dword [esp + 0x2c], 1
mov eax, dword [ebx + 0x18]
movsd xmm0, qword [esp + 0x38]
movsd xmm1, qword [esp + 0x30]
mov ecx, dword [ebx + 0x14]
mov edi, dword [esp + 0x40]
mov edx, dword [eax + 8]
movsd qword [esp + 0x1a8], xmm0
movsd xmm0, qword [esp + 0x20]
movsd qword [esp + 0x1a0], xmm1
movsd xmm1, qword [esp + 0x28]
mov dword [esp + 0x1b0], edi
dec edx
movsd qword [esp + 0x198], xmm1
movsd qword [esp + 0x190], xmm0
and edx, 0xfffffff8
lea ecx, [ecx + edx + 8]
push esi
push ecx
call dword [eax + 0xc]
add esp, 8
mov edx, 0xffffffff
lock xadd dword [ebx + 8], edx
dec edx
mov eax, edx
and eax, 0xbfffffff
cmp eax, 0x80000000
je 0x100c79b9
mov eax, dword [esp + 0x44]
test eax, eax
je 0x100c6d1b
mov ebx, dword [esp + 0x48]
imul edx, eax, 0x98
movsd xmm0, qword [esp + 0x78]
movsd xmm1, qword [esp + 0x80]
mov byte [esp + 0x30], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x1c], 8
mov dword [esp], 0
lea eax, [ebx + edx]
add edx, 0xffffff68
lea edi, [ebx + 0x98]
movsd qword [esp + 0x39], xmm1
movsd qword [esp + 0x31], xmm0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 8
mov dword [esp + 0x2c], 0
mov dword [esp + 8], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
lea ecx, [eax + 8]
mov dword [esp + 0xc], eax
add eax, 0x14
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x18], eax
jmp 0x100c7500
mov eax, dword [esp + 0x44]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x198], eax
push 0x90
push ebx
lea eax, [esp + 0x1a8]
push eax
call fcn.10100490
add esp, 0xc
test edi, edi
mov edi, esi
mov dword [esp + 0x194], 0
mov dword [esp + 0x190], 3
je 0x100c7634
lea ecx, [esp + 0x88]
mov dword [esp + 0x88], 0x1018a4dc
mov dword [esp + 0x8c], 1
mov dword [esp + 0x98], 0
mov dword [esp + 0x90], 4
mov dword [esp + 0x94], 0
call fcn.100e9420
lea ecx, [esp + 0x190]
call fcn.100c8080
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 4]
inc dword [esp]
add edi, 0x98
add edx, 0xffffff68
cmp ebx, dword [esp + 8]
je 0x100c7820
mov eax, dword [ebx]
mov esi, edi
mov edi, dword [ebx + 4]
lea ecx, [ebx + 0x98]
mov dword [esp + 0x50], eax
xor eax, 2
mov dword [esp + 0x44], edi
or eax, edi
je 0x100c77f6
add ebx, 8
mov dword [esp + 4], ecx
mov dword [esp + 0x14], edx
push 0x90
push ebx
lea eax, [esp + 0x450]
push eax
call fcn.10100490
add esp, 0xc
cmp dword [esp], 0x63
jbe 0x100c7440
mov ebx, dword [esp + 0x4c]
mov edi, esi
mov eax, dword [ebx]
cmp eax, 0x3ffffffd
ja 0x100c77c2
lea ecx, [eax + 1]
lock cmpxchg dword [ebx], ecx
jne 0x100c77c2
mov eax, dword [esp + 0xc]
movzx eax, byte [eax + 0x10]
test al, al
jne 0x100c79df
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
test ecx, ecx
je 0x100c764b
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esp + 0x38]
movsd xmm1, qword [esp + 0x28]
mov eax, dword [esi + 0x18]
mov edx, dword [eax + 8]
movsd qword [esp + 0x1a8], xmm0
movsd xmm0, qword [esp + 0x30]
movsd qword [esp + 0x198], xmm1
dec edx
movsd qword [esp + 0x1a0], xmm0
movsd xmm0, qword [esp + 0x20]
and edx, 0xfffffff8
lea ecx, [ecx + edx + 8]
mov edx, dword [esp + 0x40]
movsd qword [esp + 0x190], xmm0
mov dword [esp + 0x1b0], edx
lea edx, [esp + 0x190]
push edx
push ecx
call dword [eax + 0xc]
add esp, 8
mov edx, 0xffffffff
lock xadd dword [esi + 8], edx
dec edx
mov eax, edx
and eax, 0xbfffffff
cmp eax, 0x80000000
je 0x100c77de
movsd xmm0, qword [esp + 0x78]
movsd xmm1, qword [esp + 0x80]
movsd qword [esp + 0x190], xmm0
movsd qword [esp + 0x198], xmm1
jmp 0x100c76d8
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
cmp esi, dword [esp + 0x24]
je 0x100c7785
jmp 0x100c7792
mov edx, 0xffffffff
lock xadd dword [ebx], edx
dec edx
mov eax, edx
and eax, 0xbfffffff
cmp eax, 0x80000000
je 0x100c77ea
movsd xmm0, qword [esp + 0x78]
movsd xmm1, qword [esp + 0x80]
cmp dword [esp + 0x20], 0
movsd qword [esp + 0x190], xmm0
movsd qword [esp + 0x198], xmm1
je 0x100c769c
cmp dword [esp + 0x24], 0
je 0x100c76d8
push dword [esp + 0x28]
jmp 0x100c76ca
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
test ebx, ebx
mov dword [esp], eax
je 0x100c76c0
mov esi, dword [esp]
nop
mov ecx, esi
call fcn.100c8080
add esi, 0x2b8
dec ebx
jne 0x100c76b0
cmp dword [esp + 0x24], 0
je 0x100c76d8
push dword [esp]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
movsd xmm0, qword [esp + 0x190]
movsd xmm1, qword [esp + 0x198]
movzx eax, byte [esp + 0x8a]
lea ecx, [esp + 0x31]
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 8
mov dword [esp + 0x2c], 0
mov byte [esp + 0x30], 0
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
mov byte [ecx + 0x12], al
movzx eax, word [esp + 0x88]
mov word [ecx + 0x10], ax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x198], eax
push 0x90
lea eax, [esp + 0x44c]
push eax
lea eax, [esp + 0x1a8]
push eax
call fcn.10100490
add esp, 0xc
mov dword [esp + 0x194], 0
mov dword [esp + 0x190], 3
xor esi, esi
mov dword [esp], 0
lea ecx, [esp + 0x24]
call fcn.100c7e90
mov ecx, dword [esp + 0x28]
imul eax, esi, 0x2b8
mov dword [esp + 0x1c], ecx
add eax, ecx
push 0x2b8
lea ecx, [esp + 0x194]
push ecx
push eax
call fcn.10100490
add esp, 0xc
inc esi
mov dword [esp + 0x10], esi
mov dword [esp + 0x2c], esi
jmp 0x100c74df
mov ecx, ebx
call fcn.10115340
mov eax, dword [esp + 0xc]
movzx eax, byte [eax + 0x10]
test al, al
je 0x100c757b
jmp 0x100c79df
mov ecx, ebx
call fcn.10115290
jmp 0x100c760e
mov ecx, ebx
call fcn.10115290
jmp 0x100c7667
cmp dword [esp + 8], ecx
je 0x100c7820
shr edx, 3
mov ecx, 0x1af286bd
mov edi, esi
mov eax, edx
mul ecx
mov esi, edx
shr esi, 1
nop
mov ecx, edi
call fcn.100161e0
add edi, 0x98
dec esi
jne 0x100c7810
cmp dword [esp + 0x6c], 0
je 0x100c7839
push dword [esp + 0x48]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [ebp + 8]
mov edi, dword [eax]
mov eax, dword [edi + 8]
lea esi, [edi + 8]
cmp eax, 0x3ffffffd
ja 0x100c796b
lea ecx, [eax + 1]
lock cmpxchg dword [esi], ecx
jne 0x100c796b
movzx ecx, byte [edi + 0x10]
lea eax, [edi + 0x14]
test cl, cl
jne 0x100c7981
mov ecx, dword [eax]
test ecx, ecx
je 0x100c78d7
mov eax, dword [edi + 0x18]
movsd xmm0, qword [esp + 0x38]
movsd xmm1, qword [esp + 0x28]
mov edx, dword [eax + 8]
movsd qword [esp + 0x1a8], xmm0
movsd xmm0, qword [esp + 0x30]
movsd qword [esp + 0x198], xmm1
dec edx
movsd qword [esp + 0x1a0], xmm0
movsd xmm0, qword [esp + 0x20]
and edx, 0xfffffff8
lea ecx, [ecx + edx + 8]
mov edx, dword [esp + 0x40]
movsd qword [esp + 0x190], xmm0
mov dword [esp + 0x1b0], edx
lea edx, [esp + 0x190]
push edx
push ecx
call dword [eax + 0xc]
add esp, 8
jmp 0x100c7928
cmp dword [esp + 0x20], 0
je 0x100c78eb
cmp dword [esp + 0x24], 0
je 0x100c7928
push dword [esp + 0x28]
jmp 0x100c791a
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
test ebx, ebx
mov dword [esp], eax
je 0x100c7910
mov edi, dword [esp]
nop dword [eax]
mov ecx, edi
call fcn.100c8080
add edi, 0x2b8
dec ebx
jne 0x100c7900
cmp dword [esp + 0x24], 0
je 0x100c7928
push dword [esp]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 0x68], 0x80000001
jne 0x100c794b
cmp dword [esp + 0x138], 0x80000001
je 0x100c794b
lea ecx, [esp + 0x138]
call fcn.100c7f30
mov edx, 0xffffffff
lock xadd dword [esi], edx
dec edx
mov eax, edx
and eax, 0xbfffffff
cmp eax, 0x80000000
je 0x100c79b0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, esi
call fcn.10115340
movzx ecx, byte [edi + 0x10]
lea eax, [edi + 0x14]
test cl, cl
je 0x100c786b
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], esi
push 0x1018aa44
push 0x1018a5d4
lea eax, [esp + 0x198]
push eax
call fcn.1010d2e0
mov ecx, esi
call fcn.10115290
jmp 0x100c7963
mov ecx, dword [esp + 0x4c]
call fcn.10115290
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x100c73aa
jmp 0x100c6d1b
mov ecx, edi
call fcn.10115290
jmp 0x100c6d03
mov eax, dword [esp + 0x18]
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], ebx
push 0x1018aa54
push 0x1018a5d4
lea eax, [esp + 0x198]
push eax
call fcn.1010d2e0
call fcn.10001070
mov edx, dword [esp + 0x70]
mov ecx, 4
call fcn.1010cb60
int3