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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xc8
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
mov ebx, ecx
lea eax, [edx + 0x8c]
mov edi, edx
movsd qword [esp + 0x50], xmm1
movsd qword [esp + 0x48], xmm0
mov ecx, dword [edx + 0x88]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], ecx
mov byte [esp + 0x74], 0
mov dword [esp + 0x58], 0
mov eax, dword [edx + 0x90]
mov ecx, dword [eax + 0x84]
mov dword [esp + 0x18], ecx
mov eax, dword [eax + 0x80]
mov dword [esp + 0x10], eax
mov eax, dword [edx + 0x90]
mov esi, dword [eax + 0x84]
mov eax, dword [eax + 0x80]
mov edx, dword [edx + 0x98]
mov dword [esp + 8], edi
mov ecx, esi
sub ecx, eax
lea eax, [edi + 0x90]
cmp ecx, edx
mov dword [esp + 4], eax
jge 0x10013229
mov ecx, dword [esp + 8]
dec edx
lea edi, [esp + 0x48]
and edx, esi
inc esi
mov eax, dword [ecx + 0x94]
mov dword [eax + edx*8], 0x10026e10
mov dword [eax + edx*8 + 4], edi
mov edx, dword [ecx + 0x90]
mov dword [edx + 0x84], esi
mov esi, dword [esp + 0x18]
mov ecx, dword [ecx + 0x8c]
sub esi, dword [esp + 0x10]
nop word cs:[eax + eax]
nop
mov eax, dword [ecx + 0xfc]
test eax, 0x10000
jne 0x10013008
lea edx, [eax + 0x10000]
lock cmpxchg dword [ecx + 0xfc], edx
jne 0x10012fe0
mov eax, edx
and eax, 0xff
jne 0x10013013
jmp 0x10013026
mov edx, eax
mov eax, edx
and eax, 0xff
je 0x10013026
test esi, esi
jg 0x10013243
movzx edx, dh
cmp edx, eax
je 0x10013243
mov eax, dword [ebx + 0x14]
mov edi, dword [ebx + 0x18]
mov ebx, dword [ebx + 0x1c]
cmp byte [ebp + 8], 0
mov esi, dword [eax]
je 0x10013045
call fcn.1002e3f0
shr esi, 1
cmp eax, esi
cmova esi, eax
jmp 0x1001304f
test esi, esi
je 0x100131d3
shr esi, 1
mov dword [esp + 0x14], esi
mov eax, dword [edi + 8]
mov esi, dword [esp + 4]
nop word [eax + eax]
test eax, eax
je 0x100130c9
lea ecx, [eax - 1]
lock cmpxchg dword [edi + 8], ecx
jne 0x10013060
lea eax, [esp + 3]
lea ecx, [esp + 0x14]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], eax
lea eax, [esp + 0x24]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], ebx
push eax
call fcn.10013b30
add esp, 4
fstp qword [esp + 0xb0]
fstp qword [esp + 0xa8]
xorpd xmm0, xmm0
addsd xmm0, qword [esp + 0xb0]
addsd xmm0, qword [esp + 0xa8]
jmp 0x100130e7
push ebx
push 0
push 0
push edi
call fcn.10013d10
add esp, 0x10
fstp qword [esp + 0xa0]
movsd xmm0, qword [esp + 0xa0]
movsd qword [esp + 0x18], xmm0
mov eax, dword [esp + 0x6c]
cmp eax, 3
je 0x10013208
mov eax, dword [esp + 8]
lea ebx, [esp + 0x24]
lea edi, [eax + 0xa0]
jmp 0x10013123
push edx
call eax
add esp, 4
mov eax, dword [esp + 0x6c]
cmp eax, 3
je 0x10013208
push esi
call fcn.10019400
add esp, 4
test eax, eax
jne 0x1001314f
push edi
push ebx
call fcn.10019780
add esp, 8
mov eax, dword [esp + 0x24]
cmp eax, 2
je 0x10013130
test eax, eax
je 0x100131b7
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x48]
cmp ecx, edx
sete cl
cmp eax, 0x10026e10
jne 0x10013110
test cl, cl
je 0x10013110
cmp dword [esp + 0x48], 0
je 0x10013394
mov esi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x54]
cmp byte [ebp + 8], 0
mov edi, dword [esp + 0x50]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x58]
mov esi, dword [esi]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
je 0x10013259
mov dword [esp + 0x44], edx
call fcn.1002e3f0
mov edx, dword [esp + 0x44]
shr esi, 1
cmp eax, esi
cmova esi, eax
jmp 0x10013263
mov eax, dword [esp + 0x6c]
cmp eax, 3
je 0x10013208
lea eax, [esp + 0x6c]
push eax
push dword [esp + 0xc]
call fcn.1002af10
add esp, 8
jmp 0x10013208
push ebx
push 0
push 0
push edi
call fcn.10013d10
add esp, 0x10
fstp qword [esp + 0xb8]
movsd xmm0, qword [esp + 0xb8]
mov esi, dword [esp + 4]
movsd qword [esp + 0x18], xmm0
mov eax, dword [esp + 0x6c]
cmp eax, 3
jne 0x100130fa
mov eax, dword [esp + 0x58]
movsd xmm1, qword [esp + 0x60]
cmp eax, 1
jne 0x10013361
movsd xmm0, qword [esp + 0x18]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp + 4]
add edx, edx
call fcn.10019590
mov eax, dword [esp + 8]
mov edx, dword [eax + 0x98]
jmp 0x10012f9d
add ecx, 0xf0
push 1
push ecx
call fcn.100306d0
add esp, 8
jmp 0x10013026
test esi, esi
je 0x100132f5
shr esi, 1
mov dword [esp + 0x14], esi
mov eax, dword [edi + 8]
nop word [eax + eax]
test eax, eax
je 0x100132d5
lea ecx, [eax - 1]
lock cmpxchg dword [edi + 8], ecx
jne 0x10013270
lea eax, [esp + 3]
lea ecx, [esp + 0x14]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edx
push ebx
call fcn.10013b30
add esp, 4
fstp qword [esp + 0x90]
fstp qword [esp + 0x88]
xorpd xmm1, xmm1
addsd xmm1, qword [esp + 0x90]
addsd xmm1, qword [esp + 0x88]
jmp 0x10013313
push edx
push 0
push 0
push edi
call fcn.10013d10
add esp, 0x10
fstp qword [esp + 0x80]
movsd xmm1, qword [esp + 0x80]
jmp 0x10013313
push edx
push 0
push 0
push edi
call fcn.10013d10
add esp, 0x10
fstp qword [esp + 0x98]
movsd xmm1, qword [esp + 0x98]
cmp dword [esp + 8], 2
jb 0x1001321b
push dword [esp + 4]
mov esi, dword [esp + 0x14]
movsd qword [esp + 0xc], xmm1
call dword [esi]
movsd xmm1, qword [esp + 0xc]
add esp, 4
mov eax, dword [esi + 4]
test eax, eax
je 0x1001321b
mov ecx, dword [esp + 0x10]
push dword [ecx + 8]
push eax
push dword [esp + 0xc]
call fcn.10004680
movsd xmm1, qword [esp + 0x14]
add esp, 0xc
jmp 0x1001321b
test eax, eax
jne 0x1001337b
push 0x100d7d60
push 0x28
push str.internal_error:_entered_unreachable_codeC:Userszed.cargo_registry_srcindex.crates.io_1cd66030c949c28d_rayon_core_1.12.1_srcjob.rs
call fcn.100b0df0
add esp, 0xc
ud2
mov eax, dword [esp + 0x5c]
movsd qword [esp + 0x78], xmm1
push dword [esp + 0x78]
push eax
call fcn.10031180
add esp, 8
ud2
push 0x100d7d9c
push 0x2b
push 0x100d7d70
call fcn.100b0df0
add esp, 0xc
ud2