Function at 0x180040e98
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb40]
sub rsp, 0xc40
mov rax, qword [0x18011d1a8]
xor rax, rsp
mov qword [rbp + 0xb30], rax
mov r14b, r8b
movzx r12d, dl
mov byte [rsp + 0x48], r12b
mov ebx, ecx
mov rdi, qword [rbp + 0xba0]
mov qword [rbp + 0x1e8], rdi
mov r8d, r12d
xor r13d, r13d
or r15, 0xffffffffffffffff
cmp r12d, 0x23
ja 0x1800412fc
je 0x180041195
sub r8d, 7
je 0x180041176
sub r8d, 7
je 0x180041159
sub r8d, 2
je 0x1800410ba
sub r8d, 1
je 0x1800410ba
sub r8d, 1
je 0x1800410ba
sub r8d, 1
je 0x1800410ba
sub r8d, 0xd
je 0x1800410ac
sub r8d, 1
je 0x180040f71
cmp r8d, 1
jne 0x1800422a7
mov rdx, rdi
lea rcx, [rsp + 0x78]
call fcn.180001ba0
mov r8, rax
mov dl, r14b
call fcn.1800409d8
jmp 0x1800422a7
cmp r14b, 8
jne 0x180040fc7
mov qword [rbp + 0x4a8], r13
mov byte [rbp + 0x20], r13b
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x28], xmm0
mov qword [rbp + 0x38], r13
mov qword [rbp + 0x40], r13
lock inc dword [0x1801238c4]
mov byte [rbp + 0x20], r13b
movdqu xmmword [rbp + 0x28], xmm0
mov qword [rbp + 0x38], r13
mov qword [rbp + 0x40], r13
lea rax, [rbp + 0x470]
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8, [rbp + 0x20]
mov dl, r14b
mov cl, 0x21
call fcn.1800426c8
mov rcx, qword [0x180123cb0]
test rcx, rcx
je 0x180041022
call fcn.18003f644
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x18], xmm0
lea rdx, [rbp - 0x18]
call fcn.180046234
mov rcx, qword [rbp - 0x10]
test rcx, rcx
je 0x180041022
mov eax, r15d
lock xadd dword [rcx + 8], eax
add eax, r15d
jne 0x180041022
mov rbx, qword [rbp - 0x10]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r15d
lock xadd dword [rbx + 0xc], eax
add eax, r15d
jne 0x180041022
mov rcx, qword [rbp - 0x10]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [0x180123d88]
test rcx, rcx
je 0x1800410a2
lea rbx, [rcx + 0x1090]
mov r8, qword [rbx + 0x38]
test r8, r8
je 0x180041058
mov rax, qword [r8]
cmp r8, rbx
setne dl
mov rcx, r8
call qword [rax + 0x20]
mov qword [rbx + 0x38], r13
mov rcx, qword [0x180123d88]
call fcn.18003cf58
mov qword [0x180123d88], r13
mov rbx, qword [0x180123d90]
mov qword [0x180123d90], r13
test rbx, rbx
je 0x1800410a2
mov eax, r15d
lock xadd dword [rbx + 8], eax
add eax, r15d
jne 0x1800410a2
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r15d
lock xadd dword [rbx + 0xc], eax
add eax, r15d
jne 0x1800410a2
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
call fcn.1800373f0
jmp 0x1800422a7
call fcn.1800121bc
xor ecx, ecx
call 0x18023394e
int3
mov rdx, rdi
lea rcx, [rbp + 0x380]
call fcn.180001ba0
mov rbx, rax
mov byte [rbp + 0x170], r12b
mov byte [rbp + 0x171], r14b
mov rdx, rax
lea rcx, [rbp + 0x178]
call fcn.180001ba0
lock add dword [0x1801238c4], r15d
cmp qword [rbx + 8], r13
je 0x180041111
cmp byte [rbx], r13b
jne 0x180041111
lock add dword [0x1801238c0], r15d
mov rcx, qword [rbx + 8]
call fcn.1800bf7fc
mov qword [rbx + 8], r13
lea rcx, [rbp + 0x170]
call fcn.180037884
nop
lock add dword [0x1801238c4], r15d
cmp qword [rbp + 0x180], r13
je 0x1800422a7
cmp byte [rbp + 0x178], r13b
jne 0x1800422a7
lock add dword [0x1801238c0], r15d
mov rcx, qword [rbp + 0x180]
call fcn.1800bf7fc
jmp 0x1800422a7
mov rdx, rdi
lea rcx, [rsp + 0x78]
call fcn.180001ba0
mov r8, rax
mov dl, r14b
call fcn.18003ddac
jmp 0x1800422a7
mov rdx, rdi
lea rcx, [rsp + 0x78]
call fcn.180001ba0
mov r9, rax
mov r8b, r14b
mov ecx, ebx
call fcn.180035464
jmp 0x1800422a7
mov bl, 5
cmp r14b, bl
jne 0x1800422a7
mov rdx, rdi
lea rcx, [rbp + 0x148]
call fcn.180001ba0
nop
mov rax, qword [rdi + 0x18]
test rax, rax
je 0x1800411c5
cmp qword [rdi + 0x10], r13
je 0x1800411c5
sub rax, qword [rdi + 0x10]
jmp 0x1800411c8
mov rax, r13
test rax, rax
je 0x180041292
lea rcx, [rbp + 0xa10]
call fcn.180042354
nop
mov rdx, rdi
lea rcx, [rbp + 0xa10]
call fcn.18000f940
lea rdx, [rbp + 0x120]
lea rcx, [rbp + 0xa30]
call fcn.18000ee4c
nop
lea rdx, [rbp + 0x120]
lea rcx, [0x180123930]
call fcn.18000ef58
call fcn.1800124e0
mov qword [rbp + 0x4e8], r13
lea rdx, [rbp + 0x148]
lea rcx, [rbp + 0x3a8]
call fcn.180001ba0
lea rdx, [rbp + 0x4b0]
mov qword [rsp + 0x20], rdx
xor r9d, r9d
mov r8, rax
mov dl, bl
mov cl, 0x23
call fcn.1800426c8
nop
lock add dword [0x1801238c4], r15d
cmp qword [rbp + 0x128], r13
je 0x180041284
cmp byte [rbp + 0x120], r13b
jne 0x180041284
lock add dword [0x1801238c0], r15d
mov rcx, qword [rbp + 0x128]
call fcn.1800bf7fc
mov qword [rbp + 0x128], r13
lea rcx, [rbp + 0xa10]
call fcn.180042458
jmp 0x1800412c6
mov qword [rbp + 0xf8], r13
lea rdx, [rbp + 0x148]
lea rcx, [rsp + 0x78]
call fcn.180001ba0
lea rcx, [rbp + 0xc0]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
mov r8, rax
mov dl, 0x1d
mov cl, 0x23
call fcn.1800426c8
nop
lock add dword [0x1801238c4], r15d
cmp qword [rbp + 0x150], r13
je 0x1800422a7
cmp byte [rbp + 0x148], r13b
jne 0x1800422a7
lock add dword [0x1801238c0], r15d
mov rcx, qword [rbp + 0x150]
jmp 0x18004114f
sub r8d, 0x24
je 0x180041cc1
sub r8d, 2
je 0x180041a72
sub r8d, 2
je 0x180041a53
sub r8d, 1
je 0x180041a34
sub r8d, 2
je 0x180041973
sub r8d, 1
je 0x180041627
sub r8d, 1
je 0x180041547
sub r8d, 1
je 0x1800413b3
cmp r8d, 1
jne 0x1800422a7
mov rax, qword [rdi + 0x18]
test rax, rax
je 0x1800422a7
cmp qword [rdi + 0x10], r13
je 0x1800422a7
cmp rax, qword [rdi + 0x10]
je 0x1800422a7
mov rax, qword [rdi + 0x10]
mov cl, byte [rax]
mov byte [0x180123897], cl
mov qword [rbp + 0xf8], r13
mov rdx, rdi
lea rcx, [rsp + 0x78]
call fcn.180001ba0
lea rcx, [rbp + 0xc0]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
mov r8, rax
mov dl, 5
mov cl, 0x2f
call fcn.1800426c8
jmp 0x1800422a7
mov rdx, rdi
lea rcx, [rsp + 0x78]
call fcn.180001ba0
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x928], xmm0
mov qword [rbp + 0x940], 0xf
mov byte [rbp + 0x928], r13b
mov dword [rbp + 0x948], r13d
mov byte [rbp + 0x94c], r13b
mov qword [rbp + 0x938], r13
xor r8d, r8d
lea rdx, [0x1800f7400]
lea rcx, [rbp + 0x928]
call fcn.1800baef0
mov byte [rbp + 0x928], r13b
mov dword [rbp + 0x948], r13d
mov byte [rbp + 0x94c], r13b
mov rdx, rdi
lea rcx, [rbp + 0x928]
call fcn.18000dc58
lea rdx, [rbp + 0x928]
mov r12d, 0x10
cmp qword [rbp + 0x940], r12
cmovae rdx, qword [rbp + 0x928]
xorps xmm0, xmm0
movups xmmword [rbp + 0x100], xmm0
mov qword [rbp + 0x110], r13
mov qword [rbp + 0x118], r13
mov r8, r15
inc r8
cmp byte [rdx + r8], r13b
jne 0x180041463
lea rcx, [rbp + 0x100]
call fcn.180005e4c
movzx edx, word [rbp + 0x948]
lea rcx, [rbp + 0x100]
call fcn.1800148cc
mov qword [rbp + 0x528], r13
lea rdx, [rsp + 0x78]
lea rcx, [rbp + 0xc0]
call fcn.180001ba0
lea rcx, [rbp + 0x4f0]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
mov r8, rax
mov dl, r14b
mov cl, byte [rsp + 0x48]
call fcn.1800426c8
nop
mov rdx, qword [rbp + 0x940]
cmp rdx, r12
jb 0x180041502
inc rdx
mov rcx, qword [rbp + 0x928]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800414fd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180042301
call fcn.1800b8e8c
movdqa xmm0, xmmword [0x180104d10]
movdqu xmmword [rbp + 0x938], xmm0
mov byte [rbp + 0x928], r13b
lock add dword [0x1801238c4], r15d
cmp qword [rbp - 0x80], r13
je 0x1800422a7
cmp byte [rsp + 0x78], r13b
jne 0x1800422a7
lock add dword [0x1801238c0], r15d
mov rcx, qword [rbp - 0x80]
jmp 0x18004114f
mov rdx, rdi
lea rcx, [rbp + 0x218]
call fcn.180001ba0
nop
or eax, 0xffffffff
mov dword [rsp + 0x4c], eax
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x180041594
cmp qword [rdi + 0x10], r13
je 0x180041594
sub rcx, qword [rdi + 0x10]
mov esi, 4
cmp rcx, rsi
jb 0x180041594
mov r8d, esi
mov rdx, qword [rdi + 0x10]
lea rcx, [rsp + 0x4c]
call fcn.1800baef0
add qword [rdi + 0x10], rsi
mov eax, dword [rsp + 0x4c]
mov dword [0x1801238bc], eax
lea rax, [0x1800163b8]
mov qword [rbp + 0x1a0], rax
lea rdx, [rbp + 0x1a0]
call fcn.18001291c
call fcn.180012974
mov qword [rbp + 0x568], r13
lea rdx, [rbp + 0x218]
lea rcx, [rbp + 0x3d0]
call fcn.180001ba0
lea rcx, [rbp + 0x530]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
mov r8, rax
mov dl, r14b
mov cl, r12b
call fcn.1800426c8
nop
lock add dword [0x1801238c4], r15d
cmp qword [rbp + 0x220], r13
je 0x1800422a7
cmp byte [rbp + 0x218], r13b
jne 0x1800422a7
lock add dword [0x1801238c0], r15d
mov rcx, qword [rbp + 0x220]
jmp 0x18004114f
mov rdx, rdi
lea rcx, [rbp + 0x1c0]
call fcn.180001ba0
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x900], xmm0
mov qword [rbp + 0x918], 0xf
mov byte [rbp + 0x900], r13b
mov dword [rbp + 0x920], r13d
mov byte [rbp + 0x924], r13b
mov qword [rbp + 0x910], r13
xor r8d, r8d
lea rdx, [0x1800f7400]
lea rcx, [rbp + 0x900]
call fcn.1800baef0
mov byte [rbp + 0x900], r13b
mov dword [rbp + 0x920], r13d
mov byte [rbp + 0x924], r13b
mov rdx, rdi
lea rcx, [rbp + 0x900]
call fcn.18000dc58
cmp qword [0x180123d48], r13
jne 0x180041745
lea rcx, [rbp + 0x1b0]
call fcn.18004b3fc
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov qword [rax], r13
mov qword [rax + 8], r13
mov qword [0x180123d48], rcx
mov rbx, qword [0x180123d50]
mov qword [0x180123d50], rdx
test rbx, rbx
je 0x18004170e
mov eax, r15d
lock xadd dword [rbx + 8], eax
add eax, r15d
jne 0x18004170e
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r15d
lock xadd dword [rbx + 0xc], eax
add eax, r15d
jne 0x18004170e
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov rbx, qword [rbp + 0x1b8]
test rbx, rbx
je 0x180041745
mov eax, r15d
lock xadd dword [rbx + 8], eax
add eax, r15d
jne 0x180041745
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r15d
lock xadd dword [rbx + 0xc], eax
add eax, r15d
jne 0x180041745
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov rcx, qword [0x180123d48]
mov al, byte [rbp + 0x924]
mov byte [rcx + 0x24], al
mov rsi, qword [0x180123d48]
lea rax, [rbp + 0x900]
mov r12d, 0x10
cmp rsi, rax
je 0x180041896
mov r15, qword [rbp + 0x910]
lea rax, [rbp + 0x900]
cmp qword [rbp + 0x918], r12
cmovae rax, qword [rbp + 0x900]
mov qword [rsp + 0x68], rax
mov rcx, qword [rsi + 0x18]
mov qword [rsp + 0x40], rcx
cmp r15, rcx
ja 0x1800417c8
mov rbx, rsi
cmp rcx, r12
jb 0x1800417ad
mov rbx, qword [rsi]
mov qword [rsi + 0x10], r15
mov r8, r15
mov rdx, rax
mov rcx, rbx
call fcn.1800baef0
mov byte [r15 + rbx], r13b
jmp 0x180041892
movabs rbx, 0x7fffffffffffffff
cmp r15, rbx
ja 0x180042307
mov rdx, r15
or rdx, 0xf
cmp rdx, rbx
jbe 0x1800417f3
movabs rcx, 0x8000000000000000
jmp 0x18004181f
mov r8, rcx
shr r8, 1
mov rax, rbx
sub rax, r8
cmp rcx, rax
ja 0x1800417e7
lea rax, [r8 + rcx]
mov rbx, rdx
cmp rdx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x180041826
call fcn.180006204
jmp 0x180041830
test rcx, rcx
je 0x180041833
call fcn.1800b8e50
mov r13, rax
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], rbx
mov r8, r15
mov rdx, qword [rsp + 0x68]
mov rcx, r13
call fcn.1800baef0
xor edx, edx
mov byte [r15 + r13], dl
mov rax, qword [rsp + 0x40]
cmp rax, r12
jb 0x18004188c
mov rcx, qword [rsi]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180041887
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180042313
mov rcx, r8
call fcn.1800b8e8c
mov qword [rsi], r13
xor r13d, r13d
or r15, 0xffffffffffffffff
mov rcx, qword [0x180123d48]
mov eax, dword [rbp + 0x920]
mov dword [rcx + 0x20], eax
call fcn.180015eb8
mov qword [rbp + 0x5a8], r13
lea rdx, [rbp + 0x1c0]
lea rcx, [rbp + 0x3f8]
call fcn.180001ba0
lea rcx, [rbp + 0x570]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
mov r8, rax
mov dl, r14b
mov cl, byte [rsp + 0x48]
call fcn.1800426c8
nop
mov rdx, qword [rbp + 0x918]
cmp rdx, r12
jb 0x180041924
inc rdx
mov rcx, qword [rbp + 0x900]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004191f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004230d
call fcn.1800b8e8c
mov qword [rbp + 0x910], r13
mov qword [rbp + 0x918], 0xf
mov byte [rbp + 0x900], r13b
lock add dword [0x1801238c4], r15d
cmp qword [rbp + 0x1c8], r13
je 0x1800422a7
cmp byte [rbp + 0x1c0], r13b
jne 0x1800422a7
lock add dword [0x1801238c0], r15d
mov rcx, qword [rbp + 0x1c8]
jmp 0x18004114f
mov rdx, rdi
lea rcx, [rbp + 0x1f0]
call fcn.180001ba0
nop
or eax, 0xffffffff
mov dword [rsp + 0x4c], eax
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x1800419c0
cmp qword [rdi + 0x10], r13
je 0x1800419c0
sub rcx, qword [rdi + 0x10]
mov esi, 4
cmp rcx, rsi
jb 0x1800419c0
mov r8d, esi
mov rdx, qword [rdi + 0x10]
lea rcx, [rsp + 0x4c]
call fcn.1800baef0
add qword [rdi + 0x10], rsi
mov eax, dword [rsp + 0x4c]
mov dword [0x180123884], eax
mov qword [rbp + 0x5e8], r13
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp + 0x420]
call fcn.180001ba0
lea rcx, [rbp + 0x5b0]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
mov r8, rax
mov dl, r14b
mov cl, r12b
call fcn.1800426c8
nop
lock add dword [0x1801238c4], r15d
cmp qword [rbp + 0x1f8], r13
je 0x1800422a7
cmp byte [rbp + 0x1f0], r13b
jne 0x1800422a7
lock add dword [0x1801238c0], r15d
mov rcx, qword [rbp + 0x1f8]
jmp 0x18004114f
mov rdx, rdi
lea rcx, [rbp + 0xc0]
call fcn.180001ba0
mov r8, rax
mov dl, r14b
call fcn.18003eb04
jmp 0x1800422a7
mov rdx, rdi
lea rcx, [rbp + 0xc0]
call fcn.180001ba0
mov r8, rax
mov dl, r14b
call fcn.18003e5cc
jmp 0x1800422a7
lock inc dword [0x1801238c4]
mov byte [rbp - 8], r13b
xorps xmm0, xmm0
movdqu xmmword [rbp], xmm0
mov qword [rbp + 0x10], r13
mov qword [rbp + 0x18], r13
mov dword [rbp + 0x6c0], 0x238
xor edx, edx
lea ecx, [rdx + 2]
push rax
call 0x1801725a8
mov r14, rax
cmp rax, r15
je 0x180041c61
mov dword [rbp + 0xb10], 0x780065
mov dword [rbp + 0xb14], 0x6c0070
mov dword [rbp + 0xb18], 0x72006f
mov dword [rbp + 0xb1c], 0x720065
mov dword [rbp + 0xb20], 0x65002e
mov dword [rbp + 0xb24], 0x650078
mov word [rbp + 0xb28], r13w
lea rdx, [rbp + 0x6c0]
mov rcx, rax
push rcx
call 0x1801d7255
lea rdx, [rbp + 0xb10]
lea rcx, [rbp + 0x6ec]
call 0x1802b4376
int3
mov qword [rbp + 0x628], r13
lea rdx, [rbp - 8]
lea rcx, [rbp + 0x448]
call fcn.180001ba0
lea rcx, [rbp + 0x5f0]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
mov r8, rax
mov dl, 5
mov cl, 0x26
call fcn.1800426c8
nop
lock add dword [0x1801238c4], r15d
cmp qword [rbp], r13
je 0x1800422a7
cmp byte [rbp - 8], r13b
jne 0x1800422a7
lock add dword [0x1801238c0], r15d
mov rcx, qword [rbp]
jmp 0x18004114f
xorps xmm0, xmm0
movups xmmword [rbp + 0x680], xmm0
movdqa xmm1, xmmword [0x180104d10]
movdqa xmmword [rbp + 0x690], xmm1
mov byte [rbp + 0x680], r13b
movups xmmword [rbp + 0x6a0], xmm0
mov qword [rbp + 0x6b0], r13
mov r14d, 0xf
mov qword [rbp + 0x6b8], r14
mov byte [rbp + 0x6a0], r13b
mov qword [rbp + 0x670], r13
mov qword [rbp + 0x678], r13
mov rdx, rdi
lea rcx, [rbp + 0x670]
call fcn.18000e3f4
mov r15d, r13d
mov dword [rsp + 0x54], r13d
mov dword [rsp + 0x58], r13d
mov eax, dword [rbp + 0x670]
test eax, eax
jne 0x180041d4c
call 0x18024943a
int3
mov qword [rsp + 0x60], r13
mov r8d, eax
xor edx, edx
mov ecx, 0x400
push rdx
call 0x1802a8cbd
mov rbx, rax
test rax, rax
je 0x180041daa
lea r8, [rsp + 0x60]
mov edx, 0x60000
mov rcx, rax
push rdx
call 0x1801b8c43
test eax, eax
je 0x180041da1
mov rcx, qword [rsp + 0x60]
call fcn.180004fe4
test al, al
je 0x180041da1
lea r8, [rsp + 0x60]
mov edx, 0xb
mov rcx, rbx
push rdx
call 0x180323ce5
mov rcx, rbx
push rbx
call 0x180193e6b
cmp qword [rsp + 0x60], r13
je 0x1800421d3
mov rbx, qword [0x180123a30]
mov byte [rbp + 0x70], r13b
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x78], xmm0
mov qword [rbp + 0x88], r13
mov qword [rbp + 0x90], r13
lock inc dword [0x1801238c4]
mov edx, 8
lea rcx, [rbp + 0x70]
call fcn.180001d5c
test al, al
je 0x180041e12
mov r8d, 8
mov rdx, rbx
mov rbx, qword [rbp + 0x88]
mov rcx, rbx
call fcn.1800baef0
add rbx, 8
mov qword [rbp + 0x88], rbx
lea rdx, [0x180123a60]
lea rcx, [rbp + 0x290]
call fcn.180001ba0
lea r8, [rbp + 0x70]
mov rdx, rax
lea rcx, [rbp + 0x48]
call fcn.180002204
nop
mov rax, qword [rbp + 0x60]
test rax, rax
je 0x180041e4d
mov rcx, qword [rbp + 0x58]
test rcx, rcx
je 0x180041e4d
sub rax, rcx
jmp 0x180041e50
mov rax, r13
test rax, rax
je 0x1800421a9
lock inc dword [0x1801238c4]
mov byte [rbp + 0x98], r13b
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xa0], xmm0
mov qword [rbp + 0xb0], r13
mov qword [rbp + 0xb8], r13
mov rax, qword [rdi + 0x18]
test rax, rax
je 0x180041ea4
cmp qword [rdi + 0x10], r13
je 0x180041ea4
cmp rax, qword [rdi + 0x10]
je 0x180041ea4
mov rdx, rdi
lea rcx, [rbp + 0x98]
call fcn.180001cf4
lock inc dword [0x1801238c4]
mov byte [rbp - 0x60], r13b
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x40], r13
lea rax, [rbp + 0x2b8]
mov qword [rsp + 0x40], rax
lea rdx, [rbp + 0x98]
lea rcx, [rbp + 0x2b8]
call fcn.180001ba0
mov r13, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
xor edx, edx
mov qword [rbp - 0x28], rdx
mov qword [rbp - 0x20], rdx
mov rsi, qword [rbp + 0x6b0]
lea r15, [rbp + 0x6a0]
lea r12d, [rdx + 0x10]
cmp qword [rbp + 0x6b8], r12
cmovae r15, qword [rbp + 0x6a0]
movabs rbx, 0x7fffffffffffffff
cmp rsi, rbx
ja 0x1800422fb
mov qword [rbp - 0x20], r14
cmp rsi, r12
jae 0x180041f35
lea rax, [rbp - 0x38]
jmp 0x180041f8a
mov rax, rsi
or rax, r14
cmp rax, rbx
jbe 0x180041f4c
movabs rcx, 0x8000000000000000
jmp 0x180041f68
mov rbx, rax
mov ecx, 0x16
cmp rax, rcx
cmovb rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x180041f6f
call fcn.180006204
jmp 0x180041f7e
test rcx, rcx
je 0x180041f7b
call fcn.1800b8e50
jmp 0x180041f7e
mov rax, rdx
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x20], rbx
lea r12, [rsi + 1]
mov qword [rbp - 0x28], rsi
mov r8, r12
mov rdx, r15
mov rcx, rax
call fcn.1800baef0
nop
mov r9, r13
lea r8, [rbp - 0x38]
lea rdx, [rbp + 0x268]
lea rcx, [0x180123910]
call fcn.18000f648
mov rsi, qword [rax + 0x18]
xor r13d, r13d
test rsi, rsi
je 0x180041fcf
cmp qword [rax + 0x10], r13
je 0x180041fcf
sub rsi, qword [rax + 0x10]
jmp 0x180041fd2
mov rsi, r13
mov rbx, qword [rax + 0x10]
test rsi, rsi
je 0x180042004
mov rdx, rsi
lea rcx, [rbp - 0x60]
call fcn.180001d5c
test al, al
je 0x180042004
mov r8, rsi
mov rdx, rbx
mov rbx, qword [rbp - 0x48]
mov rcx, rbx
call fcn.1800baef0
add rbx, rsi
mov qword [rbp - 0x48], rbx
lock dec dword [0x1801238c4]
cmp qword [rbp + 0x270], r13
je 0x180042030
cmp byte [rbp + 0x268], r13b
jne 0x180042030
lock dec dword [0x1801238c0]
mov rcx, qword [rbp + 0x270]
call fcn.1800bf7fc
mov rax, qword [rbp + 0x60]
test rax, rax
je 0x180042047
mov rcx, qword [rbp + 0x58]
test rcx, rcx
je 0x180042047
sub rax, rcx
jmp 0x18004204a
mov rax, r13
mov dword [rsp + 0x70], eax
mov esi, 4
mov edx, esi
lea rcx, [rbp - 0x60]
call fcn.180001d5c
test al, al
je 0x18004207d
mov r8d, esi
lea rdx, [rsp + 0x70]
mov rbx, qword [rbp - 0x48]
mov rcx, rbx
call fcn.1800baef0
add rbx, rsi
mov qword [rbp - 0x48], rbx
lea rdx, [rbp + 0x48]
lea rcx, [rbp - 0x60]
call fcn.180001cf4
mov dword [rbp + 0xb00], 0x686c6c64
mov dword [rbp + 0xb04], 0x2e74736f
mov dword [rbp + 0xb08], 0x657865
lea rax, [rbp + 0x308]
mov qword [rsp + 0x40], rax
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x2e0]
call fcn.180001ba0
mov rdx, rax
lea rcx, [rbp + 0x308]
call fcn.18000e944
mov rsi, rax
xor r8d, r8d
lea rdx, [rbp + 0xb00]
lea rcx, [rbp + 0x9f0]
call fcn.18000d44c
mov rbx, rax
cmp qword [rax + 0x18], 8
jb 0x1800420f9
mov rbx, qword [rax]
lea rdx, [rbp + 0x48]
lea rcx, [rbp + 0x330]
call fcn.180001ba0
nop
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x54]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rsi
mov r9, qword [rsp + 0x60]
lea r8, [0x180100930]
mov rdx, rbx
mov rcx, rax
call fcn.180005370
mov r15d, eax
lea rcx, [rbp + 0x9f0]
call fcn.180005b7c
mov esi, r13d
mov eax, 0x14d
test r15d, r15d
cmove esi, eax
lock dec dword [0x1801238c4]
cmp qword [rbp - 0x58], r13
je 0x18004217b
cmp byte [rbp - 0x60], r13b
jne 0x18004217b
lock dec dword [0x1801238c0]
mov rcx, qword [rbp - 0x58]
call fcn.1800bf7fc
nop
lock dec dword [0x1801238c4]
cmp qword [rbp + 0xa0], r13
je 0x1800421ae
cmp byte [rbp + 0x98], r13b
jne 0x1800421ae
lock dec dword [0x1801238c0]
mov rcx, qword [rbp + 0xa0]
call fcn.1800bf7fc
jmp 0x1800421ae
mov esi, 0x14f
lock dec dword [0x1801238c4]
cmp qword [rbp + 0x50], r13
je 0x1800421d8
cmp byte [rbp + 0x48], r13b
jne 0x1800421d8
lock dec dword [0x1801238c0]
mov rcx, qword [rbp + 0x50]
call fcn.1800bf7fc
jmp 0x1800421d8
mov esi, 0x14e
mov bl, 5
xorps xmm0, xmm0
movups xmmword [rbp + 0x990], xmm0
movdqa xmm1, xmmword [0x180104d10]
movdqa xmmword [rbp + 0x9a0], xmm1
mov byte [rbp + 0x990], r13b
movups xmmword [rbp + 0x9b0], xmm0
movdqa xmmword [rbp + 0x9c0], xmm1
mov byte [rbp + 0x9b0], r13b
and qword [rbp + 0x984], 0
mov dword [rbp + 0x98c], r13d
mov dword [rbp + 0x980], r15d
test esi, esi
je 0x180042247
mov bl, 0x1d
mov dword [rbp + 0x984], esi
mov eax, dword [rsp + 0x54]
mov dword [rbp + 0x988], eax
mov eax, dword [rsp + 0x58]
mov dword [rbp + 0x98c], eax
lea rax, [rbp + 0x630]
mov qword [rsp + 0x40], rax
mov qword [rbp + 0x668], r13
lea rdx, [rbp + 0x358]
lea rcx, [rbp + 0x980]
call fcn.18000e26c
nop
lea rdx, [rbp + 0x630]
mov qword [rsp + 0x20], rdx
xor r9d, r9d
mov r8, rax
mov dl, bl
mov cl, 0x24
call fcn.1800426c8
nop
lea rcx, [rbp + 0x980]
call fcn.180042504
nop
lea rcx, [rbp + 0x670]
call fcn.180042504
or r15, 0xffffffffffffffff
lock add dword [0x1801238c4], r15d
cmp qword [rdi + 8], r13
je 0x1800422cf
cmp byte [rdi], r13b
jne 0x1800422cf
lock add dword [0x1801238c0], r15d
mov rcx, qword [rdi + 8]
call fcn.1800bf7fc
mov qword [rdi + 8], r13
mov al, 1
mov rcx, qword [rbp + 0xb30]
xor rcx, rsp
call fcn.1800b8e30
mov rbx, qword [rsp + 0xc80]
add rsp, 0xc40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.180003e78
nop
call fcn.1800c05e4
nop
call fcn.180003e78
nop
call fcn.1800c05e4
nop
call fcn.1800c05e4
int3