Function at 0x140012b50
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 8], rbx
mov byte [rsp + 0x20], r9b
mov qword [rsp + 0x18], r8
mov byte [rsp + 0x10], dl
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x210]
sub rsp, 0x310
movzx r13d, r9b
mov r12, rcx
mov dword [rsp + 0x34], 0
mov byte [r8], 0
call fcn.14004aba0
mov rcx, rax
test rax, rax
je 0x140013f3b
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp], rax
mov r14, 0xffffffffffffffff
test r12, r12
je 0x140012be2
cmp r12, 0x10000
jae 0x140012bd3
movzx edx, r12w
lea rcx, [rbp]
call fcn.14004b9c0
jmp 0x140012bf4
mov rax, r14
inc rax
cmp byte [r12 + rax], 0
jne 0x140012bd6
jmp 0x140012be4
xor eax, eax
mov r8d, eax
mov rdx, r12
lea rcx, [rbp]
call fcn.14004b580
nop
call fcn.14004aba0
mov rcx, rax
test rax, rax
je 0x140013f46
mov rax, qword [rax]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rbp - 0x38], rdi
test r13b, r13b
je 0x140012d0b
mov word [rbp - 0x80], 0x3f70
mov dword [rbp - 0x7e], 0x3d646975
mov dword [rsp + 0x7b], 0x702e676f
mov word [rsp + 0x78], 0x692f
mov byte [rsp + 0x7a], 0x6c
mov byte [rbp - 0x7a], 0
mov byte [rsp + 0x7f], 0x68
call fcn.14004aba0
mov rcx, rax
test rax, rax
je 0x140013f51
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x50], rax
lea rax, [rsp + 0x78]
cmp rax, 0x10000
jae 0x140012c85
lea rax, [rsp + 0x78]
movzx edx, ax
lea rcx, [rbp - 0x50]
call fcn.14004b9c0
jmp 0x140012cab
lea rcx, [rsp + 0x78]
mov rax, r14
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x140012c90
mov r8d, eax
lea rdx, [rsp + 0x78]
lea rcx, [rbp - 0x50]
call fcn.14004b580
nop
mov rdx, qword [rbp - 0x50]
lea rbx, [rdx - 0x18]
lea rsi, [rdi - 0x18]
cmp rbx, rsi
je 0x140012d06
cmp dword [rsi + 0x10], 0
jl 0x140012cf8
mov rax, qword [rsi]
cmp qword [rbx], rax
jne 0x140012cf8
mov rcx, rbx
call fcn.14001eef0
mov r15, rax
mov ecx, r14d
lock xadd dword [rsi + 0x10], ecx
sub ecx, 1
jg 0x140012cee
mov rcx, qword [rsi]
mov rdi, qword [rcx]
mov rdx, rsi
call qword [rdi + 8]
lea rax, [r15 + 0x18]
mov qword [rbp - 0x38], rax
jmp 0x140012d06
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x38]
call fcn.14004b580
nop
jmp 0x140012df6
mov word [rsp + 0x6b], 0x676f
mov word [rsp + 0x6e], 0x6870
mov word [rsp + 0x68], 0x692f
mov dword [rsp + 0x71], 0x3d693f
mov byte [rsp + 0x6a], 0x6c
mov byte [rsp + 0x70], 0x70
mov byte [rsp + 0x6d], 0x2e
call fcn.14004aba0
mov rcx, rax
test rax, rax
je 0x140013f5c
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x50], rax
lea rax, [rsp + 0x68]
cmp rax, 0x10000
jae 0x140012d76
lea rax, [rsp + 0x68]
movzx edx, ax
lea rcx, [rbp - 0x50]
call fcn.14004b9c0
jmp 0x140012d9b
lea rcx, [rsp + 0x68]
mov rax, r14
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x140012d80
mov r8d, eax
lea rdx, [rsp + 0x68]
lea rcx, [rbp - 0x50]
call fcn.14004b580
nop
mov rdx, qword [rbp - 0x50]
lea rbx, [rdx - 0x18]
lea rsi, [rdi - 0x18]
cmp rbx, rsi
je 0x140012df6
cmp dword [rsi + 0x10], 0
jl 0x140012de8
mov rax, qword [rsi]
cmp qword [rbx], rax
jne 0x140012de8
mov rcx, rbx
call fcn.14001eef0
mov r15, rax
mov ecx, r14d
lock xadd dword [rsi + 0x10], ecx
sub ecx, 1
jg 0x140012dde
mov rcx, qword [rsi]
mov rdi, qword [rcx]
mov rdx, rsi
call qword [rdi + 8]
lea rax, [r15 + 0x18]
mov qword [rbp - 0x38], rax
jmp 0x140012df6
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x38]
call fcn.14004b580
nop
mov eax, r14d
lock xadd dword [rbx + 0x10], eax
sub eax, 1
jg 0x140012e0f
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + 8]
call fcn.14004aba0
mov rcx, rax
test rax, rax
je 0x140013f67
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x30], rax
call fcn.14004aba0
mov rcx, rax
test rax, rax
je 0x140013f72
mov rax, qword [rax]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rbp - 0x40], rdi
test r13b, r13b
je 0x140012f20
mov dword [rsp + 0x38], 0x3d6d26
call fcn.14004aba0
mov rcx, rax
test rax, rax
je 0x140013f7d
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x48], rax
lea rax, [rsp + 0x38]
cmp rax, 0x10000
jae 0x140012e9d
lea rax, [rsp + 0x38]
movzx edx, ax
lea rcx, [rbp + 0x48]
call fcn.14004b9c0
jmp 0x140012ec0
lea rcx, [rsp + 0x38]
mov rax, r14
inc rax
cmp byte [rcx + rax], 0
jne 0x140012ea5
mov r8d, eax
lea rdx, [rsp + 0x38]
lea rcx, [rbp + 0x48]
call fcn.14004b580
nop
mov rdx, qword [rbp + 0x48]
lea rbx, [rdx - 0x18]
lea rsi, [rdi - 0x18]
cmp rbx, rsi
je 0x140012f1b
cmp dword [rsi + 0x10], 0
jl 0x140012f0d
mov rax, qword [rsi]
cmp qword [rbx], rax
jne 0x140012f0d
mov rcx, rbx
call fcn.14001eef0
mov r15, rax
mov ecx, r14d
lock xadd dword [rsi + 0x10], ecx
sub ecx, 1
jg 0x140012f03
mov rcx, qword [rsi]
mov rdi, qword [rcx]
mov rdx, rsi
call qword [rdi + 8]
lea rax, [r15 + 0x18]
mov qword [rbp - 0x40], rax
jmp 0x140012f1b
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x40]
call fcn.14004b580
nop
jmp 0x140012fe6
mov dword [rsp + 0x3c], 0x3d7026
call fcn.14004aba0
mov rcx, rax
test rax, rax
je 0x140013f88
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x28], rax
lea rax, [rsp + 0x3c]
cmp rax, 0x10000
jae 0x140012f67
lea rax, [rsp + 0x3c]
movzx edx, ax
lea rcx, [rbp + 0x28]
call fcn.14004b9c0
jmp 0x140012f8b
lea rcx, [rsp + 0x3c]
mov rax, r14
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x140012f70
mov r8d, eax
lea rdx, [rsp + 0x3c]
lea rcx, [rbp + 0x28]
call fcn.14004b580
nop
mov rdx, qword [rbp + 0x28]
lea rbx, [rdx - 0x18]
lea rsi, [rdi - 0x18]
cmp rbx, rsi
je 0x140012fe6
cmp dword [rsi + 0x10], 0
jl 0x140012fd8
mov rax, qword [rsi]
cmp qword [rbx], rax
jne 0x140012fd8
mov rcx, rbx
call fcn.14001eef0
mov r15, rax
mov ecx, r14d
lock xadd dword [rsi + 0x10], ecx
sub ecx, 1
jg 0x140012fce
mov rcx, qword [rsi]
mov rdi, qword [rcx]
mov rdx, rsi
call qword [rdi + 8]
lea rax, [r15 + 0x18]
mov qword [rbp - 0x40], rax
jmp 0x140012fe6
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x40]
call fcn.14004b580
nop
mov eax, r14d
lock xadd dword [rbx + 0x10], eax
sub eax, 1
jg 0x140012fff
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + 8]
call fcn.14004aba0
mov rcx, rax
test rax, rax
je 0x140013f93
mov rax, qword [rax]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rbp - 0x48], rdi
test r13b, r13b
je 0x14001310b
mov dword [rsp + 0x53], 0x78652632
mov word [rsp + 0x51], 0x3d70
mov byte [rsp + 0x50], 0x26
mov word [rsp + 0x57], 0x3d
call fcn.14004aba0
mov rcx, rax
test rax, rax
je 0x140013f9e
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x30], rax
lea rax, [rsp + 0x50]
cmp rax, 0x10000
jae 0x140013081
lea rax, [rsp + 0x50]
movzx edx, ax
lea rcx, [rbp + 0x30]
call fcn.14004b9c0
jmp 0x1400130ab
lea rcx, [rsp + 0x50]
mov rax, r14
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x140013090
mov r8d, eax
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x30]
call fcn.14004b580
nop
mov rdx, qword [rbp + 0x30]
lea rbx, [rdx - 0x18]
lea rsi, [rdi - 0x18]
cmp rbx, rsi
je 0x140013106
cmp dword [rsi + 0x10], 0
jl 0x1400130f8
mov rax, qword [rsi]
cmp qword [rbx], rax
jne 0x1400130f8
mov rcx, rbx
call fcn.14001eef0
mov r15, rax
mov ecx, r14d
lock xadd dword [rsi + 0x10], ecx
sub ecx, 1
jg 0x1400130ee
mov rcx, qword [rsi]
mov rdi, qword [rcx]
mov rdx, rsi
call qword [rdi + 8]
lea rax, [r15 + 0x18]
mov qword [rbp - 0x48], rax
jmp 0x140013106
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x48]
call fcn.14004b580
nop
jmp 0x1400131e6
mov dword [rsp + 0x4a], 0x6526323d
mov word [rsp + 0x48], 0x7826
mov word [rsp + 0x4e], 0x3d
call fcn.14004aba0
mov rcx, rax
test rax, rax
je 0x140013fa9
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x38], rax
lea rax, [rsp + 0x48]
cmp rax, 0x10000
jae 0x140013160
lea rax, [rsp + 0x48]
movzx edx, ax
lea rcx, [rbp + 0x38]
call fcn.14004b9c0
jmp 0x14001318b
lea rcx, [rsp + 0x48]
mov rax, r14
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x140013170
mov r8d, eax
lea rdx, [rsp + 0x48]
lea rcx, [rbp + 0x38]
call fcn.14004b580
nop
mov rdx, qword [rbp + 0x38]
lea rbx, [rdx - 0x18]
lea rsi, [rdi - 0x18]
cmp rbx, rsi
je 0x1400131e6
cmp dword [rsi + 0x10], 0
jl 0x1400131d8
mov rax, qword [rsi]
cmp qword [rbx], rax
jne 0x1400131d8
mov rcx, rbx
call fcn.14001eef0
mov r15, rax
mov ecx, r14d
lock xadd dword [rsi + 0x10], ecx
sub ecx, 1
jg 0x1400131ce
mov rcx, qword [rsi]
mov rdi, qword [rcx]
mov rdx, rsi
call qword [rdi + 8]
lea rax, [r15 + 0x18]
mov qword [rbp - 0x48], rax
jmp 0x1400131e6
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x48]
call fcn.14004b580
nop
mov eax, r14d
lock xadd dword [rbx + 0x10], eax
sub eax, 1
jg 0x140013200
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + 8]
nop
mov rbx, qword [rbp - 0x38]
lea rax, [rbx - 0x18]
mov qword [rbp + 0xd0], rax
mov rcx, qword [rbx - 0x18]
test rcx, rcx
je 0x140013226
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
test rax, rax
jne 0x140013240
call fcn.14004aba0
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rax, rax
je 0x140013fb4
mov rax, qword [rcx]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rbp + 0x78], rdi
mov dword [rsp + 0x34], 1
mov rsi, qword [rbp]
mov eax, dword [rsi - 0x10]
mov dword [rsp + 0x40], eax
movsxd r13, dword [rbx - 0x10]
lea r15d, [rax + r13]
test r15d, r15d
js 0x140013f30
mov ecx, 1
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, r15d
or eax, ecx
jge 0x140013294
mov edx, r15d
lea rcx, [rbp + 0x78]
call fcn.14004b070
mov rdi, qword [rbp + 0x78]
test r13, r13
je 0x1400132be
test rdi, rdi
jne 0x1400132b0
call fcn.1401103c8
mov dword [rax], 0x16
call fcn.14011021c
jmp 0x1400132be
mov r8, r13
mov rdx, rbx
mov rcx, rdi
call fcn.140101b40
lea rcx, [rdi + r13]
movsxd r8, dword [rsp + 0x40]
test r8, r8
je 0x1400132eb
test rcx, rcx
jne 0x1400132e3
call fcn.1401103c8
mov dword [rax], 0x16
call fcn.14011021c
jmp 0x1400132eb
mov rdx, rsi
call fcn.140101b40
cmp r15d, dword [rdi - 0xc]
jg 0x140013f30
mov dword [rdi - 0x10], r15d
movsxd rax, r15d
mov byte [rax + rdi], 0
lea rax, [rdi - 0x18]
mov qword [rbp + 0x40], rax
mov rcx, qword [rdi - 0x18]
test rcx, rcx
je 0x14001331f
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
test rax, rax
jne 0x140013339
call fcn.14004aba0
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rax, rax
je 0x140013fbf
mov rax, qword [rcx]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp + 0x80], rbx
mov dword [rsp + 0x34], 3
mov rsi, qword [rbp - 0x40]
mov eax, dword [rsi - 0x10]
mov dword [rsp + 0x40], eax
movsxd r13, dword [rdi - 0x10]
lea r15d, [rax + r13]
test r15d, r15d
js 0x140013f25
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, r15d
or eax, ecx
jge 0x140013396
mov edx, r15d
lea rcx, [rbp + 0x80]
call fcn.14004b070
mov rbx, qword [rbp + 0x80]
test r13, r13
je 0x1400133c0
test rbx, rbx
jne 0x1400133b2
call fcn.1401103c8
mov dword [rax], 0x16
call fcn.14011021c
jmp 0x1400133c0
mov r8, r13
mov rdx, rdi
mov rcx, rbx
call fcn.140101b40
lea rcx, [rbx + r13]
movsxd r8, dword [rsp + 0x40]
test r8, r8
je 0x1400133ed
test rcx, rcx
jne 0x1400133e5
call fcn.1401103c8
mov dword [rax], 0x16
call fcn.14011021c
jmp 0x1400133ed
mov rdx, rsi
call fcn.140101b40
cmp r15d, dword [rbx - 0xc]
jg 0x140013f25
mov dword [rbx - 0x10], r15d
movsxd rax, r15d
mov byte [rax + rbx], 0
lea rax, [rbx - 0x18]
mov qword [rbp + 0x70], rax
mov rcx, qword [rbx - 0x18]
test rcx, rcx
je 0x140013421
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
test rax, rax
jne 0x14001343b
call fcn.14004aba0
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rax, rax
je 0x140013fca
mov rax, qword [rcx]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rbp + 0x88], rdi
mov dword [rsp + 0x34], 7
lea rax, str.2bd89a7e030e4e26a2b6d27a0ecf265d
mov rsi, r14
nop
inc rsi
cmp byte [rax + rsi], 0
jne 0x140013460
movsxd r13, dword [rbx - 0x10]
lea r15d, [rsi + r13]
test r15d, r15d
js 0x140014044
mov ecx, 1
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, r15d
or eax, ecx
jge 0x1400134a2
mov edx, r15d
lea rcx, [rbp + 0x88]
call fcn.14004b070
mov rdi, qword [rbp + 0x88]
test r13, r13
je 0x1400134cc
test rdi, rdi
jne 0x1400134be
call fcn.1401103c8
mov dword [rax], 0x16
call fcn.14011021c
jmp 0x1400134cc
mov r8, r13
mov rdx, rbx
mov rcx, rdi
call fcn.140101b40
lea rcx, [rdi + r13]
movsxd r8, esi
test esi, esi
je 0x1400134fa
test rcx, rcx
jne 0x1400134ee
call fcn.1401103c8
mov dword [rax], 0x16
call fcn.14011021c
jmp 0x1400134fa
lea rdx, str.2bd89a7e030e4e26a2b6d27a0ecf265d
call fcn.140101b40
cmp r15d, dword [rdi - 0xc]
jg 0x140014044
mov dword [rdi - 0x10], r15d
movsxd rax, r15d
mov byte [rax + rdi], 0
lea rax, [rdi - 0x18]
mov qword [rbp + 0xc0], rax
mov rcx, qword [rdi - 0x18]
test rcx, rcx
je 0x140013531
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
test rax, rax
jne 0x14001354b
call fcn.14004aba0
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rax, rax
je 0x140013fd5
mov rax, qword [rcx]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp + 0x90], rbx
mov dword [rsp + 0x34], 0xf
mov rsi, qword [rbp - 0x48]
mov eax, dword [rsi - 0x10]
mov dword [rsp + 0x40], eax
movsxd r13, dword [rdi - 0x10]
lea r15d, [rax + r13]
test r15d, r15d
js 0x140014039
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, r15d
or eax, ecx
jge 0x1400135a8
mov edx, r15d
lea rcx, [rbp + 0x90]
call fcn.14004b070
mov rbx, qword [rbp + 0x90]
test r13, r13
je 0x1400135d2
test rbx, rbx
jne 0x1400135c4
call fcn.1401103c8
mov dword [rax], 0x16
call fcn.14011021c
jmp 0x1400135d2
mov r8, r13
mov rdx, rdi
mov rcx, rbx
call fcn.140101b40
lea rcx, [rbx + r13]
movsxd r8, dword [rsp + 0x40]
test r8, r8
je 0x1400135ff
test rcx, rcx
jne 0x1400135f7
call fcn.1401103c8
mov dword [rax], 0x16
call fcn.14011021c
jmp 0x1400135ff
mov rdx, rsi
call fcn.140101b40
cmp r15d, dword [rbx - 0xc]
jg 0x140014039
mov dword [rbx - 0x10], r15d
movsxd rax, r15d
mov byte [rax + rbx], 0
lea rax, [0x14016ef00]
lea r13, [0x14016ef2c]
cmp byte [rbp + 0x258], 0
cmovne r13, rax
lea rax, [rbx - 0x18]
mov qword [rbp + 0xd8], rax
mov rcx, qword [rbx - 0x18]
test rcx, rcx
je 0x14001364f
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
test rax, rax
jne 0x140013669
call fcn.14004aba0
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rax, rax
je 0x140013fe0
mov rax, qword [rcx]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rbp + 0x98], rdi
mov dword [rsp + 0x34], 0x1f
mov rsi, r14
inc rsi
cmp byte [rsi + r13], 0
jne 0x140013685
mov eax, dword [rbx - 0x10]
mov dword [rsp + 0x40], eax
lea r15d, [rsi + rax]
test r15d, r15d
js 0x14001402e
mov ecx, 1
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, r15d
or eax, ecx
jge 0x1400136cb
mov edx, r15d
lea rcx, [rbp + 0x98]
call fcn.14004b070
mov rdi, qword [rbp + 0x98]
movsxd rax, dword [rsp + 0x40]
mov qword [rsp + 0x40], rax
test rax, rax
je 0x140013704
test rdi, rdi
jne 0x1400136f1
call fcn.1401103c8
mov dword [rax], 0x16
call fcn.14011021c
jmp 0x1400136ff
mov r8, rax
mov rdx, rbx
mov rcx, rdi
call fcn.140101b40
mov rax, qword [rsp + 0x40]
lea rcx, [rax + rdi]
movsxd r8, esi
test esi, esi
je 0x14001372e
test rcx, rcx
jne 0x140013726
call fcn.1401103c8
mov dword [rax], 0x16
call fcn.14011021c
jmp 0x14001372e
mov rdx, r13
call fcn.140101b40
cmp r15d, dword [rdi - 0xc]
jg 0x14001402e
mov dword [rdi - 0x10], r15d
movsxd rax, r15d
mov byte [rax + rdi], 0
lea rbx, [rdi - 0x18]
mov rsi, qword [rbp - 0x30]
add rsi, 0xffffffffffffffe8
cmp rbx, rsi
je 0x1400137a0
cmp dword [rsi + 0x10], 0
jl 0x140013790
mov rax, qword [rsi]
cmp qword [rbx], rax
jne 0x140013790
mov rcx, rbx
call fcn.14001eef0
mov r15, rax
mov ecx, r14d
lock xadd dword [rsi + 0x10], ecx
sub ecx, 1
jg 0x140013786
mov rcx, qword [rsi]
mov rdi, qword [rcx]
mov rdx, rsi
call qword [rdi + 8]
lea rax, [r15 + 0x18]
mov qword [rbp - 0x30], rax
jmp 0x1400137a0
mov r8d, dword [rdi - 0x10]
mov rdx, rdi
lea rcx, [rbp - 0x30]
call fcn.14004b580
mov dword [rsp + 0x34], 0xf
mov eax, r14d
lock xadd dword [rbx + 0x10], eax
sub eax, 1
jg 0x1400137c1
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + 8]
mov dword [rsp + 0x34], 7
mov eax, r14d
mov rdx, qword [rbp + 0xd8]
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400137e6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov dword [rsp + 0x34], 3
mov eax, r14d
mov rdx, qword [rbp + 0xc0]
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001380b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov dword [rsp + 0x34], 1
mov eax, r14d
mov rdx, qword [rbp + 0x70]
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001382e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov eax, r14d
mov rdx, qword [rbp + 0x40]
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140013848
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
call fcn.14004aba0
mov rcx, rax
test rax, rax
je 0x140013feb
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0xa0], rax
mov word [rbp - 0x5b], 0x2f3a
mov dword [rbp - 0x58], 0x73257325
mov dword [rbp - 0x60], 0x70747468
mov byte [rbp - 0x5c], 0x73
mov byte [rbp - 0x54], 0
mov byte [rbp - 0x59], 0x2f
movzx ebx, byte [rbp + 0x268]
movzx edx, bl
lea rcx, [rbp + 0xc8]
call fcn.14004ace0
nop
mov r9, qword [rbp - 0x30]
mov r8, qword [rax]
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0xa0]
call fcn.14004a950
nop
mov rdx, qword [rbp + 0xc8]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400138da
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xa8], xmm0
mov word [rbp + 0xb8], ax
lea rcx, [rbp + 0xa8]
call fcn.1400296a0
xor ecx, ecx
mov qword [rbp + 0x50], rcx
mov qword [rbp + 0x60], rcx
mov qword [rbp + 0x68], 0xf
mov byte [rbp + 0x50], cl
mov r8, r14
inc r8
cmp byte [rax + r8], cl
jne 0x140013911
mov rdx, rax
lea rcx, [rbp + 0x50]
call fcn.1400040f0
nop
lea rdi, [rbp + 0xa8]
xor eax, eax
mov ecx, 6
rep stosb byte [rdi], al
lea rdi, [rbp + 0xae]
mov ecx, 0xc
rep stosb byte [rdi], al
xor edi, edi
mov esi, edi
mov r15, qword [rbp + 0xa0]
mov r13, qword [rbp + 0x288]
nop word [rax + rax]
xor edx, edx
mov r8d, 0x104
lea rcx, [rbp + 0x100]
call fcn.1401021f0
mov edx, 0x104
lea rcx, [rbp + 0x100]
call fcn.140006d10
lea rcx, [rsp + 0x30]
call fcn.14004cfa0
nop
mov qword [rbp + 0xe0], rdi
mov qword [rbp + 0xf0], rdi
mov qword [rbp + 0xf8], 0xf
mov byte [rbp + 0xe0], 0
lea rcx, [r15 - 0x18]
call fcn.14001eef0
add rax, 0x18
mov qword [rbp - 8], rax
mov dword [rbp - 0x6b], 0x64253d
mov dword [rbp - 0x70], 0x6d697426
mov byte [rbp - 0x6c], 0x65
call fcn.14004f880
mov r8d, eax
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 8]
call fcn.14001ece0
mov dword [rbp - 0x74], edi
lea r8, [rbp - 0x74]
mov rdi, qword [rbp - 8]
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.14004d1c0
test al, al
jne 0x140013a13
mov ecx, 0x1f4
call fcn.140051da0
jmp 0x140013d40
xor eax, eax
mov qword [rbp + 8], rax
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x20], 0xf
mov byte [rbp + 8], al
cmp dword [rbp - 0x74], 0x40000
jge 0x140013cd5
lea r8, [rbp + 8]
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.14004cfc0
test al, al
je 0x140013cd5
cmp qword [rbp + 0x18], 0xa
jae 0x140013cd5
lea rdi, [rbp + 8]
cmp qword [rbp + 0x20], 0x10
cmovae rdi, qword [rbp + 8]
call fcn.14004aba0
mov rcx, rax
test rax, rax
je 0x140014017
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x28], rax
test rdi, rdi
je 0x140013ab0
cmp rdi, 0x10000
jae 0x140013aa2
movzx edx, di
lea rcx, [rbp - 0x28]
call fcn.14004b9c0
jmp 0x140013ac2
mov rax, r14
inc rax
cmp byte [rdi + rax], 0
jne 0x140013aa5
jmp 0x140013ab2
xor eax, eax
mov r8d, eax
mov rdx, rdi
lea rcx, [rbp - 0x28]
call fcn.14004b580
nop
lea rcx, [rbp - 0x28]
call fcn.14004b6f0
mov word [rsp + 0x60], 0x3031
mov byte [rsp + 0x62], 0
mov rdi, qword [rbp - 0x28]
cmp dword [rdi - 0x10], 0
jl 0x140013b99
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.140129ef8
test rax, rax
je 0x140013b99
cmp eax, edi
js 0x140013b99
lea rax, [rbp - 0x20]
mov qword [rbp + 0x40], rax
call fcn.14004aba0
mov rcx, rax
test rax, rax
je 0x140013ff6
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x20], rax
test r12, r12
je 0x140013b5c
cmp r12, 0x10000
jae 0x140013b47
movzx edx, r12w
lea rcx, [rbp - 0x20]
call fcn.14004b9c0
jmp 0x140013b6e
mov rax, r14
nop word [rax + rax]
inc rax
cmp byte [r12 + rax], 0
jne 0x140013b50
jmp 0x140013b5e
xor eax, eax
mov r8d, eax
mov rdx, r12
lea rcx, [rbp - 0x20]
call fcn.14004b580
nop
mov qword [rsp + 0x28], r13
mov rax, qword [rbp + 0x280]
mov qword [rsp + 0x20], rax
mov r9, qword [rbp + 0x278]
mov r8, qword [rbp + 0x270]
movzx edx, bl
lea rcx, [rbp - 0x20]
call fcn.14000ed00
mov dword [rbp - 0x78], 0x303131
cmp dword [rdi - 0x10], 0
jl 0x140013cb7
lea rdx, [rbp - 0x78]
mov rcx, rdi
call fcn.140129ef8
test rax, rax
je 0x140013cb7
cmp eax, edi
jne 0x140013cb7
lea rax, [rbp - 0x18]
mov qword [rbp + 0x40], rax
lea rax, [rbp - 0x10]
mov qword [rbp + 0x70], rax
lea rbx, [rbp + 0x50]
cmp qword [rbp + 0x68], 0x10
cmovae rbx, qword [rbp + 0x50]
call fcn.14004aba0
mov rcx, rax
test rax, rax
je 0x14001400c
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x18], rax
test rbx, rbx
je 0x140013c2e
cmp rbx, 0x10000
jae 0x140013c20
movzx edx, bx
lea rcx, [rbp - 0x18]
call fcn.14004b9c0
jmp 0x140013c40
mov rax, r14
inc rax
cmp byte [rbx + rax], 0
jne 0x140013c23
jmp 0x140013c30
xor eax, eax
mov r8d, eax
mov rdx, rbx
lea rcx, [rbp - 0x18]
call fcn.14004b580
nop
call fcn.14004aba0
mov rcx, rax
test rax, rax
je 0x140014001
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x10], rax
test r12, r12
je 0x140013c8c
cmp r12, 0x10000
jae 0x140013c7c
movzx edx, r12w
lea rcx, [rbp - 0x10]
call fcn.14004b9c0
jmp 0x140013c9e
mov rax, r14
nop
inc rax
cmp byte [r12 + rax], 0
jne 0x140013c80
jmp 0x140013c8e
xor eax, eax
mov r8d, eax
mov rdx, r12
lea rcx, [rbp - 0x10]
call fcn.14004b580
nop
lea rdx, [rbp - 0x18]
lea rcx, [rbp - 0x10]
call fcn.140007bc0
call fcn.1400106e0
movzx ebx, byte [rbp + 0x268]
lea rdx, [rdi - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140013cd1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdi, qword [rbp - 8]
mov eax, dword [rbp - 0x74]
add eax, 0xfffffff0
cmp eax, 0x3fff0
ja 0x140013d77
mov ecx, 0x1f4
call fcn.140051da0
nop
mov rdx, qword [rbp + 0x20]
cmp rdx, 0x10
jb 0x140013d2c
inc rdx
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013d27
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140014022
call fcn.1400ff058
mov qword [rbp + 0x18], 0
mov qword [rbp + 0x20], 0xf
mov byte [rbp + 8], 0
lea rdx, [rdi - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140013d5b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rcx, [rsp + 0x30]
call fcn.14004cfb0
inc esi
cmp esi, 5
jge 0x140013e01
xor edi, edi
jmp 0x140013960
mov rax, qword [rbp + 0x260]
mov byte [rax], 1
cmp dword [rbp - 0x74], 0x40000
setg bl
mov rdx, qword [rbp + 0x20]
cmp rdx, 0x10
jb 0x140013dc6
inc rdx
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013dc1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140014022
call fcn.1400ff058
mov qword [rbp + 0x18], 0
mov qword [rbp + 0x20], 0xf
mov byte [rbp + 8], 0
lea rdx, [rdi - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140013df5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rcx, [rsp + 0x30]
call fcn.14004cfb0
jmp 0x140013e03
xor bl, bl
mov rdx, qword [rbp + 0x68]
cmp rdx, 0x10
jb 0x140013e3e
inc rdx
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013e39
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140014028
call fcn.1400ff058
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x68], 0xf
mov byte [rbp + 0x50], 0
mov eax, r14d
lock xadd dword [r15 - 8], eax
sub eax, 1
jg 0x140013e6f
mov rcx, qword [r15 - 0x18]
mov rax, qword [rcx]
lea rdx, [r15 - 0x18]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140013e8e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140013ead
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140013ecc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov eax, r14d
mov rdx, qword [rbp + 0xd0]
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140013eea
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r14d
sub r14d, 1
jg 0x140013f07
mov rcx, qword [rdx]
mov rdi, qword [rcx]
call qword [rdi + 8]
movzx eax, bl
mov rbx, qword [rsp + 0x350]
add rsp, 0x310
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, 0x80070057
call fcn.14001eeb0
nop
mov ecx, 0x80070057
call fcn.14001eeb0
nop
mov ecx, 0x80004005
call fcn.14001eeb0
nop
mov ecx, 0x80004005
call fcn.14001eeb0
nop
mov ecx, 0x80004005
call fcn.14001eeb0
int3
mov ecx, 0x80004005
call fcn.14001eeb0
int3
mov ecx, 0x80004005
call fcn.14001eeb0
nop
mov ecx, 0x80004005
call fcn.14001eeb0
nop
mov ecx, 0x80004005
call fcn.14001eeb0
int3
mov ecx, 0x80004005
call fcn.14001eeb0
int3
mov ecx, 0x80004005
call fcn.14001eeb0
nop
mov ecx, 0x80004005
call fcn.14001eeb0
int3
mov ecx, 0x80004005
call fcn.14001eeb0
nop
mov ecx, 0x80004005
call fcn.14001eeb0
nop
mov ecx, 0x80004005
call fcn.14001eeb0
nop
mov ecx, 0x80004005
call fcn.14001eeb0
nop
mov ecx, 0x80004005
call fcn.14001eeb0
nop
mov ecx, 0x80004005
call fcn.14001eeb0
nop
mov ecx, 0x80004005
call fcn.14001eeb0
nop
mov ecx, 0x80004005
call fcn.14001eeb0
nop
mov ecx, 0x80004005
call fcn.14001eeb0
nop
mov ecx, 0x80004005
call fcn.14001eeb0
nop
mov ecx, 0x80004005
call fcn.14001eeb0
nop
call fcn.14011023c
nop
call fcn.14011023c
nop
mov ecx, 0x80070057
call fcn.14001eeb0
nop
mov ecx, 0x80070057
call fcn.14001eeb0
nop
mov ecx, 0x80070057
call fcn.14001eeb0
int3