Function at 0x47ef38
Capabilities:
Get system information on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x3f8
movaps xmmword [rsp + 0x3e0], xmm6
mov rsi, rdx
mov r12, rcx
cmp byte [rdx + 0xbc], 0
je 0x47ef77
cmp qword [rsi], 0
je 0x47f087
mov rbp, qword [rsi + 8]
mov al, 1
jmp 0x47f20d
movzx eax, word [rsi + 0xbd]
mov cl, byte [rsi + 0xbf]
mov r8, qword [rsi + 0x48]
lea rdx, [rsp + 0x28]
mov word [rdx + 8], ax
mov byte [rdx + 0xa], 1
mov byte [rdx + 0xb], cl
mov qword [rdx], r8
lea rdi, [rsp + 0x130]
mov rcx, rdi
call fcn.00480657
mov r15, qword [rdi]
cmp r15, 2
je 0x47f250
lea rdx, [rsp + 0x140]
mov r14, qword [rdx - 8]
lea rdi, [rsp + 0x300]
mov r8d, 0xe0
mov rcx, rdi
call sub.ntdll.dll_memcpy
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmm2, xmmword [rdi + 0x20]
movaps xmmword [rsp + 0xe0], xmm0
movaps xmmword [rsp + 0xf0], xmm1
movaps xmmword [rsp + 0x100], xmm2
lea rdx, [rsp + 0x330]
lea rcx, [rsp + 0x238]
mov r8d, 0xb0
call sub.ntdll.dll_memcpy
mov rdx, qword [rsi + 0x50]
mov rcx, rsi
call fcn.00480c2c
lock inc qword [rax]
jle 0x480401
mov rdi, rax
mov rbp, rdx
lea rbx, [rsi + 0xa0]
mov rcx, rbx
call fcn.00477f1b
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x48], edx
mov rcx, rbx
call fcn.00477f1b
mov r13, qword [rsi + 0x78]
test r13, r13
mov qword [rsp + 0xb8], r12
je 0x47f8a3
lock inc qword [r13]
jle 0x480401
mov rcx, qword [rsi + 0x80]
mov qword [rsp + 0x118], rcx
jmp 0x47f8a3
movabs r14, 0x8000000000000000
lea rdx, [0x00495d5b]
lea rdi, [rsp + 0x130]
mov r8d, 0x14
mov rcx, rdi
call fcn.004695b0
mov r15, qword [rdi]
cmp r15, r14
jne 0x47f0e2
xorps xmm0, xmm0
lea rdi, [rsp + 0x130]
movaps xmmword [rdi + 0x20], xmm0
movaps xmmword [rdi + 0x10], xmm0
movaps xmmword [rdi], xmm0
mov rcx, rdi
call sub.KERNEL32.dll_GetSystemInfo
mov ebp, dword [rdi + 0x20]
cmp ebp, 1
adc ebp, 0
jmp 0x47f207
mov rbx, qword [rsp + 0x138]
mov r8, qword [rsp + 0x140]
cmp byte [rsp + 0x148], 0
jne 0x47f1ab
test r8, r8
je 0x47f1ab
movzx eax, byte [rsp + 0x14f]
shl eax, 0x10
movzx ecx, word [rsp + 0x14d]
or ecx, eax
shl rcx, 0x20
mov eax, dword [rsp + 0x149]
or rax, rcx
lea rcx, [rbx + r8]
mov r9, rbx
lea rdx, [r9 + 1]
mov r10b, byte [r9]
test r10b, r10b
jns 0x47f1a3
cmp r10b, 0xe0
jae 0x47f152
add r9, 2
cmp rdx, rcx
cmovne rdx, r9
jmp 0x47f1a3
cmp r10b, 0xed
jne 0x47f17a
cmp rdx, rcx
je 0x47f1ab
lea rdx, [r9 + 2]
cmp rdx, rcx
je 0x47f1ab
cmp byte [r9 + 1], 0x9f
ja 0x48037a
add r9, 3
mov rdx, r9
jmp 0x47f1a3
add r9, 2
cmp rdx, rcx
cmove r9, rdx
xor edx, edx
cmp r9, rcx
setne dl
add rdx, r9
cmp r10b, 0xf0
jb 0x47f1a3
xor r9d, r9d
cmp rdx, rcx
setne r9b
add rdx, r9
mov r9, rdx
cmp rdx, rcx
jne 0x47f133
mov qword [rsp + 0x238], r15
mov qword [rsp + 0x240], rbx
mov qword [rsp + 0x248], r8
lea r14, [rsp + 0xe0]
mov rcx, r14
mov rdx, rbx
call fcn.0042ff00
cmp byte [r14], 0
jne 0x480566
mov rbp, qword [rsp + 0xe8]
test rbp, rbp
je 0x4805ff
test r15, r15
je 0x47f207
mov rcx, qword [0x004a30e8]
xor edx, edx
mov r8, rbx
call sub.KERNEL32.dll_HeapFree
mov al, byte [rsi + 0xbc]
movzx ecx, word [rsi + 0xbd]
mov r8b, byte [rsi + 0xbf]
mov r9, qword [rsi + 0x48]
lea rdx, [rsp + 0x238]
mov word [rdx + 8], cx
xor al, 1
mov byte [rdx + 0xa], al
mov byte [rdx + 0xb], r8b
mov qword [rdx], r9
lea rdi, [rsp + 0x130]
mov rcx, rdi
call fcn.00480657
mov r15, qword [rdi]
cmp r15, 2
jne 0x47f26a
mov rax, qword [rsp + 0x138]
mov qword [r12 + 8], rax
mov qword [r12], 2
jmp 0x48035e
mov qword [rsp + 0xb8], r12
lea rdx, [rsp + 0x140]
mov r12, qword [rdx - 8]
lea rdi, [rsp + 0x300]
mov r8d, 0xe0
mov rcx, rdi
call sub.ntdll.dll_memcpy
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmm2, xmmword [rdi + 0x20]
movaps xmmword [rsp + 0xe0], xmm0
movaps xmmword [rsp + 0xf0], xmm1
movaps xmmword [rsp + 0x100], xmm2
lea rdx, [rsp + 0x330]
lea rcx, [rsp + 0x130]
mov r8d, 0xb0
call sub.ntdll.dll_memcpy
mov rdx, qword [rsi + 0x50]
add rdx, rbp
mov rcx, rsi
call fcn.00480c2c
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0x80], rax
lock inc qword [rax]
jle 0x480401
lea r14, [rsi + 0xa0]
mov rcx, r14
call fcn.00477f1b
mov edi, eax
mov ebx, edx
mov rcx, r14
call fcn.00477f1b
mov r14d, eax
mov r13d, edx
mov rax, qword [rsi + 0x78]
test rax, rax
je 0x47f338
lock inc qword [rax]
jle 0x480401
mov rcx, qword [rsi + 0x80]
jmp 0x47f338
mov rdx, qword [rsi + 0x88]
test rdx, rdx
je 0x47f357
lock inc qword [rdx]
jle 0x480401
mov r8, qword [rsi + 0x90]
jmp 0x47f357
mov r9d, dword [rsi + 0xb8]
mov r10, qword [rsi + 0x20]
mov r11, qword [rsi + 0x98]
movzx esi, word [rsi + 0xc0]
mov qword [rsp + 0x238], r10
mov dword [rsp + 0x280], r9d
mov qword [rsp + 0x240], r11
mov qword [rsp + 0x248], rax
mov qword [rsp + 0x250], rcx
mov qword [rsp + 0x258], rdx
mov qword [rsp + 0x260], r8
mov word [rsp + 0x284], si
mov qword [rsp + 0x268], 0
mov byte [rsp + 0x270], 0
mov dword [rsp + 0x274], edi
mov dword [rsp + 0x278], ebx
mov al, byte [0x004a3120]
mov edx, 0x58
xor ecx, ecx
call fcn.0046e140
test rax, rax
je 0x4804e5
mov rsi, rax
mov edi, 1
mov qword [rax], rdi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], r12
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movaps xmm2, xmmword [rsp + 0x100]
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm1
movups xmmword [rax + 0x40], xmm2
mov byte [rax + 0x50], 0
mov al, byte [0x004a3120]
mov edx, 0x30
xor ecx, ecx
call fcn.0046e140
test rax, rax
je 0x480412
mov rbx, rax
mov qword [rax], rdi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rsi
xorps xmm0, xmm0
movups xmmword [rax + 0x18], xmm0
mov byte [rax + 0x28], 0
mov qword [rsp + 0xd8], rax
test rbp, rbp
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0xa8], rax
mov dword [rsp + 0xb0], r14d
mov dword [rsp + 0x54], r13d
je 0x47f851
mov rax, rbp
shr rax, 0x3c
jne 0x4804e0
lea rdx, [rbp*8]
mov al, byte [0x004a3120]
xor ecx, ecx
mov qword [rsp + 0x78], rdx
call fcn.0046e140
test rax, rax
je 0x48051b
mov qword [rsp + 0x88], rbp
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], 0
mov rax, rbp
shr rax, 0x3b
jne 0x4804e0
mov rsi, rbp
shl rsi, 4
mov al, byte [0x004a3120]
xor ecx, ecx
mov rdx, rsi
call fcn.0046e140
test rax, rax
je 0x47fc12
lea rcx, [rsp + 0xc0]
mov qword [rcx], rbp
mov qword [rcx + 8], rax
mov qword [rcx + 0x10], 0
lea rdi, [rsp + 0x28]
mov r15d, 1
xorps xmm6, xmm6
xor ecx, ecx
mov qword [rsp + 0x20], rcx
mov al, byte [0x004a3120]
mov edx, 0x800
xor ecx, ecx
call fcn.0046e140
test rax, rax
je 0x480421
mov qword [rsp + 0x28], 0x100
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 0
mov esi, 0x100
xor ebx, ebx
cmp rbx, qword [rsp + 0x28]
jne 0x47f580
mov rcx, rdi
mov rdx, rbx
call fcn.0047654b
mov rbx, qword [rsp + 0x38]
inc rbx
mov qword [rsp + 0x38], rbx
dec rsi
jne 0x47f569
mov r14, qword [rsp + 0x30]
cmp qword [rsp + 0x28], rbx
jbe 0x47f5ca
test rbx, rbx
je 0x4804a3
lea rsi, [rbx*8]
mov rcx, qword [0x004a30e8]
xor edx, edx
mov r8, r14
mov r9, rsi
call sub.KERNEL32.dll_HeapReAlloc
mov r14, rax
test rax, rax
je 0x47fc12
mov qword [rsp + 0x60], rbx
cmp rbx, 0x100
jne 0x4804b9
mov al, byte [0x004a3120]
mov edx, 0x28
xor ecx, ecx
call fcn.0046e140
test rax, rax
je 0x480403
mov rbx, rax
mov qword [rax], r15
mov qword [rax + 8], r15
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0
mov dword [rax + 0x20], 0
lock inc qword [rax]
jle 0x480401
mov rax, qword [rsp + 0xd8]
mov rsi, qword [rax + 0x10]
lock inc qword [rsi]
jle 0x480401
mov al, byte [0x004a3120]
mov edx, 0x30
xor ecx, ecx
call fcn.0046e140
test rax, rax
je 0x480412
mov r12, rax
mov qword [rax], r15
mov qword [rax + 8], r15
mov qword [rax + 0x10], rsi
movups xmmword [rax + 0x18], xmm6
mov byte [rax + 0x28], 0
lock inc qword [rax]
jle 0x480401
call fcn.0044d170
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], edx
mov bpl, byte [rsp + 0x284]
mov r13d, dword [rsp + 0x238]
mov esi, dword [rsp + 0x23c]
lea rcx, [rsp + 0x268]
call fcn.00477f1b
mov r15d, eax
mov edi, edx
mov al, byte [0x004a3120]
mov edx, 0x50
xor ecx, ecx
call fcn.0046e140
test rax, rax
je 0x480430
mov r14, rax
xor bpl, 1
test r13d, r13d
mov eax, 0x3d
cmove esi, eax
mov eax, 0
mov qword [r14], rax
mov qword [r14 + 8], r12
mov dword [r14 + 0x10], r15d
mov dword [r14 + 0x14], edi
mov qword [r14 + 0x18], rbx
mov qword [r14 + 0x20], rax
movabs rax, 0x40a99d60864b8a7e
mov qword [r14 + 0x28], rax
mov rax, qword [rsp + 0x40]
mov qword [r14 + 0x30], rax
mov eax, dword [rsp + 0x48]
mov dword [r14 + 0x38], eax
mov dword [r14 + 0x40], 0
mov dword [r14 + 0x44], esi
mov byte [r14 + 0x48], bpl
mov word [r14 + 0x49], 0
mov byte [r14 + 0x4b], 0
mov rdx, qword [rsp + 0x98]
cmp rdx, qword [rsp + 0x88]
jne 0x47f751
lea rcx, [rsp + 0x88]
call fcn.0047654b
mov rdx, qword [rsp + 0x98]
mov rbp, qword [rsp + 0x58]
lea rdi, [rsp + 0x28]
mov r15d, 1
mov rax, qword [rsp + 0x90]
mov qword [rax + rdx*8], r14
inc qword [rsp + 0x98]
mov r13, qword [rsp + 0xd0]
cmp r13, qword [rsp + 0xc0]
jne 0x47f79f
lea rcx, [rsp + 0xc0]
mov rdx, r13
call fcn.00435555
mov r13, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x20]
inc rcx
mov r14, qword [rsp + 0xc8]
mov rax, r13
shl rax, 4
mov qword [r14 + rax], rbx
mov qword [r14 + rax + 8], r12
inc r13
mov qword [rsp + 0xd0], r13
cmp rcx, rbp
jne 0x47f52b
mov al, byte [0x004a3120]
xor ecx, ecx
mov rsi, qword [rsp + 0x78]
mov rdx, rsi
call fcn.0046e140
test rax, rax
je 0x47fc12
mov r12, rax
mov rdi, rbp
shl rdi, 0x10
mov rax, qword [rsp + 0xc0]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x70], 0
cmp rax, r13
jbe 0x47fab7
test r13, r13
je 0x47faa0
mov rsi, r13
shl rsi, 4
mov rcx, qword [0x004a30e8]
xor edx, edx
mov r8, r14
mov r9, rsi
call sub.KERNEL32.dll_HeapReAlloc
mov r14, rax
mov rdx, rbp
test rax, rax
jne 0x47faba
jmp 0x47fc12
xor edx, edx
mov qword [rsp + 0x88], rdx
mov r12d, 8
mov qword [rsp + 0x90], r12
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xc8], r12
mov qword [rsp + 0xd0], rdx
movaps xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x70], 0
xor edi, edi
xor r13d, r13d
mov r14d, 8
jmp 0x47faba
mov r12, qword [rsi + 0x88]
test r12, r12
mov qword [rsp + 0x128], r14
mov qword [rsp + 0x120], rbp
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x80], edx
je 0x47f8e6
lock inc qword [r12]
jle 0x480401
mov rax, qword [rsi + 0x90]
mov qword [rsp + 0x110], rax
jmp 0x47f8e6
mov qword [rsp + 0xb0], rdi
mov eax, dword [rsi + 0x20]
mov dword [rsp + 0x20], eax
mov ebp, dword [rsi + 0x24]
mov eax, dword [rsi + 0xb8]
mov dword [rsp + 0x54], eax
mov rax, qword [rsi + 0x98]
mov qword [rsp + 0x78], rax
mov al, byte [rsi + 0xc0]
mov byte [rsp + 0xa8], al
mov al, byte [rsi + 0xc1]
mov byte [rsp + 0xa0], al
xorps xmm6, xmm6
movups xmmword [rsp + 0x137], xmm6
mov byte [rsp + 0x147], 0
movups xmm0, xmmword [rsp + 0x130]
movaps xmmword [rsp + 0x300], xmm0
mov rax, qword [rsp + 0x13f]
mov qword [rsp + 0x30f], rax
mov al, byte [rsp + 0x147]
mov byte [rsp + 0x317], al
mov eax, dword [rsp + 0x148]
mov dword [rsp + 0x318], eax
movzx eax, word [rsp + 0x14c]
mov word [rsp + 0x31c], ax
mov al, byte [rsp + 0x14e]
mov byte [rsp + 0x31e], al
mov al, byte [0x004a3120]
mov edx, 0x60
xor ecx, ecx
call fcn.0046e140
test rax, rax
je 0x48052a
lea rbx, [rsp + 0x130]
mov qword [rbx], 4
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], 0
mov r14d, 4
lea rdi, [rsp + 0x2f]
xor esi, esi
movups xmmword [rdi], xmm6
mov rcx, qword [rsp + 0x37]
mov qword [rsp + 0x6f], rcx
movups xmm0, xmmword [rsp + 0x28]
movaps xmmword [rsp + 0x60], xmm0
cmp rsi, qword [rsp + 0x130]
jne 0x47fa14
mov rcx, rbx
mov rdx, rsi
call fcn.00478721
mov rax, qword [rsp + 0x138]
mov rsi, qword [rsp + 0x140]
lea rcx, [rsi + rsi*2]
mov byte [rax + rcx*8], 0
movaps xmm0, xmmword [rsp + 0x60]
movups xmmword [rax + rcx*8 + 1], xmm0
mov rdx, qword [rsp + 0x6f]
mov qword [rax + rcx*8 + 0x10], rdx
mov rsi, qword [rsp + 0x140]
inc rsi
mov qword [rsp + 0x140], rsi
dec r14
jne 0x47f9d8
mov r14, qword [rsp + 0x138]
cmp qword [rsp + 0x130], rsi
jbe 0x480108
test rsi, rsi
je 0x4800f1
lea rax, [rsi*8]
lea rbx, [rax + rax*2]
mov rcx, qword [0x004a30e8]
xor edx, edx
mov r8, r14
mov r9, rbx
call sub.KERNEL32.dll_HeapReAlloc
mov r14, rax
test rax, rax
jne 0x480108
mov ecx, 8
mov rdx, rbx
call fcn.004289f0
mov rcx, qword [0x004a30e8]
xor edx, edx
mov r8, r14
call sub.KERNEL32.dll_HeapFree
mov r14d, 8
mov rdx, rbp
lea rax, [rbp - 1]
bsr rcx, rax
not ecx
mov rax, 0xffffffffffffffff
shr rax, cl
lea rax, [rax*4 + 4]
mov ecx, 0x10000
cmp rax, rcx
cmovb rcx, rax
cmp rbp, 2
mov ebp, 4
cmovae rbp, rcx
lea eax, [rbp - 1]
test ebp, eax
sete al
test rbp, rbp
setne cl
test cl, al
je 0x4804f4
mov qword [rsp + 0x40], rdx
test rbp, rbp
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x48], r12
je 0x47fc1f
lea rax, [rbp*8]
lea rsi, [rax + rax*2]
mov al, byte [0x004a3120]
xor ecx, ecx
mov rdx, rsi
call fcn.0046e140
test rax, rax
je 0x47fc12
lea rsi, [rsp + 0x28]
mov qword [rsi], rbp
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], 0
lea rdi, [rsp + 0x2f0]
xor ebx, ebx
xorps xmm6, xmm6
mov r15, rbp
movups xmmword [rdi], xmm6
mov rcx, qword [rsp + 0x2f8]
mov qword [rsp + 0x22f], rcx
movups xmm0, xmmword [rsp + 0x2e9]
movaps xmmword [rsp + 0x220], xmm0
cmp rbx, qword [rsp + 0x28]
jne 0x47fba5
mov rcx, rsi
mov rdx, rbx
call fcn.00478721
mov rax, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
lea rcx, [rbx + rbx*2]
mov byte [rax + rcx*8], 0
movaps xmm0, xmmword [rsp + 0x220]
movups xmmword [rax + rcx*8 + 1], xmm0
mov rdx, qword [rsp + 0x22f]
mov qword [rax + rcx*8 + 0x10], rdx
mov rbx, qword [rsp + 0x38]
inc rbx
mov qword [rsp + 0x38], rbx
dec r15
jne 0x47fb66
mov r15, qword [rsp + 0x30]
cmp qword [rsp + 0x28], rbx
jbe 0x47fc53
test rbx, rbx
je 0x47fc3c
lea rax, [rbx*8]
lea rsi, [rax + rax*2]
mov rcx, qword [0x004a30e8]
xor edx, edx
mov r8, r15
mov r9, rsi
call sub.KERNEL32.dll_HeapReAlloc
mov r15, rax
test rax, rax
jne 0x47fc53
mov ecx, 8
mov rdx, rsi
call fcn.004289f0
xor ebx, ebx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], 8
mov qword [rsp + 0x38], rbx
mov r15d, 8
jmp 0x47fc53
mov rcx, qword [0x004a30e8]
xor edx, edx
mov r8, r15
call sub.KERNEL32.dll_HeapFree
mov r15d, 8
mov r12d, 1
lock xadd qword [0x004847f0], r12
test r12, r12
je 0x47fc53
lea rdi, [rsp + 0x300]
lea rsi, [rsp + 0x238]
mov ecx, 0xa
rep movsq qword [rdi], qword [rsi]
mov al, byte [0x004a3120]
mov edx, 0x1f0
xor ecx, ecx
call fcn.0046e140
test rax, rax
je 0x48050c
dec rbp
mov rdx, rbp
mov ebp, 1
mov qword [rax], rbp
mov qword [rax + 8], rbp
lea rdi, [rax + 0x10]
lea rsi, [rsp + 0x300]
mov ecx, 0xa
rep movsq qword [rdi], qword [rsi]
mov qword [rax + 0x60], r14
mov qword [rax + 0x68], r13
mov qword [rax + 0x70], r15
mov qword [rax + 0x78], rbx
xor esi, esi
mov qword [rax + 0x80], rsi
mov qword [rax + 0x88], rdx
mov qword [rax + 0x90], r12
mov byte [rax + 0x98], sil
mov qword [rax + 0xa0], rbp
mov rcx, qword [rsp + 0x58]
mov qword [rax + 0xa8], rcx
mov qword [rax + 0xb0], rsi
mov rdx, qword [rsp + 0x20]
mov qword [rax + 0xb8], rdx
mov qword [rax + 0xc0], rcx
mov byte [rax + 0xc8], sil
mov rcx, qword [rsp + 0x40]
mov qword [rax + 0xd0], rcx
mov rcx, qword [rsp + 0x48]
mov qword [rax + 0xd8], rcx
mov qword [rax + 0xe0], rsi
movaps xmm0, xmmword [rsp + 0x60]
movups xmmword [rax + 0xe8], xmm0
mov rcx, qword [rsp + 0x70]
mov qword [rax + 0xf8], rcx
mov byte [rax + 0x100], sil
mov qword [rax + 0x108], rsi
mov r14d, 8
mov qword [rax + 0x110], r14
mov qword [rax + 0x118], rsi
mov rcx, rax
add rcx, 0x120
lea rdx, [rsp + 0x130]
mov qword [rsp + 0x20], rax
mov r8d, 0xb0
call sub.ntdll.dll_memcpy
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x80]
mov qword [rcx + 0x1d0], rax
mov qword [rcx + 0x1d8], rsi
mov byte [rcx + 0x1e0], sil
mov eax, dword [rsp + 0xb0]
mov dword [rcx + 0x1e4], eax
mov eax, dword [rsp + 0x54]
mov dword [rcx + 0x1e8], eax
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], rsi
lea rax, [rsp + 0x88]
mov r12, qword [rax + 8]
mov r13, qword [rax + 0x10]
mov qword [rax + 0x10], rsi
lea rdx, [r12 + r13*8]
lea r8, [rsp + 0x300]
mov qword [r8 + 8], rdx
mov qword [r8 + 0x10], rax
mov qword [r8 + 0x18], r13
xorps xmm0, xmm0
movups xmmword [r8 + 0x20], xmm0
test r13, r13
je 0x47fed8
mov qword [rsp + 0x40], rdx
shl r13, 3
mov r14d, 8
xor esi, esi
xor edi, edi
mov r15, qword [r12 + rdi*8]
lock inc qword [rcx]
jle 0x480401
mov al, byte [0x004a3120]
mov edx, 0x28
xor ecx, ecx
call fcn.0046e140
test rax, rax
je 0x480403
mov rbx, rax
mov qword [rax], rbp
mov qword [rax + 8], rbp
mov rcx, qword [rsp + 0x20]
mov qword [rax + 0x10], rcx
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r15
cmp rsi, qword [rsp + 0x28]
jne 0x47fe9c
lea rcx, [rsp + 0x28]
mov rdx, rsi
call fcn.0047654b
mov rcx, qword [rsp + 0x20]
mov r14, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
mov qword [r14 + rsi*8], rbx
mov rsi, qword [rsp + 0x38]
inc rsi
mov qword [rsp + 0x38], rsi
inc rdi
add r13, 0xfffffffffffffff8
jne 0x47fe35
mov qword [rsp + 0x328], rdi
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x48], rax
mov r14, qword [rsp + 0x30]
mov r12, qword [rsp + 0x40]
jmp 0x47fedf
xor eax, eax
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x300]
mov qword [rcx], r12
call fcn.004759df
lea rcx, [rsp + 0x88]
call fcn.00472c29
mov rax, qword [rsp + 0xa8]
lock dec qword [rax]
jne 0x47ff17
lea rcx, [rsp + 0xd8]
call fcn.0047375c
lea rcx, [rsp + 0x238]
mov edx, 1
mov r8, qword [rsp + 0x20]
call fcn.004744b0
test rsi, rsi
je 0x480067
shl rsi, 3
xorps xmm6, xmm6
lea rbx, [rsp + 0x60]
xor edi, edi
mov qword [rsp + 0x40], r14
mov r14, qword [r14 + rdi]
lea rcx, str._cargo_registry_src_index.crates.io_6f17d22bba15001f_tokio_1.35.1_src_runtime_scheduler_multi_thread_worker.rs
call fcn.004798ef
mov rbp, rax
mov r13, rdx
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rdx
mov r15d, 1
lock xadd qword [0x004847e8], r15
mov al, byte [0x004a3120]
mov edx, 0x100
xor ecx, ecx
call fcn.0046e140
test rax, rax
je 0x48043f
mov rcx, rax
and rcx, 0xffffffffffffff80
lea r12, [rcx + 0x80]
lea rdx, [r13 + 0x1d0]
add r13, 0x170
test rbp, rbp
mov qword [rcx + 0x78], rax
mov qword [rcx + 0x80], 0xcc
mov eax, 0
mov qword [rcx + 0x88], rax
lea r8, [0x00497c70]
mov qword [rcx + 0x90], r8
mov qword [rcx + 0x98], rax
mov qword [rcx + 0xa0], r15
mov qword [rcx + 0xa8], 2
mov qword [rcx + 0xb0], r14
movups xmmword [rcx + 0xc8], xmm6
mov qword [rcx + 0xd8], rax
cmovne r13, rdx
mov rcx, qword [r13]
mov rdx, r12
mov r8b, 1
mov r9, rbx
call fcn.0047997a
test rax, rax
je 0x48002e
test rdx, rdx
jne 0x48044e
mov rcx, rbx
call fcn.00406bd4
mov eax, 0xcc
mov ecx, 0x84
lock cmpxchg qword [r12], rcx
mov r14, qword [rsp + 0x40]
je 0x480058
mov rax, qword [r12 + 0x10]
mov rcx, r12
call qword [rax + 0x20]
add rdi, 8
cmp rsi, rdi
jne 0x47ff4a
jmp 0x480091
lea rdi, [r14 + rsi*8]
sub rdi, r14
je 0x480091
shr rdi, 3
mov rsi, r14
mov rax, qword [rsi]
lock dec qword [rax]
jne 0x480088
mov rcx, rsi
call fcn.004750de
add rsi, 8
dec rdi
jne 0x480077
cmp qword [rsp + 0x48], 0
je 0x4800aa
mov rcx, qword [0x004a30e8]
xor edx, edx
mov r8, r14
call sub.KERNEL32.dll_HeapFree
mov eax, 1
mov rcx, qword [rsp + 0xb8]
mov qword [rcx], rax
mov qword [rcx + 0x30], rax
mov rax, qword [rsp + 0x20]
mov qword [rcx + 0x38], rax
mov rax, qword [rsp + 0x80]
mov qword [rcx + 0x40], rax
mov rax, qword [rsp + 0xa0]
mov qword [rcx + 0x48], rax
lea rcx, [rsp + 0x238]
call fcn.004746c9
jmp 0x48035e
mov rcx, qword [0x004a30e8]
xor edx, edx
mov r8, r14
call sub.KERNEL32.dll_HeapFree
mov r14d, 8
mov edi, 1
lock xadd qword [0x004847f0], rdi
test rdi, rdi
je 0x480108
movups xmm0, xmmword [rsp + 0x30f]
movups xmmword [rsp + 0x13f], xmm0
movaps xmm0, xmmword [rsp + 0x300]
movaps xmmword [rsp + 0x130], xmm0
mov al, byte [0x004a3120]
mov edx, 0x190
xor ecx, ecx
call fcn.0046e140
test rax, rax
je 0x480539
mov rbx, rax
mov eax, 1
mov qword [rbx], rax
mov qword [rbx + 8], rax
mov eax, dword [rsp + 0x20]
mov dword [rbx + 0x10], eax
mov dword [rbx + 0x14], ebp
mov rax, qword [rsp + 0x78]
mov qword [rbx + 0x18], rax
mov qword [rbx + 0x20], r13
mov rax, qword [rsp + 0x118]
mov qword [rbx + 0x28], rax
mov qword [rbx + 0x30], r12
mov rax, qword [rsp + 0x110]
mov qword [rbx + 0x38], rax
xor r12d, r12d
mov qword [rbx + 0x40], r12
mov byte [rbx + 0x48], r12b
mov eax, dword [rsp + 0x40]
mov dword [rbx + 0x4c], eax
mov eax, dword [rsp + 0x48]
mov dword [rbx + 0x50], eax
mov eax, dword [rsp + 0x54]
mov dword [rbx + 0x58], eax
mov al, byte [rsp + 0xa8]
mov byte [rbx + 0x5c], al
mov al, byte [rsp + 0xa0]
mov byte [rbx + 0x5d], al
mov qword [rbx + 0x60], r14
mov qword [rbx + 0x68], rsi
mov qword [rbx + 0x70], r12
mov qword [rbx + 0x78], 3
mov qword [rbx + 0x80], rdi
mov byte [rbx + 0x88], r12b
mov byte [rbx + 0x90], r12b
movups xmm0, xmmword [rsp + 0x13f]
movups xmmword [rbx + 0xa0], xmm0
movaps xmm0, xmmword [rsp + 0x130]
movups xmmword [rbx + 0x91], xmm0
mov qword [rbx + 0xb0], r12
mov byte [rbx + 0xb8], r12b
mov rcx, rbx
add rcx, 0xc0
lea rdx, [rsp + 0x238]
mov r8d, 0xb0
call sub.ntdll.dll_memcpy
mov rdi, qword [rsp + 0xb0]
mov qword [rbx + 0x170], rdi
mov qword [rbx + 0x178], r12
mov byte [rbx + 0x180], r12b
mov eax, dword [rsp + 0x58]
mov dword [rbx + 0x184], eax
mov eax, dword [rsp + 0x80]
mov dword [rbx + 0x188], eax
mov al, byte [0x004a3120]
mov edx, 0x200
xor ecx, ecx
call fcn.0046e140
test rax, rax
je 0x480548
mov rsi, rax
mov al, byte [0x004a3120]
mov edx, 0x70
xor ecx, ecx
call fcn.0046e140
test rax, rax
mov r8, qword [rsp + 0xb8]
je 0x480557
cmp dword [rsp + 0x20], 0
mov ecx, 0x1f
cmove ebp, ecx
mov qword [rax], r15
mov rcx, qword [rsp + 0x128]
mov qword [rax + 8], rcx
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movaps xmm2, xmmword [rsp + 0x100]
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm1
movups xmmword [rax + 0x30], xmm2
mov qword [rax + 0x40], 0x40
mov qword [rax + 0x48], rsi
xorps xmm0, xmm0
movups xmmword [rax + 0x50], xmm0
mov dword [rax + 0x60], 0
mov dword [rax + 0x64], ebp
xor ecx, ecx
mov byte [rax + 0x68], cl
movups xmmword [rsp + 0x137], xmm0
mov rdx, qword [rsp + 0x13f]
mov qword [r8 + 0x20], rdx
movups xmm1, xmmword [rsp + 0x130]
movups xmmword [r8 + 0x11], xmm1
mov byte [r8 + 0x10], cl
movups xmmword [r8], xmm0
mov qword [r8 + 0x28], rax
mov qword [r8 + 0x30], 0
mov qword [r8 + 0x38], rbx
mov qword [r8 + 0x40], rdi
mov rax, qword [rsp + 0x120]
mov qword [r8 + 0x48], rax
movaps xmm6, xmmword [rsp + 0x3e0]
add rsp, 0x3f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp r15, r14
je 0x47f0b6
shl rax, 8
lea rcx, [rsp + 0x238]
mov qword [rcx], r15
mov qword [rcx + 8], rbx
mov qword [rcx + 0x10], r8
mov qword [rcx + 0x18], rax
lea rax, [0x00495e00]
lea rdx, [rsp + 0x300]
mov qword [rdx], rax
lea rax, [0x0043f954]
mov qword [rdx + 8], rax
mov qword [rdx + 0x10], rcx
lea rax, [0x0046a550]
mov qword [rdx + 0x18], rax
lea rax, [0x00495e48]
lea rcx, [rsp + 0x130]
mov qword [rcx], rax
mov eax, 2
mov qword [rcx + 8], rax
mov qword [rcx + 0x20], 0
mov qword [rcx + 0x10], rdx
mov qword [rcx + 0x18], rax
lea rdx, [0x00495e68]
call fcn.0042ab70
ud2
mov ecx, 8
mov edx, 0x28
call fcn.004289f0
mov ecx, 8
mov edx, 0x30
call fcn.004289f0
mov ecx, 8
mov edx, 0x800
call fcn.004289f0
mov ecx, 8
mov edx, 0x50
call fcn.004289f0
mov ecx, pe_nt_image_headers64
mov edx, pe_nt_image_headers64
call fcn.004289f0
lea rax, [rsp + 0xc0]
mov qword [rax], rdx
lea rdx, [rsp + 0x28]
mov qword [rdx], rax
lea rax, [0x0046a0c0]
mov qword [rdx + 8], rax
lea rax, str.OS_cant_spawn_worker_thread:
lea rcx, [rsp + 0x300]
mov qword [rcx], rax
mov eax, 1
mov qword [rcx + 8], rax
mov qword [rcx + 0x20], 0
mov qword [rcx + 0x10], rdx
mov qword [rcx + 0x18], rax
lea rdx, str._cargo_registry_src_index.crates.io_6f17d22bba15001f_tokio_1.35.1_src_runtime_scheduler_multi_thread_worker.rs
call fcn.0042ab70
mov rcx, qword [0x004a30e8]
xor edx, edx
mov r8, r14
call sub.KERNEL32.dll_HeapFree
mov qword [rsp + 0x60], rbx
lea r8, [rsp + 0x300]
mov qword [r8], 0
lea rdx, [0x00496e68]
lea r9, str._cargo_registry_src_index.crates.io_6f17d22bba15001f_tokio_1.35.1_src_runtime_scheduler_multi_thread_queue.rs
lea rcx, [rsp + 0x60]
call fcn.004753f2
call fcn.004289b0
mov ecx, 8
mov edx, 0x58
call fcn.004289f0
lea rcx, str.assertion_failed:_sharded_size.is_power_of_two___cargo_registry_src_index.crates.io_6f17d22bba15001f_tokio_1.35.1_src_util_sharded_list.rs
lea r8, [0x00498c30]
mov edx, 0x30
call fcn.0042b9e0
mov ecx, 8
mov edx, 0x1f0
call fcn.004289f0
mov ecx, 8
mov rdx, qword [rsp + 0x78]
call fcn.004289f0
mov ecx, 8
mov edx, 0x60
call fcn.004289f0
mov ecx, 8
mov edx, 0x190
call fcn.004289f0
mov ecx, 8
mov edx, 0x200
call fcn.004289f0
mov ecx, 8
mov edx, 0x70
call fcn.004289f0
mov al, byte [rsp + 0xe1]
lea rcx, [rsp + 0x28]
mov byte [rcx], al
lea rax, [0x00495e00]
mov qword [rsp + 0x130], rax
lea rax, [0x0043f954]
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], rcx
lea rax, [0x0042be30]
mov qword [rsp + 0x148], rax
lea rax, [rsp + 0x238]
mov qword [rsp + 0x150], rax
lea rax, [0x00480ec7]
mov qword [rsp + 0x158], rax
lea rax, [0x00495ea8]
lea rcx, [rsp + 0x300]
mov qword [rcx], rax
mov eax, 3
mov qword [rcx + 8], rax
mov qword [rcx + 0x20], 0
mov qword [rcx + 0x10], rdi
mov qword [rcx + 0x18], rax
lea rdx, [0x00495ed8]
call fcn.0042ab70
lea rax, [0x00495e00]
lea rdx, [rsp + 0x300]
mov qword [rdx], rax
lea rax, [0x0043f954]
mov qword [rdx + 8], rax
lea rax, [0x00495de0]
lea rcx, [rsp + 0x130]
mov qword [rcx], rax
mov qword [rcx + 8], 2
mov qword [rcx + 0x20], 0
mov qword [rcx + 0x10], rdx
mov qword [rcx + 0x18], 1
lea rdx, [0x00495e10]
call fcn.0042ab70
int3