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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x160
mov edi, dword [ebp + 8]
movsd xmm0, qword [edx]
mov eax, dword [edx + 0x10]
mov ebx, ecx
lea ecx, [esp + 0x110]
movsd xmm1, qword [edi + 0x10]
movsd xmm3, qword [edi + 8]
movsd xmm2, qword [edi]
movsd qword [esp + 0x110], xmm0
movsd xmm0, qword [edi + 0x10]
movsd qword [esp + 0x130], xmm3
movsd xmm3, qword [edx + 8]
movsd qword [esp + 0x128], xmm2
movsd qword [esp + 0x138], xmm1
mov dword [esp + 0x150], eax
mov dword [esp + 0x140], 0x80000003
mov dword [esp + 0x144], ecx
mov ecx, dword [edi]
movsd xmm2, qword [edi + 8]
mov edx, 4
add ecx, 0xfffffffe
movsd qword [esp + 0x118], xmm3
movsd qword [esp + 0x108], xmm0
movsd xmm0, qword [edi]
movsd qword [esp + 0x100], xmm2
cmp ecx, 7
cmovb edx, ecx
call 0x6c9bf0
pop ecx
test edx, edx
movsd qword [esp + 0xf8], xmm0
mov dword [esp + 0x120], eax
je 0x6c9c96
cmp edx, 6
mov dword [esp + 0x34], ebx
jne 0x6ca22c
mov ebx, dword [edi + 4]
mov esi, dword [edi + 8]
mov edi, dword [edi + 0xc]
cmp edi, 1
je 0x6c9d46
test edi, edi
jne 0x6c9ebc
lea eax, [esp + 0x50]
lea ecx, [esp + 0x68]
mov edx, str.wanted_exactly_1_element__found_0_elementswanted_exactly_1_element__more_than_1_elementstring_only
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 1
mov dword [esp + 0x84], 0
mov dword [esp + 0x78], 0x20
mov byte [esp + 0x88], 3
mov dword [esp + 0x68], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], 0x8a7978
push 0x2a
jmp 0x6c9f1d
mov edx, dword [edi + 0xc]
movsd xmm0, qword [edi + 4]
lea ecx, [esp + 0x140]
mov dword [esp + 0x58], edx
movsd qword [esp + 0x50], xmm0
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ecx
lea ecx, [esp + 0x68]
lea edx, [esp + 0x50]
call fcn.006ccfe0
mov eax, dword [esp + 0x68]
cmp eax, 2
jne 0x6c9cd8
movzx ecx, byte [esp + 0x6c]
mov byte [esp + 4], cl
jmp 0x6c9d37
movzx edx, word [esp + 0x6d]
mov ch, byte [esp + 0x6f]
movsd xmm2, qword [esp + 0x80]
movsd xmm1, qword [esp + 0x88]
mov cl, byte [esp + 0x6c]
movsd xmm0, qword [esp + 0x78]
mov word [esp + 5], dx
mov byte [esp + 7], ch
movsd qword [esp + 0x18], xmm2
movsd qword [esp + 0x20], xmm1
movsd xmm2, qword [esp + 0x90]
movsd xmm1, qword [esp + 0x70]
movsd qword [esp + 0x10], xmm0
movsd qword [esp + 0x28], xmm2
mov byte [esp + 4], cl
movsd qword [esp + 8], xmm1
mov esi, dword [esp + 0x140]
mov dword [esp], eax
jmp 0x6ca09e
xor eax, eax
test ebx, ebx
lea edi, [esp + 0x90]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0x30], edx
mov ecx, esp
setne al
mov edx, edi
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], esi
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], esi
mov dword [esp + 0xb0], eax
mov dword [esp + 0x78], 9
call fcn.006b14a0
mov eax, dword [esp]
test eax, eax
je 0x6c9dd1
mov ecx, dword [esp + 8]
lea ecx, [ecx + ecx*2]
mov esi, dword [eax + ecx*8]
cmp esi, 9
jne 0x6ca161
lea eax, [esp + 0x50]
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 1
mov dword [esp + 0x1c], 0
mov dword [esp + 0x10], 0x20
mov byte [esp + 0x20], 3
mov dword [esp], 0
mov dword [esp + 8], 0
mov dword [esp + 0x58], 0
mov ecx, esp
mov edx, str.expected_table_with_exactly_1_entry__found_empty_tableInputPair
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0x8a7978
push 0x36
call fcn.004646a0
add esp, 4
test al, al
jne 0x6ca58a
mov eax, dword [esp + 0x50]
movaps xmm0, xmmword [0x7d5560]
mov dword [esp + 0x38], 4
xor esi, esi
mov dword [esp + 0xc0], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x54]
movaps xmmword [esp + 0xe0], xmm0
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x3c], eax
mov ebx, esp
nop word cs:[eax + eax]
nop dword [eax]
mov ecx, ebx
mov edx, edi
call fcn.006b14a0
cmp dword [esp], 0
je 0x6c9fa0
mov ecx, ebx
call fcn.006b25d0
jmp 0x6c9ea0
lea eax, [esp + 0x50]
lea ecx, [esp + 0x68]
mov edx, 0x8aec92
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 1
mov dword [esp + 0x84], 0
mov dword [esp + 0x78], 0x20
mov byte [esp + 0x88], 3
mov dword [esp + 0x68], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], 0x8a7978
push 0x2d
call fcn.004646a0
add esp, 4
test al, al
jne 0x6ca58a
movsd xmm0, qword [esp + 0x50]
mov eax, dword [esp + 0x58]
test ebx, ebx
movsd qword [esp + 0xc], xmm0
mov dword [esp + 0x14], eax
mov dword [esp], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 4
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0x80000000
je 0x6ca079
mov eax, 1
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], esi
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], esi
jmp 0x6ca07d
lea ecx, [esp + 0x68]
call fcn.006b1630
movzx eax, word [esp + 0xbc]
mov ecx, dword [esp + 0x48]
movaps xmm0, xmmword [esp + 0xe0]
mov ebx, dword [esp + 0x34]
mov edi, dword [ebp + 8]
mov word [esp + 9], ax
movzx eax, byte [esp + 0xbe]
or ecx, esi
mov byte [esp + 0xb], al
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
movzx eax, byte [esp + 0x4f]
mov dword [esp + 4], ecx
mov byte [esp + 8], al
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xf4]
movlps qword [esp + 0x20], xmm0
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x2c], eax
xor eax, eax
mov ecx, dword [esp + 0x30]
mov esi, 0x80000003
cmp ecx, 6
ja 0x6ca3c7
mov edx, dword [esp + 0xc4]
add edx, dword [ecx*4 + 0x6ca5c0]
jmp edx
xor eax, eax
xor edi, edi
mov ebx, dword [esp + 0x34]
lea ecx, [esp + 0x68]
mov dword [esp + 0x68], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x88], edi
call fcn.006b3350
mov esi, 0x80000003
lea ecx, [esi - 0x80000000]
cmp ecx, 6
setb al
cmp ecx, 2
setne cl
test esi, esi
je 0x6ca0cd
and al, cl
jne 0x6ca0cd
push dword [esp + 0x144]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp], 2
jne 0x6ca0e3
movzx eax, byte [esp + 4]
mov byte [ebx + 4], al
mov dword [ebx], 2
jmp 0x6ca123
movsd xmm1, qword [esp + 0x20]
movsd xmm2, qword [esp + 0x18]
movsd xmm0, qword [esp + 0x28]
movsd qword [ebx + 0x20], xmm1
movsd xmm1, qword [esp + 0x10]
movsd qword [ebx + 0x18], xmm2
movsd xmm2, qword [esp]
movsd qword [ebx + 0x28], xmm0
movsd qword [ebx + 0x10], xmm1
movsd xmm1, qword [esp + 8]
movsd qword [ebx], xmm2
movsd qword [ebx + 8], xmm1
mov edx, dword [esp + 0x110]
lea ecx, [edx - 0x80000000]
cmp ecx, 6
setb al
cmp ecx, 2
setne cl
test edx, edx
je 0x6ca159
and al, cl
jne 0x6ca159
push dword [esp + 0x114]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ebx, dword [eax + ecx*4 + 0x114]
lea edx, [eax + ecx*8]
mov dword [esp + 0xd8], ebx
movsd xmm0, qword [eax + ecx*4 + 0x10c]
mov ecx, esp
movsd qword [esp + 0xd0], xmm0
mov eax, dword [edx + 0x14]
mov dword [esp + 0x64], eax
movsd xmm0, qword [edx + 4]
movsd xmm1, qword [edx + 0xc]
lea edx, [esp + 0xd0]
movsd qword [esp + 0x5c], xmm1
movsd qword [esp + 0x54], xmm0
mov dword [esp + 0x50], esi
call fcn.006ccfe0
mov eax, dword [esp]
cmp eax, 2
jne 0x6ca25b
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
movzx eax, byte [esp + 4]
mov ebx, esp
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
movzx esi, al
mov byte [esp + 0xc0], al
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0xe0], edx
mov dword [esp + 0x48], ecx
nop word cs:[eax + eax]
nop dword [eax]
mov ecx, ebx
mov edx, edi
call fcn.006b14a0
cmp dword [esp], 0
je 0x6ca33f
mov ecx, ebx
call fcn.006b25d0
jmp 0x6ca210
mov dword [esp + 0xc4], ecx
mov ecx, esp
mov esi, edx
mov byte [esp + 0x68], 0xd
lea edx, [esp + 0x68]
push 0x8aec38
push 0x8aeccc
call fcn.007d0ab0
mov ecx, esi
add esp, 8
mov al, 1
jmp 0x6ca03a
mov edx, eax
movzx eax, byte [esp + 4]
movzx ebx, word [esp + 5]
add esi, 0xfffffffe
movsd xmm0, qword [esp + 0x20]
mov dword [esp + 0xc8], edx
mov dword [esp + 0x48], eax
movzx eax, byte [esp + 7]
movaps xmmword [esp + 0xe0], xmm0
shl eax, 0x10
or ebx, eax
movzx eax, byte [esp + 8]
cmp esi, 7
mov byte [esp + 0x4f], al
movzx eax, word [esp + 9]
mov word [esp + 0xbc], ax
movzx eax, byte [esp + 0xb]
mov byte [esp + 0xbe], al
mov eax, 4
cmovb eax, esi
mov esi, dword [esp + 0x28]
lea ecx, [eax - 1]
cmp ecx, 4
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xf4], esi
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xc0], ecx
jb 0x6ca580
test eax, eax
je 0x6ca31d
cmp eax, 5
jne 0x6ca513
lea ecx, [esp + 0x54]
call fcn.006b3100
cmp dword [esp + 0x54], 0
je 0x6ca580
push dword [esp + 0x58]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x6ca580
lea ecx, [esp + 0x68]
call fcn.006b1630
mov eax, dword [esi*4 + 0x6ca5ac]
add eax, dword [esp + 0xc4]
jmp eax
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x6ca4a6
mov edx, dword [edi + 8]
mov eax, dword [edi + 0xc]
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], edx
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], ecx
mov ecx, 1
mov dword [esp + 0x84], edx
jmp 0x6ca4aa
xor ecx, ecx
xor eax, eax
lea edi, [esp + 0x50]
lea ebx, [esp + 0x68]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x88], eax
nop word cs:[eax + eax]
nop dword [eax + eax]
mov ecx, edi
mov edx, ebx
call fcn.006b14a0
cmp dword [esp + 0x50], 0
je 0x6ca4e9
mov ecx, edi
call fcn.006b25d0
jmp 0x6ca4d0
mov ebx, dword [esp + 0x34]
jmp 0x6ca09e
mov ecx, dword [esp + 0x54]
mov esi, ebx
test ecx, ecx
je 0x6ca54c
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], ecx
mov ecx, 1
mov dword [esp + 0x1c], edx
jmp 0x6ca550
xor ecx, ecx
xor eax, eax
lea ebx, [esp + 0xd0]
mov dword [esp], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], eax
mov ecx, ebx
mov edx, esp
call fcn.006b14a0
cmp dword [esp + 0xd0], 0
je 0x6ca57e
mov ecx, ebx
call fcn.006b25d0
jmp 0x6ca562
mov ebx, esi
shl ebx, 8
mov esi, ebx
jmp 0x6c9e90
lea eax, [esp + 0xd0]
mov ecx, str.a_Display_implementation_returned_an_error_unexpectedly_rustc_25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04library_alloc_src_string.rs
mov edx, 0x37
push 0x93a144
push 0x8abeec
push eax
call fcn.007c1f60
nop
push 0x68000007
pop es
add byte [eax], al
push 0x68000007
pop es
add byte [eax], al
push 0x70000007
add al, 0
add byte [esi - 0x51fffffc], ch
add al, 0
add byte [esi - 0x51fffffc], ch
add al, 0
add byte [eax + 4], ch
add byte [eax], al
sbb byte [eax], cl
add byte [eax], al
int3