Function at 0x425b30
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xaa8
movaps xmmword [rsp + 0xa90], xmm6
mov rsi, r8
mov r9, rcx
mov qword [rsp + 0x20], rdx
lea rdx, [0x00425910]
lea rcx, [rsp + 0x2e8]
xor r8d, r8d
call fcn.00401e50
cmp dword [rsp + 0x2f0], 3
je 0x427f40
movupd xmm0, xmmword [rsp + 0x2e8]
movdqu xmm1, xmmword [rsp + 0x2f8]
movdqa xmmword [rsp + 0xe0], xmm1
movapd xmmword [rsp + 0xd0], xmm0
mov rax, qword [rsi]
mov qword [rsp + 0xf0], rax
cmp qword [rax], 0
jne 0x427f98
mov rax, qword [rsi + 8]
mov qword [rsp + 0xb0], rax
xorps xmm6, xmm6
mov qword [rsp + 0x90], rsi
nop dword [rax + rax]
xor eax, eax
mov rcx, qword [rsp + 0xb0]
xchg qword [rcx + 0x20], rax
test rax, rax
jne 0x427761
mov qword [rsp + 0xf8], 2
mov rax, qword [rsp + 0x90]
mov rax, qword [rax + 8]
mov rcx, qword [rax]
shr rcx, 2
mov qword [rsp + 0x40], rcx
lea rdx, [rsp + 0x48]
movups xmmword [rdx + 0x10], xmm6
movups xmmword [rdx], xmm6
mov qword [rdx + 0x20], 0
mov qword [rsp + 0x70], rax
mov byte [rsp + 0x78], 0
mov eax, dword [rsp + 0xc9]
mov ecx, dword [rsp + 0xcc]
mov dword [rdx + 0x34], ecx
mov dword [rdx + 0x31], eax
call fcn.004ec0f9
test rax, rax
je 0x427ef8
mov rax, qword [rax]
lock inc qword [rax]
jle 0x427db1
add rax, 0x10
mov qword [rsp + 0xb8], rax
lea rax, fcn.004ec19b
mov qword [rsp + 0xc0], rax
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x38], rax
jmp 0x425cad
cmp rax, 2
jne 0x427cd1
xor eax, eax
xchg qword [rbx + 0x10], rax
mov al, 1
lock cmpxchg byte [rsi], r15b
jne 0x4268cd
xor ecx, ecx
call fcn.0040ada0
xor r12d, r12d
test rax, rax
je 0x425ce0
movzx ecx, byte [rax + 0x44]
mov byte [rsp + 0x37], cl
movzx ecx, byte [rax + 0x45]
mov byte [rsp + 0x36], cl
mov word [rax + 0x44], 0x8001
jmp 0x425ce5
mov byte [rsp + 0x37], 2
mov rsi, qword [rsp + 0x38]
mov r15, qword [rsp + 0x70]
lea rdi, [r15 + 0x18]
jmp 0x425d05
mov byte [rsp + 0x78], 2
movzx eax, byte [rsp + 0x78]
test rax, rax
jne 0x425def
mov rcx, qword [r15]
and rcx, 0xfffffffffffffffc
lea rax, [rcx + 2]
lock cmpxchg qword [r15], rcx
je 0x425d00
mov rcx, qword [rsi]
mov rax, qword [rsi + 8]
call qword [rax]
mov rbp, rax
mov r13, rdx
xor eax, eax
mov cl, 1
lock cmpxchg byte [r15 + 8], cl
jne 0x425e75
mov rcx, qword [r15]
mov rax, rcx
shr rax, 2
cmp rax, qword [rsp + 0x40]
jne 0x425dd0
nop word cs:[rax + rax]
mov rax, rcx
and rax, 3
je 0x425da0
cmp eax, 2
jne 0x425f10
and rcx, 0xfffffffffffffffc
lea rax, [rcx + 2]
lock cmpxchg qword [r15], rcx
je 0x425dd0
mov rcx, rax
and rax, 3
mov qword [rsp + 0x308], rax
je 0x425d60
jmp 0x427beb
and rcx, 0xfffffffffffffffc
lea rdx, [rcx + 1]
mov rax, rcx
lock cmpxchg qword [r15], rdx
je 0x425f19
mov rcx, rax
and eax, 3
mov qword [rsp + 0x308], rax
cmp rax, 2
je 0x425d60
jmp 0x427c07
mov byte [rsp + 0x78], 2
mov al, 1
lock cmpxchg byte [r15 + 8], r12b
jne 0x425e83
mov rcx, rbp
call qword [r13 + 0x18]
jmp 0x425d05
cmp eax, 1
jne 0x4260f1
mov rax, qword [rsp + 0x68]
test rax, rax
jne 0x427404
xor eax, eax
mov cl, 1
lock cmpxchg byte [r15 + 8], cl
jne 0x425edd
mov rax, qword [rsp + 0x68]
test rax, rax
jne 0x42745c
mov rax, qword [r15]
shr rax, 2
cmp rax, qword [rsp + 0x40]
je 0x4274d5
mov rax, qword [rsp + 0x48]
mov r14, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
mov qword [rsp + 0x60], 0
test rax, rax
je 0x425e91
mov rcx, qword [rsp + 0x50]
mov qword [rax + 8], rcx
mov rax, qword [rsp + 0x50]
test rax, rax
jne 0x425eaa
mov rax, rdi
lea rcx, [rsp + 0x48]
cmp qword [rdi], rcx
jne 0x425eba
jmp 0x425eaa
lea rcx, [r15 + 8]
call fcn.00458fbe
jmp 0x425d44
lea rcx, [r15 + 8]
call fcn.004591e1
jmp 0x425de3
lea rax, [rsp + 0x48]
cmp qword [r15 + 0x10], rax
jne 0x425eba
mov rax, qword [rsp + 0x50]
mov qword [r15 + 0x10], rax
test rax, rax
je 0x425e66
mov rcx, qword [rsp + 0x48]
mov qword [rax], rcx
lea rax, [rsp + 0x48]
movups xmmword [rax], xmm6
mov byte [rsp + 0x78], 2
mov al, 1
lock cmpxchg byte [r15 + 8], r12b
jne 0x425ef9
test rbx, rbx
je 0x425d05
mov rcx, r14
call qword [rbx + 0x18]
jmp 0x425d05
lea rcx, [r15 + 8]
call fcn.00458fbe
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x425e24
jmp 0x42745c
lea rcx, [r15 + 8]
call fcn.004591e1
test rbx, rbx
jne 0x425ed2
jmp 0x425d05
cmp eax, 1
jne 0x427bd1
mov r14, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0x60], r13
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x308], rcx
mov rax, qword [r15 + 0x10]
cmp rax, rcx
je 0x427c42
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], 0
test rax, rax
je 0x425f5d
mov qword [rax], rcx
mov qword [r15 + 0x10], rcx
cmp qword [r15 + 0x18], 0
jne 0x425f6b
mov qword [rdi], rcx
mov byte [rsp + 0x78], 1
mov al, 1
lock cmpxchg byte [r15 + 8], r12b
jne 0x42617b
test rsi, rsi
je 0x425f89
mov rcx, r14
call qword [rsi + 0x18]
mov rax, qword [rsp + 0x90]
mov r13, qword [rax + 0x10]
movzx eax, byte [r13 + 0x50]
lea rcx, [0x00428184]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
xor ecx, ecx
call fcn.0045af9e
test rax, rax
je 0x427e5c
mov rsi, qword [rax]
inc qword [rsi]
je 0x427db1
mov qword [r13 + 0x10], rsi
lea r14, [rsi + 0x10]
lea r15, [rsi + 0x120]
mov r10, qword [rsi + 0x110]
jmp 0x42602d
lea rax, [r10 + 2]
mov qword [rsi + 0x110], rax
mov r11, qword [rsi + r10*4 + 0x10]
mov r10, rax
mov rax, r11
or rax, 5
mov ecx, r11d
and ecx, 5
mul rcx
mov r8, rax
mov r9, rdx
and r11, 0xfffffffffffffffa
xor rcx, 5
mov rax, rcx
mul r11
mov rdi, rdx
add rax, r8
adc rdi, r9
shr rax, 0x3d
cmp eax, 4
jbe 0x42612f
cmp r10, 0x3f
jb 0x425fe0
jne 0x426070
mov edi, dword [rsi + 0x10c]
mov rax, qword [rsi + 0x158]
test rax, rax
jle 0x4260a0
cmp qword [rsi + 0x160], 0
js 0x4260a0
add rax, 0xffffffffffffff00
mov qword [rsi + 0x158], rax
mov rcx, r15
mov rdx, r14
call fcn.0045b202
jmp 0x4260ab
mov rax, qword [rsi + 0x158]
test rax, rax
jle 0x4260cc
cmp qword [rsi + 0x160], 0
js 0x4260cc
add rax, 0xffffffffffffff00
mov qword [rsi + 0x158], rax
mov rcx, r15
mov rdx, r14
call fcn.0045b202
jmp 0x4260d7
mov rcx, r15
mov rdx, r14
call fcn.00402e20
mov qword [rsi + 0x110], 1
mov r11d, dword [rsi + 0x10]
shl r11, 0x20
or r11, rdi
mov r10d, 1
jmp 0x425ff3
mov rcx, r15
mov rdx, r14
call fcn.00402e20
mov qword [rsi + 0x110], 2
mov r11, qword [rsi + 0x10]
mov r10d, 2
jmp 0x425ff3
mov bpl, 1
xor edi, edi
jmp 0x427026
lea rdi, [rsp + 0x140]
jmp 0x426ff9
lea rdi, [rsp + 0x140]
jmp 0x426e59
lea rsi, [rsp + 0x140]
jmp 0x426576
lea rdi, [rsp + 0x140]
jmp 0x426c0b
add rdi, 5
call fcn.004e8800
mov rbx, rax
add rbx, rdi
jae 0x426195
call fcn.004e8800
mov rbx, rax
add rbx, 0x38640900
jb 0x427c76
mov esi, edx
cmp edx, 0x3b9aca00
jb 0x426197
inc rbx
je 0x427c76
add esi, 0xc4653600
cmp esi, 0x3b9aca00
jne 0x426197
jmp 0x427c76
add r15, 8
mov rcx, r15
call fcn.004591e1
test rsi, rsi
jne 0x425f83
jmp 0x425f89
mov esi, edx
lea rcx, str.src_main.rs
call fcn.004f1f8d
cmp dword [rdx + 0x88], 0x3b9aca00
je 0x427ec0
mov qword [r13 + 0x58], 0
mov qword [r13 + 0xa8], rbx
mov dword [r13 + 0xb0], esi
mov qword [r13 + 0xb8], rax
mov qword [r13 + 0xc0], rdx
mov byte [r13 + 0xc8], 0
lea r15, [r13 + 0x58]
mov rcx, r15
lea rdx, [rsp + 0x38]
call fcn.004f4c7a
mov cl, 3
test al, al
jne 0x42701d
mov rcx, r15
call fcn.004ef93e
cmp qword [r13 + 0xb8], 0
je 0x42622f
mov rax, qword [r13 + 0xc0]
lock dec qword [rax]
lea rsi, [rsp + 0x140]
jne 0x426250
mov rcx, qword [r13 + 0xc0]
call fcn.00407290
jmp 0x426250
mov rax, qword [r13 + 0xc0]
lock dec qword [rax]
lea rsi, [rsp + 0x140]
jne 0x426250
mov rcx, qword [r13 + 0xc0]
call fcn.00408270
cmp qword [r15], 0
je 0x42626c
mov rax, qword [r13 + 0x88]
test rax, rax
je 0x42626c
mov rcx, qword [r13 + 0x80]
call qword [rax + 0x18]
mov rcx, rsi
call fcn.00492808
lea rbx, [rsp + 0x98]
mov rcx, rbx
call fcn.0041f7d0
lea rdi, [rsp + 0x308]
mov rcx, rdi
mov rdx, rsi
mov r8, rbx
call fcn.00417160
mov rcx, rdi
call fcn.00490e88
test rax, rax
jne 0x427e8a
lea rdi, [r13 + 0x18]
mov qword [rdi], rdx
mov rax, qword [0x00576170]
test rax, rax
jne 0x4262d3
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x427da0
mov qword [0x00576170], rax
mov r8d, 0x38
mov rcx, rax
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x427da0
mov r14, rax
mov r8d, 0xf
lea rcx, [rsp + 0x308]
lea rdx, [0x005050d8]
call fcn.0040ba20
mov rbx, qword [rsp + 0x310]
mov rbp, qword [rsp + 0x318]
mov r12d, 1
mov esi, 1
test rbp, rbp
je 0x426369
js 0x427dc8
mov rax, qword [0x00576170]
test rax, rax
jne 0x426350
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x427eda
mov qword [0x00576170], rax
mov rcx, rax
xor edx, edx
mov r8, rbp
call sub.kernel32.dll_HeapAlloc
mov rsi, rax
test rax, rax
je 0x427eda
mov qword [rsp + 0x80], rdi
mov rcx, rsi
mov qword [rsp + 0x88], rbx
mov rdx, rbx
mov r8, rbp
call sub.msvcrt.dll_memcpy
mov r8d, 0x32
lea rcx, [rsp + 0x140]
lea rdx, [0x005050e7]
call fcn.0040ba20
mov rbx, qword [rsp + 0x148]
mov rdi, qword [rsp + 0x150]
test rdi, rdi
je 0x4263f6
js 0x427dc8
mov rax, qword [0x00576170]
test rax, rax
jne 0x4263dd
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x427ee9
mov qword [0x00576170], rax
mov rcx, rax
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapAlloc
mov r12, rax
test rax, rax
je 0x427ee9
mov rcx, r12
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
mov qword [r14], rbp
mov qword [r14 + 8], rsi
mov qword [r14 + 0x10], rbp
mov qword [r14 + 0x18], rdi
mov qword [r14 + 0x20], r12
mov qword [r14 + 0x28], rdi
mov byte [r14 + 0x30], 1
mov rax, qword [rsp + 0x140]
test rax, rax
je 0x426481
mov rcx, rax
and rcx, 0xfffffffffffffffe
mov edx, eax
and edx, 1
or rax, 0xfffffffffffffffe
inc rax
imul rax, rcx
or rax, rdx
mov rsi, qword [rsp + 0x80]
je 0x426472
mov rcx, qword [0x00576170]
xor edx, edx
mov r8, rbx
call sub.kernel32.dll_HeapFree
mov rax, qword [rsp + 0x310]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x308]
test rax, rax
jne 0x426496
jmp 0x4264c8
mov rsi, qword [rsp + 0x80]
mov rax, qword [rsp + 0x308]
test rax, rax
je 0x4264c8
mov rcx, rax
and rcx, 0xfffffffffffffffe
mov edx, eax
and edx, 1
or rax, 0xfffffffffffffffe
inc rax
imul rax, rcx
or rax, rdx
je 0x4264c8
mov rcx, qword [0x00576170]
xor edx, edx
mov r8, qword [rsp + 0x88]
call sub.kernel32.dll_HeapFree
mov rax, r14
add rax, 0x38
mov qword [rsp + 0x140], 1
mov qword [rsp + 0x148], r14
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], r14
mov qword [rsp + 0x160], rsi
lea rdi, [rsp + 0x308]
mov rcx, rdi
lea rsi, [rsp + 0x140]
mov rdx, rsi
call fcn.00419fe0
lea rcx, [rsp + 0x4b0]
mov rdx, rdi
call fcn.0040ff00
mov rax, qword [rsp + 0x500]
mov qword [r15 + 0x50], rax
movups xmm0, xmmword [rsp + 0x4f0]
movups xmmword [r15 + 0x40], xmm0
movupd xmm0, xmmword [rsp + 0x4b0]
movdqu xmm1, xmmword [rsp + 0x4c0]
movups xmm2, xmmword [rsp + 0x4d0]
movups xmm3, xmmword [rsp + 0x4e0]
movups xmmword [r15 + 0x30], xmm3
movups xmmword [r15 + 0x20], xmm2
movdqu xmmword [r15 + 0x10], xmm1
movupd xmmword [r15], xmm0
lea r14, [r13 + 0x58]
mov rcx, rsi
mov rdx, r14
lea r8, [rsp + 0x38]
call fcn.00418260
mov r15, qword [rsp + 0x148]
test r15, r15
je 0x4267df
mov r12, qword [rsp + 0x140]
mov rdi, qword [rsp + 0x150]
mov rax, qword [r13 + 0x70]
test rax, rax
je 0x4267f9
mov rbx, qword [r13 + 0x68]
test rbx, rbx
jne 0x42660a
lock dec qword [rax]
jne 0x4265d0
mov rcx, qword [r13 + 0x70]
call fcn.00409610
mov rsi, qword [r13 + 0x90]
test rsi, rsi
je 0x426717
mov rbx, qword [r13 + 0x88]
jmp 0x4266e7
mov qword [rbx + 8], 0
test sil, sil
je 0x426650
mov rbx, qword [r13 + 0x68]
test rbx, rbx
je 0x4267e6
mov rax, qword [rbx + 0x20]
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
mov r8, qword [r13 + 0x70]
mov r8, qword [r8 + 0x38]
add r8, 0x10
mov qword [rbx + 0x10], r8
mov qword [rbx + 0x18], 0
test rcx, rcx
je 0x426670
mov qword [rcx + 0x18], rdx
test rdx, rdx
jne 0x426675
mov qword [r13 + 0x68], rcx
jmp 0x42667c
add rbx, 0xfffffffffffffff0
lock dec qword [rbx]
jne 0x4265fd
mov rcx, rbx
call fcn.00406280
jmp 0x4265fd
test rdx, rdx
je 0x4266bc
mov qword [rdx + 0x10], rcx
mov rcx, rbx
dec rax
mov qword [rcx + 0x20], rax
mov sil, 1
xchg byte [rbx + 0x38], sil
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x4265f0
mov eax, 0xcc
mov edx, 0x84
lock cmpxchg qword [rcx], rdx
je 0x4265f0
mov rcx, qword [rbx + 8]
mov rax, qword [rcx + 0x10]
call qword [rax + 0x38]
jmp 0x4265f0
mov qword [r13 + 0x68], rcx
jmp 0x426683
mov rcx, qword [0x00576170]
xor edx, edx
call sub.kernel32.dll_HeapFree
add rbx, 0x20
dec rsi
je 0x426717
cmp qword [rbx + 0x10], 0
je 0x4266de
mov rcx, qword [rbx]
test rcx, rcx
je 0x4266de
mov rax, qword [rbx + 8]
call qword [rax]
mov rax, qword [rbx + 8]
cmp qword [rax + 8], 0
je 0x4266de
mov r8, qword [rbx]
cmp qword [rax + 0x10], 0x11
jb 0x4266d0
mov r8, qword [r8 - 8]
jmp 0x4266d0
mov qword [rsp + 0x80], r12
cmp qword [r13 + 0x80], 0
je 0x42673e
mov r8, qword [r13 + 0x88]
mov rcx, qword [0x00576170]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rsi, qword [r13 + 0xa8]
test rsi, rsi
je 0x4267bd
mov rbx, qword [r13 + 0xa0]
xor r14d, r14d
jmp 0x426777
mov rcx, qword [0x00576170]
xor edx, edx
call sub.kernel32.dll_HeapFree
lea r14, [r14 + r12*2]
cmp r14, rsi
je 0x4267bd
lea rax, [r14 + r14*2]
mov r12d, r14d
and r12d, 1
xor r14, 1
cmp qword [rbx + rax*8 + 0x10], 0
je 0x42676e
lea rbp, [rbx + rax*8]
mov rcx, qword [rbp]
test rcx, rcx
je 0x42676e
mov rax, qword [rbp + 8]
call qword [rax]
mov rax, qword [rbp + 8]
cmp qword [rax + 8], 0
je 0x42676e
mov r8, qword [rbp]
cmp qword [rax + 0x10], 0x11
jb 0x426760
mov r8, qword [r8 - 8]
jmp 0x426760
cmp qword [r13 + 0x98], 0
mov r12, qword [rsp + 0x80]
je 0x426924
lea r14, [r13 + 0xa0]
jmp 0x426913
mov cl, 4
jmp 0x42701d
mov rax, qword [r13 + 0x70]
lock dec qword [rax]
je 0x4265c7
jmp 0x4265d0
mov rbx, qword [r13 + 0x60]
test rbx, rbx
je 0x4268f0
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x80], r12
mov r12, qword [r13 + 0x58]
xor ebp, ebp
jmp 0x42683d
mov rcx, qword [0x00576170]
xor edx, edx
call sub.kernel32.dll_HeapFree
nop dword [rax]
lea rbp, [rsi + rbp*2]
cmp rbp, rbx
je 0x4268da
mov rax, rbp
shl rax, 5
lea r14, [r12 + rax]
mov rsi, rbp
xor rsi, 1
and ebp, 1
mov rax, qword [r12 + rax]
cmp rax, 1
je 0x426890
test rax, rax
jne 0x426830
mov rcx, qword [r14 + 8]
mov eax, 0xcc
mov edx, 0x84
lock cmpxchg qword [rcx], rdx
je 0x426830
mov rcx, qword [r14 + 8]
mov rax, qword [rcx + 0x10]
call qword [rax + 0x38]
jmp 0x426830
cmp qword [r14 + 0x18], 0
je 0x426830
mov rcx, qword [r14 + 8]
test rcx, rcx
je 0x426830
mov rax, qword [r14 + 0x10]
call qword [rax]
mov rax, qword [r14 + 0x10]
cmp qword [rax + 8], 0
je 0x426830
mov r8, qword [r14 + 8]
cmp qword [rax + 0x10], 0x11
jb 0x42681e
mov r8, qword [r8 - 8]
jmp 0x42681e
mov rcx, rsi
call fcn.004591e1
jmp 0x425cad
mov rax, qword [r13 + 0x60]
mov r12, qword [rsp + 0x80]
mov r14, qword [rsp + 0x88]
jmp 0x4268f2
xor eax, eax
mov rcx, rax
and rcx, 0xffffffffffffffdf
mov edx, eax
and edx, 0x20
or rax, 0x20
imul rax, rdx
xor rdx, 0x20
imul rdx, rcx
add rax, rdx
je 0x426924
mov r8, qword [r14]
mov rcx, qword [0x00576170]
xor edx, edx
call sub.kernel32.dll_HeapFree
test rdi, rdi
je 0x426989
xor esi, esi
jmp 0x426947
mov rcx, qword [0x00576170]
xor edx, edx
call sub.kernel32.dll_HeapFree
lea rsi, [rsi + rbx*2]
cmp rsi, rdi
je 0x426989
lea rax, [rsi + rsi*2]
mov ebx, esi
and ebx, 1
xor rsi, 1
cmp qword [r15 + rax*8 + 0x10], 0
je 0x42693e
lea r14, [r15 + rax*8]
mov rcx, qword [r14]
test rcx, rcx
je 0x42693e
mov rax, qword [r14 + 8]
call qword [rax]
mov rax, qword [r14 + 8]
cmp qword [rax + 8], 0
je 0x42693e
mov r8, qword [r14]
cmp qword [rax + 0x10], 0x11
jb 0x426930
mov r8, qword [r8 - 8]
jmp 0x426930
test r12, r12
je 0x42699f
mov rcx, qword [0x00576170]
xor edx, edx
mov r8, r15
call sub.kernel32.dll_HeapFree
call fcn.004e8800
mov rsi, rax
add rsi, 0xf
jae 0x4269e8
call fcn.004e8800
mov rsi, rax
add rsi, 0x38640900
jb 0x427c76
mov ebx, edx
cmp edx, 0x3b9aca00
jb 0x4269ea
inc rsi
je 0x427c76
add ebx, 0xc4653600
cmp ebx, 0x3b9aca00
jne 0x4269ea
jmp 0x427c76
mov ebx, edx
lea rcx, str.src_main.rs
call fcn.004f1f8d
cmp dword [rdx + 0x88], 0x3b9aca00
je 0x427dcf
mov qword [r13 + 0x58], 0
mov qword [r13 + 0xa8], rsi
mov dword [r13 + 0xb0], ebx
mov qword [r13 + 0xb8], rax
mov qword [r13 + 0xc0], rdx
mov byte [r13 + 0xc8], 0
lea r14, [r13 + 0x58]
mov rcx, r14
lea rdx, [rsp + 0x38]
call fcn.004f4c7a
mov cl, 5
test al, al
jne 0x42701d
mov rcx, r14
call fcn.004ef93e
cmp qword [r13 + 0xb8], 0
je 0x426a7a
mov rax, qword [r13 + 0xc0]
lock dec qword [rax]
jne 0x426a93
mov rcx, qword [r13 + 0xc0]
call fcn.00407290
jmp 0x426a93
mov rax, qword [r13 + 0xc0]
lock dec qword [rax]
jne 0x426a93
mov rcx, qword [r13 + 0xc0]
call fcn.00408270
cmp qword [r14], 0
je 0x426aaf
mov rax, qword [r13 + 0x88]
test rax, rax
je 0x426aaf
mov rcx, qword [r13 + 0x80]
call qword [rax + 0x18]
lea rcx, [r13 + 0x20]
mov r8d, 0x2e
lea rdx, str.e__f_b
call fcn.0040ba20
lea rcx, [r13 + 0x38]
mov r8d, 0x1d
lea rdx, [0x00505166]
call fcn.0040ba20
mov rdx, qword [r13 + 0x40]
mov r8, qword [r13 + 0x48]
movupd xmm0, xmmword [r13 + 0x28]
movupd xmmword [r13], xmm0
lea rdi, [rsp + 0x140]
mov rcx, rdi
call fcn.004c6c30
cmp dword [rsp + 0x140], 2
jne 0x426bbb
mov rdi, qword [rsp + 0x148]
mov eax, edi
and eax, 3
cmp eax, 1
jne 0x426b66
lea rsi, [rdi - 1]
mov rcx, qword [rdi - 1]
mov rax, qword [rdi + 7]
call qword [rax]
mov rax, qword [rdi + 7]
cmp qword [rax + 8], 0
je 0x426b55
mov r8, qword [rdi - 1]
cmp qword [rax + 0x10], 0x11
jb 0x426b47
mov r8, qword [r8 - 8]
mov rcx, qword [0x00576170]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rcx, qword [0x00576170]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
call fcn.004e8800
mov rsi, rax
add rsi, 0x2d
jae 0x426c6b
call fcn.004e8800
mov rsi, rax
add rsi, 0x38640900
jb 0x427c76
mov ebx, edx
cmp edx, 0x3b9aca00
jb 0x426c6d
inc rsi
je 0x427c76
add ebx, 0xc4653600
cmp ebx, 0x3b9aca00
jne 0x426c6d
jmp 0x427c76
mov r8d, 0x22
lea rsi, [rsp + 0x308]
mov rcx, rsi
lea rdx, [0x00505183]
call fcn.0040ba20
mov rdx, qword [r13 + 0x18]
mov rcx, rdi
mov r8, rsi
call fcn.004179d0
lea rsi, [rsp + 0x6a0]
mov rcx, rsi
mov rdx, rdi
call fcn.0048576c
mov r8d, 0x150
mov rcx, r14
mov rdx, rsi
call sub.msvcrt.dll_memcpy
lea rsi, [r13 + 0x58]
mov rcx, rdi
mov rdx, rsi
lea r8, [rsp + 0x38]
call fcn.00492ef1
cmp dword [rsp + 0x190], 4
jne 0x426c30
mov cl, 6
jmp 0x42701d
mov r8d, 0x88
lea rbx, [rsp + 0x508]
mov rcx, rbx
mov rdx, rdi
call sub.msvcrt.dll_memcpy
mov rcx, rsi
call fcn.00402910
mov rcx, rbx
call fcn.004025a0
call fcn.004e8800
mov rsi, rax
add rsi, 0x2d
jb 0x426b78
mov ebx, edx
lea rcx, str.src_main.rs
call fcn.004f1f8d
cmp dword [rdx + 0x88], 0x3b9aca00
je 0x427db5
mov qword [r13 + 0x58], 0
mov qword [r13 + 0xa8], rsi
mov dword [r13 + 0xb0], ebx
mov qword [r13 + 0xb8], rax
mov qword [r13 + 0xc0], rdx
mov byte [r13 + 0xc8], 0
lea r14, [r13 + 0x58]
mov rcx, r14
lea rdx, [rsp + 0x38]
call fcn.004f4c7a
mov cl, 7
test al, al
jne 0x42701d
mov rcx, r14
call fcn.004ef93e
cmp qword [r13 + 0xb8], 0
je 0x426cfd
mov rax, qword [r13 + 0xc0]
lock dec qword [rax]
jne 0x426d16
mov rcx, qword [r13 + 0xc0]
call fcn.00407290
jmp 0x426d16
mov rax, qword [r13 + 0xc0]
lock dec qword [rax]
jne 0x426d16
mov rcx, qword [r13 + 0xc0]
call fcn.00408270
cmp qword [r14], 0
je 0x426d32
mov rax, qword [r13 + 0x88]
test rax, rax
je 0x426d32
mov rcx, qword [r13 + 0x80]
call qword [rax + 0x18]
mov rdx, qword [r13]
mov r8, qword [r13 + 8]
lea rdi, [rsp + 0x140]
mov rcx, rdi
call fcn.004c6c30
cmp dword [rsp + 0x140], 2
jne 0x426e09
mov rdi, qword [rsp + 0x148]
mov eax, edi
and eax, 3
cmp eax, 1
jne 0x426db1
lea rsi, [rdi - 1]
mov rcx, qword [rdi - 1]
mov rax, qword [rdi + 7]
call qword [rax]
mov rax, qword [rdi + 7]
cmp qword [rax + 8], 0
je 0x426da0
mov r8, qword [rdi - 1]
cmp qword [rax + 0x10], 0x11
jb 0x426d92
mov r8, qword [r8 - 8]
mov rcx, qword [0x00576170]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rcx, qword [0x00576170]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
call fcn.004e8800
mov rsi, rax
add rsi, 0xf0
jae 0x426ebc
call fcn.004e8800
mov rsi, rax
add rsi, 0x38640900
jb 0x427c76
mov ebx, edx
cmp edx, 0x3b9aca00
jb 0x426ebe
inc rsi
je 0x427c76
add ebx, 0xc4653600
cmp ebx, 0x3b9aca00
jne 0x426ebe
jmp 0x427c76
mov r8d, 0x22
lea rsi, [rsp + 0x308]
mov rcx, rsi
lea rdx, [0x005051c0]
call fcn.0040ba20
mov rdx, qword [r13 + 0x18]
mov rcx, rdi
mov r8, rsi
call fcn.004179d0
lea rsi, [rsp + 0x7f0]
mov rcx, rsi
mov rdx, rdi
call fcn.0048576c
mov r8d, 0x150
mov rcx, r14
mov rdx, rsi
call sub.msvcrt.dll_memcpy
lea rsi, [r13 + 0x58]
mov rcx, rdi
mov rdx, rsi
lea r8, [rsp + 0x38]
call fcn.00492ef1
cmp dword [rsp + 0x190], 4
jne 0x426e7e
mov cl, 8
jmp 0x42701d
mov r8d, 0x88
lea rbx, [rsp + 0x590]
mov rcx, rbx
mov rdx, rdi
call sub.msvcrt.dll_memcpy
mov rcx, rsi
call fcn.00402910
mov rcx, rbx
call fcn.004025a0
call fcn.004e8800
mov rsi, rax
add rsi, 0xf0
jb 0x426dc6
mov ebx, edx
lea rcx, str.src_main.rs
call fcn.004f1f8d
cmp dword [rdx + 0x88], 0x3b9aca00
je 0x427d8d
mov qword [r13 + 0x58], 0
mov qword [r13 + 0xa8], rsi
mov dword [r13 + 0xb0], ebx
mov qword [r13 + 0xb8], rax
mov qword [r13 + 0xc0], rdx
mov byte [r13 + 0xc8], 0
lea r14, [r13 + 0x58]
mov rcx, r14
lea rdx, [rsp + 0x38]
call fcn.004f4c7a
mov cl, 9
test al, al
jne 0x42701d
mov rcx, r14
call fcn.004ef93e
cmp qword [r13 + 0xb8], 0
je 0x426f4e
mov rax, qword [r13 + 0xc0]
lock dec qword [rax]
jne 0x426f67
mov rcx, qword [r13 + 0xc0]
call fcn.00407290
jmp 0x426f67
mov rax, qword [r13 + 0xc0]
lock dec qword [rax]
jne 0x426f67
mov rcx, qword [r13 + 0xc0]
call fcn.00408270
cmp qword [r14], 0
je 0x426f83
mov rax, qword [r13 + 0x88]
test rax, rax
je 0x426f83
mov rcx, qword [r13 + 0x80]
call qword [rax + 0x18]
mov rdx, qword [r13]
mov r8, qword [r13 + 8]
lea rdi, [rsp + 0x140]
mov rcx, rdi
call fcn.004c6c30
cmp dword [rsp + 0x140], 2
je 0x427de2
mov r8d, 0x22
lea rsi, [rsp + 0x308]
mov rcx, rsi
lea rdx, [0x00505200]
call fcn.0040ba20
mov rdx, qword [r13 + 0x18]
mov rcx, rdi
mov r8, rsi
call fcn.004179d0
lea rsi, [rsp + 0x940]
mov rcx, rsi
mov rdx, rdi
call fcn.0048576c
mov r8d, 0x150
mov rcx, r14
mov rdx, rsi
call sub.msvcrt.dll_memcpy
lea rsi, [r13 + 0x58]
mov rcx, rdi
mov rdx, rsi
lea r8, [rsp + 0x38]
call fcn.00492ef1
cmp dword [rsp + 0x190], 4
jne 0x427d51
mov cl, 0xa
mov byte [r13 + 0x50], cl
mov dil, 1
xor ebp, ebp
xor r15d, r15d
movzx r14d, byte [rsp + 0x37]
cmp r14b, 2
je 0x4271dc
mov ecx, dword [0x00502208]
test ecx, ecx
je 0x427062
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jbe 0x427080
mov rsi, rax
cmp qword [rax], 0
je 0x427080
add rsi, 8
jmp 0x4271d0
lea rcx, [0x005021f0]
call fcn.004dae70
mov ecx, eax
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
ja 0x427050
nop dword [rax + rax]
mov ecx, dword [0x00502208]
test ecx, ecx
je 0x4273cf
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
je 0x4271dc
mov rbx, rax
test rax, rax
jne 0x427152
mov rax, qword [0x00576170]
test rax, rax
jne 0x4270cc
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x427d86
mov qword [0x00576170], rax
mov r8d, 0x58
mov rcx, rax
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x427d86
mov rbx, rax
mov qword [rax], 0
movupd xmm0, xmmword [rsp + 0x140]
movdqu xmm1, xmmword [rsp + 0x150]
movups xmm2, xmmword [rsp + 0x160]
movups xmm3, xmmword [rsp + 0x170]
movupd xmmword [rax + 8], xmm0
movdqu xmmword [rax + 0x18], xmm1
movups xmmword [rax + 0x28], xmm2
movups xmmword [rax + 0x38], xmm3
mov rax, qword [rsp + 0x180]
mov qword [rbx + 0x48], rax
lea rax, [0x005021f0]
mov qword [rbx + 0x50], rax
mov ecx, dword [0x00502208]
test ecx, ecx
je 0x4274c2
dec ecx
mov rdx, rbx
call sub.kernel32.dll_TlsSetValue
mov rax, qword [rbx + 0x10]
mov rcx, qword [rbx + 0x18]
lea rsi, [rbx + 8]
cmp qword [rbx], 0
mov qword [rbx], 1
movups xmm0, xmmword [0x0053bde0]
movups xmmword [rbx + 0x28], xmm0
movups xmm0, xmmword [0x0053bdf0]
movups xmmword [rbx + 0x38], xmm0
movabs rdx, 0x2000000000000
mov qword [rbx + 0x48], rdx
movups xmm0, xmmword [0x0053bdc0]
movups xmmword [rbx + 8], xmm0
movupd xmm0, xmmword [0x0053bdd0]
movupd xmmword [rbx + 0x18], xmm0
je 0x4271d0
cmp rax, 2
je 0x4271d0
lock dec qword [rcx]
sete dl
test rax, rax
je 0x4271c4
test dl, dl
je 0x4271d0
call fcn.004f0635
jmp 0x4271d0
test dl, dl
je 0x4271d0
call fcn.004f0a16
nop dword [rax]
movzx eax, byte [rsp + 0x36]
mov byte [rsi + 0x44], r14b
mov byte [rsi + 0x45], al
test dil, dil
je 0x427570
mov ecx, dword [0x005021e0]
test ecx, ecx
je 0x427247
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jbe 0x42720f
mov r14, rax
mov rax, qword [rax]
test rax, rax
cmove r14, rax
jne 0x42734e
mov ecx, dword [0x005021e0]
test ecx, ecx
je 0x427262
dec ecx
call sub.kernel32.dll_TlsGetValue
test rax, rax
je 0x427280
mov r14, rax
cmp rax, 1
je 0x427c90
mov rax, qword [0x00576170]
test rax, rax
jne 0x427308
jmp 0x4272f3
lea rcx, [0x005021c8]
call fcn.004dae70
mov ecx, eax
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
ja 0x4271fc
jmp 0x42720f
lea rcx, [0x005021c8]
call fcn.004dae70
mov ecx, eax
call sub.kernel32.dll_TlsGetValue
test rax, rax
jne 0x427225
nop word [rax + rax]
mov rax, qword [0x00576170]
test rax, rax
jne 0x4272a1
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x427c6c
mov qword [0x00576170], rax
mov r8d, 0x10
mov rcx, rax
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x427c6c
mov r14, rax
mov qword [rax], 0
lea rax, [0x005021c8]
mov qword [r14 + 8], rax
mov ecx, dword [0x005021e0]
test ecx, ecx
je 0x4273f1
dec ecx
mov rdx, r14
call sub.kernel32.dll_TlsSetValue
mov rax, qword [0x00576170]
test rax, rax
jne 0x427308
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x427c38
mov qword [0x00576170], rax
mov r8d, 0x28
mov rcx, rax
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x427c38
mov qword [rax], 1
mov qword [rax + 8], 1
movups xmmword [rax + 0x10], xmm6
mov byte [rax + 0x20], 0
mov rcx, qword [r14]
mov qword [r14], rax
test rcx, rcx
je 0x42734e
lock dec qword [rcx]
jne 0x42734e
call fcn.004f04d2
mov rbx, qword [r14]
mov eax, 2
lock cmpxchg qword [rbx + 0x10], r15
je 0x425cad
lea rsi, [rbx + 0x20]
xor eax, eax
mov cl, 1
lock cmpxchg byte [rbx + 0x20], cl
jne 0x4273b3
xor eax, eax
mov ecx, 1
lock cmpxchg qword [rbx + 0x10], rcx
jne 0x425c90
lea rdi, [rbx + 0x18]
nop dword [rax + rax]
mov rcx, rdi
mov rdx, rsi
mov r9d, 0x3b9aca00
call fcn.0045996e
mov eax, 2
lock cmpxchg qword [rbx + 0x10], r15
jne 0x427390
jmp 0x425ca0
mov rcx, rsi
call fcn.00458fbe
xor eax, eax
mov ecx, 1
lock cmpxchg qword [rbx + 0x10], rcx
je 0x427384
jmp 0x425c90
lea rcx, [0x005021f0]
call fcn.004dae70
mov ecx, eax
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jne 0x42709f
jmp 0x4271dc
lea rcx, [0x005021c8]
call fcn.004dae70
mov ecx, eax
jmp 0x4272df
cmp rax, 5
ja case.0x4275c5.3
mov ecx, 0x26
bt rcx, rax
jae case.0x4275c5.3
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x60], 0
test rax, rax
mov r15d, 0
movzx r14d, byte [rsp + 0x37]
je 0x427444
call qword [rax + 0x18]
mov qword [rsp + 0x68], 0
mov byte [rsp + 0x78], 2
mov bpl, 1
xor edi, edi
jmp 0x42702f
cmp rax, 5
ja case.0x4275c5.3
mov ecx, 0x26
bt rcx, rax
jae case.0x4275c5.3
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x60]
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], 0
mov al, 1
lock cmpxchg byte [r15 + 8], r12b
movzx r14d, byte [rsp + 0x37]
jne 0x427540
test rdi, rdi
je 0x4274b0
mov rcx, rsi
call qword [rdi + 0x18]
mov byte [rsp + 0x78], 2
mov bpl, 1
xor edi, edi
xor r15d, r15d
jmp 0x42702f
lea rcx, [0x005021f0]
call fcn.004dae70
mov ecx, eax
jmp 0x42714a
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x42751e
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsi]
cmp rdx, rcx
jne 0x427521
mov r8, qword [rsi + 8]
movdqu xmm0, xmmword [rax]
movdqu xmm1, xmmword [r8]
pcmpeqd xmm1, xmm0
pshufd xmm0, xmm1, 0xb1
pand xmm0, xmm1
movmskpd ecx, xmm0
cmp cl, 3
jne 0x427519
mov rcx, qword [rax + 0x10]
cmp rcx, qword [r8 + 0x10]
je 0x42755a
mov rcx, rdx
jmp 0x427521
mov rcx, qword [rsi]
mov rax, qword [rsi + 8]
call qword [rax]
mov r14, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rdx
jmp 0x425f70
add r15, 8
mov rcx, r15
call fcn.004591e1
test rdi, rdi
jne 0x4274aa
jmp 0x4274b0
mov rax, qword [rax + 0x18]
mov rcx, rdx
cmp rax, qword [r8 + 0x18]
jne 0x427521
xor esi, esi
jmp 0x425f70
mov rcx, qword [rsp + 0xb8]
mov rax, qword [rsp + 0xc0]
call qword [rax + 0x18]
cmp byte [rsp + 0x78], 1
jne 0x4276da
mov r14, qword [rsp + 0x70]
xor eax, eax
mov cl, 1
lock cmpxchg byte [r14 + 8], cl
or byte [rdi], r9b
test dword [rdx + 1], esi
add byte [rax], al
or byte [rdi], r9b
test dword [rdx + 1], esi
add byte [rax], al
mov r8, qword [r14]
mov rcx, qword [rsp + 0x68]
cmp rcx, 5
ja case.0x4275c5.3
xor eax, eax
lea rdx, [0x004281b0]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
lea rcx, [r14 + 0x10]
mov rdx, qword [rsp + 0x48]
push rsp
and al, 0x48
push rsp
and al, 0x48
test rdx, rdx
je 0x427624
mov r10, qword [rsp + 0x50]
mov qword [rdx + 8], r10
mov rdx, qword [rsp + 0x50]
push rax
push rax
test rdx, rdx
jne 0x427650
lea rdx, [rsp + 0x48]
cmp qword [r14 + 0x18], rdx
jne 0x42762e
lea rdx, [r14 + 0x18]
jmp 0x427650
mov al, 1
xor r9d, r9d
lea rcx, [r14 + 0x10]
mov rdx, qword [rsp + 0x48]
test rdx, rdx
jne 0x4275d5
jmp 0x427624
mov al, 1
mov r9d, 1
lea rcx, [r14 + 0x10]
mov rdx, qword [rsp + 0x48]
test rdx, rdx
jne 0x4275d5
lea rdx, [rsp + 0x48]
cmp qword [rcx], rdx
je 0x427639
mov rdx, qword [r14 + 0x10]
test rdx, rdx
je 0x427669
jmp 0x427674
mov rdx, qword [rsp + 0x50]
mov qword [rcx], rdx
test rdx, rdx
je 0x4275e8
nop word cs:[rax + rax]
mov r10, qword [rsp + 0x48]
mov qword [rdx], r10
lea rdx, [rsp + 0x48]
movups xmmword [rdx], xmm6
mov rdx, qword [r14 + 0x10]
test rdx, rdx
jne 0x427674
cmp qword [r14 + 0x18], 0
jne 0x427f26
test rdx, rdx
jne 0x42768e
mov edx, r8d
and edx, 3
cmp edx, 1
jne 0x42768e
and r8, 0xfffffffffffffffc
mov rdx, r8
xchg qword [r14], rdx
test al, al
je 0x4276d0
mov rdx, r14
call fcn.004f25d4
test rdx, rdx
je 0x4276d0
mov rdi, rax
mov rsi, rdx
mov al, 1
lock cmpxchg byte [r14 + 8], r15b
jne 0x427750
mov rcx, rdi
call qword [rsi + 8]
mov rax, qword [rsp + 0x60]
test bpl, bpl
jne 0x4276e8
jmp 0x427a6d
mov al, 1
lock cmpxchg byte [r14 + 8], r15b
jne 0x427735
mov rax, qword [rsp + 0x60]
test bpl, bpl
je 0x427a6d
test rax, rax
je 0x4276f5
mov rcx, qword [rsp + 0x58]
call qword [rax + 0x18]
cmp dword [rsp + 0xf8], 2
je 0x425bd0
lea rcx, [rsp + 0xf8]
call fcn.00425920
jmp 0x425bd0
lea rcx, [r14 + 8]
call fcn.00458fbe
mov r8, qword [r14]
mov rcx, qword [rsp + 0x68]
cmp rcx, 5
jbe 0x4275b5
jmp case.0x4275c5.3
add r14, 8
mov rcx, r14
call fcn.004591e1
mov rax, qword [rsp + 0x60]
test bpl, bpl
jne 0x4276e8
jmp 0x427a6d
add r14, 8
mov rcx, r14
call fcn.004591e1
jmp 0x4276b3
mov rcx, qword [rsp + 0xf0]
mov rcx, qword [rcx + 8]
lock inc qword [rcx]
jle 0x427db1
xorpd xmm0, xmm0
lea rdx, [rsp + 0x100]
movupd xmmword [rdx], xmm0
mov qword [rsp + 0x110], 8
mov qword [rsp + 0xf8], 0
movupd xmmword [rdx + 0x18], xmm0
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x130], rcx
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x180], rax
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x100]
mov rdx, qword [rsp + 0x108]
mov r8, qword [rsp + 0x110]
movupd xmm0, xmmword [rsp + 0x118]
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rcx
mov qword [rsp + 0x150], rdx
mov qword [rsp + 0x158], r8
movapd xmmword [rsp + 0x160], xmm0
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x170], rax
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x178], rax
call fcn.004ea8a0
lock dec qword [rax]
jne 0x427851
mov rcx, rax
call fcn.00407cb0
cmp qword [rsp + 0x140], 0
jne 0x428038
cmp qword [rsp + 0x168], 0
mov rax, qword [rsp + 0x90]
jne 0x428086
mov rsi, qword [rax + 0x10]
mov qword [rsp + 0x168], 0xffffffffffffffff
mov rdi, qword [rsp + 0x170]
mov qword [rsp + 0x170], 0
test rdi, rdi
je 0x42808f
lea rbx, [rsp + 0x148]
mov qword [rsp + 0x168], 0
lea rax, [rsp + 0x140]
mov qword [rsp + 0x308], rax
mov qword [rsp + 0x310], rsi
mov qword [rsp + 0x318], rdi
mov qword [rsp + 0x320], rbx
xor ecx, ecx
call fcn.0040ada0
test rax, rax
je 0x4280a9
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], rbx
add rax, 0x28
lea rdx, [rsp + 0x140]
lea r8, [rsp + 0x40]
mov rcx, rax
call fcn.0040bc60
cmp qword [rsp + 0x168], 0
jne 0x4280e4
mov rdi, rax
mov ebx, edx
lea rsi, [rsp + 0x170]
mov qword [rsp + 0x168], 0xffffffffffffffff
mov rcx, rsi
call fcn.0041ed10
mov qword [rsp + 0x170], rdi
inc qword [rsp + 0x168]
lea rcx, [rsp + 0x140]
call fcn.004f0c99
cmp qword [rsp + 0x140], 0
je 0x427a9a
mov rax, qword [rsp + 0x178]
lock dec qword [rax]
jne 0x42798f
mov rcx, qword [rsp + 0x178]
call fcn.004092b0
mov rdi, qword [rsp + 0x170]
test rdi, rdi
je 0x427a20
mov rcx, qword [rdi + 0x20]
test rcx, rcx
je 0x4279d4
mov rax, 0xffffffffffffffc0
lock xadd qword [rcx], rax
cmp rax, 0x3f
jbe 0x42816a
and rax, 0xffffffffffffffc0
cmp rax, 0x40
jne 0x4279d4
mov rcx, qword [rdi + 0x20]
mov rax, qword [rcx + 0x10]
call qword [rax + 0x28]
lea rsi, [rdi + 0x38]
mov rcx, rsi
call fcn.0040f850
mov rax, qword [rdi + 0x38]
lock dec qword [rax]
jne 0x4279f2
mov rcx, rsi
call fcn.004075d0
mov rax, qword [rdi + 0x28]
test rax, rax
je 0x427a0a
lock dec qword [rax]
jne 0x427a0a
mov rcx, qword [rdi + 0x28]
call fcn.00407620
mov r8, qword [rsp + 0x170]
mov rcx, qword [0x00576170]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rsi, qword [rsp + 0x158]
mov rdi, qword [rsp + 0x160]
test rdi, rdi
je 0x427ad6
add rsi, 8
nop dword [rax]
mov rcx, qword [rsi - 8]
mov rax, qword [rsi]
call qword [rax + 0x18]
add rsi, 0x10
dec rdi
jne 0x427a40
mov rsi, qword [rsp + 0x158]
mov rax, qword [rsp + 0x150]
test rax, rax
jne 0x427ae3
jmp 0x427b15
test rax, rax
je 0x427a7a
mov rcx, qword [rsp + 0x58]
call qword [rax + 0x18]
cmp dword [rsp + 0xf8], 2
je 0x427b1e
lea rcx, [rsp + 0xf8]
call fcn.00425920
jmp 0x427b1e
mov rax, qword [rsp + 0x178]
lock dec qword [rax]
jne 0x427ab5
mov rcx, qword [rsp + 0x178]
call fcn.00408270
mov rcx, rsi
call fcn.0041ed10
mov rsi, qword [rsp + 0x158]
mov rdi, qword [rsp + 0x160]
test rdi, rdi
jne 0x427a39
mov rax, qword [rsp + 0x150]
test rax, rax
je 0x427b15
mov rcx, rax
and rcx, 0xffffffffffffffef
mov edx, eax
and edx, 0x10
or rax, 0x10
imul rax, rdx
xor rdx, 0x10
imul rdx, rcx
add rax, rdx
je 0x427b15
mov rcx, qword [0x00576170]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
test bl, 1
je 0x428112
xor ecx, ecx
call fcn.004f1d3f
test rax, rax
je 0x427ff0
mov rsi, rax
cmp byte [rax + 0x46], 2
je 0x42801e
mov byte [rsi + 0x46], 2
cmp dword [rsi + 0x38], 0
jne 0x427b4a
call fcn.004ecb76
mov dword [rsi + 0x38], 1
mov rax, qword [rsp + 0xd0]
mov qword [rsi + 0x3c], rax
lea rcx, [rsp + 0xd8]
call fcn.004ee27b
mov rax, qword [rsp + 0xd8]
cmp rax, 2
je 0x427bb5
test rax, rax
je 0x427b9a
mov rax, qword [rsp + 0xe0]
lock dec qword [rax]
jne 0x427bb5
mov rcx, qword [rsp + 0xe0]
call fcn.00407290
jmp 0x427bb5
mov rax, qword [rsp + 0xe0]
lock dec qword [rax]
jne 0x427bb5
mov rcx, qword [rsp + 0xe0]
call fcn.00408270
movaps xmm6, xmmword [rsp + 0xa90]
add rsp, 0xaa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_tokio_1.40.0_src_sync_notify.rs
mov edx, 0x28
call fcn.0042f210
ud2
mov qword [rsp + 0x150], 0
lea rdx, [0x0053d7d8]
lea r9, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_tokio_1.40.0_src_sync_notify.rs
jmp 0x427c21
mov qword [rsp + 0x150], 0
lea rdx, [0x0053d7f8]
lea r9, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_tokio_1.40.0_src_sync_notify.rs
lea rcx, [rsp + 0x308]
lea r8, [rsp + 0x140]
call fcn.004ecfc0
ud2
mov ecx, 0x28
jmp 0x427da5
mov qword [rsp + 0x150], 0
add r15, 0x10
lea rdx, [rsp + 0x308]
lea r8, [rsp + 0x140]
mov rcx, r15
call fcn.004ed134
ud2
mov ecx, 0x10
jmp 0x427da5
lea rcx, [0x0053a5ba]
lea r8, [0x0053a600]
mov edx, 0x28
call fcn.0042c3b0
add byte [r8], r8b
add byte [r8], r8b
ud2
lea rax, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_tokio_1.40.0_src_runtime_park.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x0053af28]
lea r8, [rsp + 0x98]
jmp 0x427eb4
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_tokio_1.40.0_src_sync_notify.rs
mov edx, 0x28
call fcn.0042f210
ud2
mov qword [rsp + 0x98], rax
lea rax, [rsp + 0x98]
mov qword [rsp + 0x308], rax
lea rax, [fcn.00430150]
mov qword [rsp + 0x310], rax
lea rax, str.inconsistent_park_state__actual_
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], 1
mov qword [rsp + 0x140], 0
lea rax, [rsp + 0x308]
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x168], 1
lea rdx, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_tokio_1.40.0_src_runtime_park.rs
lea rcx, [rsp + 0x140]
call fcn.0042f1d0
ud2
lea rdi, [rsp + 0x618]
lea rdx, [rsp + 0x140]
mov r8d, 0x88
mov rcx, rdi
call sub.msvcrt.dll_memcpy
mov rcx, rsi
call fcn.00402910
mov rcx, rdi
call fcn.004025a0
call fcn.00420220
ud2
mov ecx, 0x58
jmp 0x427da5
lea rcx, [0x0053d8a0]
lea r8, str.src_main.rs
jmp 0x427ece
mov ecx, 0x38
mov edx, 8
call fcn.004043b0
ud2
ud2
lea rcx, [0x0053d8a0]
lea r8, str.src_main.rs
jmp 0x427ece
call fcn.00403940
ud2
lea rcx, [0x0053d8a0]
lea r8, str.src_main.rs
jmp 0x427ece
mov rdi, qword [rsp + 0x148]
mov eax, edi
and eax, 3
cmp eax, 1
jne 0x427e3b
lea rsi, [rdi - 1]
mov rcx, qword [rdi - 1]
mov rax, qword [rdi + 7]
call qword [rax]
mov rax, qword [rdi + 7]
cmp qword [rax + 8], 0
je 0x427e2a
mov r8, qword [rdi - 1]
cmp qword [rax + 0x10], 0x11
jb 0x427e1c
mov r8, qword [r8 - 8]
mov rcx, qword [0x00576170]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rcx, qword [0x00576170]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
call fcn.00420220
ud2
lea rcx, str._async_fn__resumed_after_completion:library_alloc_src_raw_vec.rs
lea r8, str.src_main.rs
mov edx, 0x23
call fcn.0042f210
ud2
lea rax, [0x0053de90]
mov qword [rsp + 0x20], rax
lea rcx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_repos_rust_1.70.0_library_std_src_thread_local.rs
lea r9, [0x0052f400]
lea r8, [rsp + 0x98]
mov edx, 0x46
call fcn.0042c510
ud2
mov qword [rsp + 0x140], rdx
lea rax, str.src_main.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x00503a80]
lea r8, [rsp + 0x140]
mov edx, 0x2b
call fcn.0042c510
ud2
lea rcx, [0x0053d8a0]
lea r8, str.src_main.rs
mov edx, 0x73
call fcn.0042c3b0
ud2
mov edx, 1
mov rcx, rbp
call fcn.004043b0
ud2
mov edx, 1
mov rcx, rdi
call fcn.004043b0
ud2
lea rax, [0x00505050]
mov qword [rsp + 0x20], rax
lea rcx, str.Failed_to__Enter::block_on_
lea r9, [0x00504f38]
lea r8, [rsp + 0x98]
mov edx, 0x1b
call fcn.0042c510
ud2
lea rcx, str.assertion_failed:_self.tail.is_none__
lea r8, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_tokio_1.40.0_src_util_linked_list.rs
mov edx, 0x25
call fcn.0042f210
ud2
lea rax, str.Cannot_start_a_runtime_from_within_a_runtime._This_happens_because_a_function__like__block_on___attempted_to_block_the_current_thread_while_the_thread_is_being_used_to_drive_asynchronous_tasks.
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], 1
mov qword [rsp + 0x140], 0
lea rax, str.ntdll.dll
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x168], 0
lea rdx, str.src_main.rs
lea rcx, [rsp + 0x140]
call fcn.0042f1d0
ud2
lea rax, str.not_a_CurrentThread_handle
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], 1
mov qword [rsp + 0x140], 0
lea rax, str.ntdll.dll
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x168], 0
lea rdx, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_tokio_1.40.0_src_runtime_scheduler_mod.rsx
lea rcx, [rsp + 0x140]
call fcn.0042f1d0
ud2
lea rax, [0x0053de90]
mov qword [rsp + 0x20], rax
lea rcx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_repos_rust_1.70.0_library_std_src_thread_local.rs
lea r9, [0x0053deb8]
lea r8, [rsp + 0x98]
mov edx, 0x46
call fcn.0042c510
ud2
lea rcx, str.assertion_failed:_c.runtime.get__.is_entered___usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_tokio_1.40.0_src_runtime_context_runtime.rsV
lea r8, [0x0053e2c0]
mov edx, 0x2e
call fcn.0042f210
ud2
lea rax, str.expected__CurrentThread::Context_
mov qword [rsp + 0x318], rax
mov qword [rsp + 0x320], 1
mov qword [rsp + 0x308], 0
lea rax, str.ntdll.dll
mov qword [rsp + 0x328], rax
mov qword [rsp + 0x330], 0
lea rdx, [0x0053ce40]
jmp 0x42815b
lea rax, [0x0053ce58]
jmp 0x4280eb
lea rcx, str.core_missing
lea r8, [0x0053ce70]
mov edx, 0xc
call fcn.0042c3b0
ud2
lea rcx, [rsp + 0x318]
call fcn.00402c80
lea rax, [0x0053de90]
mov qword [rsp + 0x20], rax
lea rcx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_repos_rust_1.70.0_library_std_src_thread_local.rs
lea r9, [0x00503a60]
lea r8, [rsp + 0x98]
mov edx, 0x46
call fcn.0042c510
ud2
lea rax, [0x0053ce88]
mov qword [rsp + 0x20], rax
lea rcx, str.already_borrowed
lea r9, [0x00504be0]
lea r8, [rsp + 0x98]
mov edx, 0x10
call fcn.0042c510
ud2
lea rax, str.a_spawned_task_panicked_and_the_runtime_is_configured_to_shut_down_on_unhandled_panic
mov qword [rsp + 0x318], rax
mov qword [rsp + 0x320], 1
mov qword [rsp + 0x308], 0
lea rax, str.ntdll.dll
mov qword [rsp + 0x328], rax
mov qword [rsp + 0x330], 0
lea rdx, [0x00505068]
lea rcx, [rsp + 0x308]
call fcn.0042f1d0
ud2
lea rcx, str.assertion_failed:_prev.ref_count_____1
lea r8, [0x0053bcc0]
mov edx, 0x27
call fcn.0042f210
ud2