Function at 0x140034070
Capabilities:
Query or enumerate registry value

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x9c8]
sub rsp, 0xaa0
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x1400d5bd0]
xor rax, rsp
mov qword [rbp + 0x980], rax
xor esi, esi
mov dword [rsp + 0x30], esi
movabs rax, 0xd46ae0f8b22d3ad6
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
mov qword [rbp - 0x20], rax
movabs rbx, 0xa36e12c022419866
mov qword [rsp + 0x38], rbx
mov rax, qword [rsp + 0x38]
mov qword [rbp - 0x18], rax
movabs rdi, 0xd46ae095d3484e85
mov qword [rsp + 0x38], rdi
mov rax, qword [rsp + 0x38]
mov qword [rbp + 0x550], rax
mov qword [rsp + 0x38], rbx
mov rax, qword [rsp + 0x38]
mov qword [rbp + 0x558], rax
movdqa xmm0, xmmword [rbp - 0x20]
xorps xmm0, xmmword [rbp + 0x550]
movdqa xmmword [rbp - 0x20], xmm0
xorps xmm0, xmm0
movups xmmword [rbp + 0x4a0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x4b0], xmm1
lea rax, [rbp - 0x20]
mov r12, 0xffffffffffffffff
mov r8, r12
inc r8
cmp byte [rax + r8], sil
jne 0x140034141
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x4a0]
call fcn.14002ea20
nop
movabs rax, 0x9138a1c2870e01d6
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
mov qword [rbp + 0x10], rax
movabs rax, 0xf03277b64e20ce3a
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
mov qword [rbp + 0x18], rax
movabs rax, 0x50599b3b7aa95403
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
mov qword [rbp + 0x20], rax
movabs rcx, 0x39ba9cde0b282c68
mov qword [rsp + 0x38], rcx
mov rax, qword [rsp + 0x38]
mov qword [rbp + 0x28], rax
mov qword [rsp + 0x38], rdi
mov rax, qword [rsp + 0x38]
mov qword [rbp + 0x530], rax
mov qword [rsp + 0x38], rbx
mov rax, qword [rsp + 0x38]
mov qword [rbp + 0x538], rax
movabs rax, 0x50599b3b17c83177
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
mov qword [rbp + 0x540], rax
mov qword [rsp + 0x38], rcx
mov rax, qword [rsp + 0x38]
mov qword [rbp + 0x548], rax
movdqa xmm0, xmmword [rbp + 0x10]
xorps xmm0, xmmword [rbp + 0x530]
movdqa xmmword [rbp + 0x10], xmm0
movdqa xmm1, xmmword [rbp + 0x20]
xorps xmm1, xmmword [rbp + 0x540]
movdqa xmmword [rbp + 0x20], xmm1
xorps xmm0, xmm0
movups xmmword [rbp + 0x450], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x460], xmm1
lea rax, [rbp + 0x10]
mov r8, r12
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140034250
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0x450]
call fcn.14002ea20
nop
movabs rax, 0xa00bb0f8b22d3ad6
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
mov qword [rbp - 0x30], rax
movabs rax, 0xa36e12c02241980e
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
mov qword [rbp - 0x28], rax
mov qword [rsp + 0x38], rdi
mov rax, qword [rsp + 0x38]
mov qword [rbp + 0x560], rax
mov qword [rsp + 0x38], rbx
mov rax, qword [rsp + 0x38]
mov qword [rbp + 0x568], rax
movdqa xmm0, xmmword [rbp - 0x30]
xorps xmm0, xmmword [rbp + 0x560]
movdqa xmmword [rbp - 0x30], xmm0
xorps xmm0, xmm0
movups xmmword [rbp + 0x430], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x440], xmm1
lea rax, [rbp - 0x30]
mov r8, r12
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1400342f0
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x430]
call fcn.14002ea20
nop
mov qword [rbp + 0x350], rsi
mov dword [rbp + 0x348], 0x400
mov dword [rbp + 0x380], 0xf003f
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x50], xmm1
movdqa xmm0, xmmword [0x1400c1a00]
movdqu xmmword [rbp - 0x50], xmm0
mov byte [rbp - 0x60], 0
mov dword [rsp + 0x30], 0x200
lea rdx, [rbp + 0x450]
cmp qword [rbp + 0x468], 0x10
cmovae rdx, qword [rbp + 0x450]
lea rax, [rbp + 0x350]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x14003446a
lea rdx, [rbp + 0x430]
cmp qword [rbp + 0x448], 0x10
cmovae rdx, qword [rbp + 0x430]
lea rax, [rbp + 0x348]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x580]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x380]
xor r8d, r8d
mov rcx, qword [rbp + 0x350]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x14003446a
mov r8d, dword [rbp + 0x348]
dec r8d
xorps xmm0, xmm0
movups xmmword [rbp + 0x78], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x88], xmm1
lea rdx, [rbp + 0x580]
lea rcx, [rbp + 0x78]
call fcn.14002ea20
nop
lea rdx, [rbp + 0x78]
lea rcx, [rbp - 0x60]
call fcn.1400410a0
nop
mov rdx, qword [rbp + 0x90]
cmp rdx, 0x10
jb 0x140034456
inc rdx
mov rcx, qword [rbp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140034451
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003569a
call fcn.1400982f0
movdqa xmm0, xmmword [0x1400c1a00]
movdqu xmmword [rbp + 0x88], xmm0
mov byte [rbp + 0x78], 0
mov rcx, qword [rbp + 0x350]
test rcx, rcx
je 0x14003447c
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rax, [rbp + 0x3e0]
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x60]
cmp qword [rbp - 0x48], 0x10
cmovae rax, qword [rbp - 0x60]
mov qword [rbp + 0x100], rax
mov rax, qword [rbp - 0x50]
mov qword [rbp + 0x108], rax
lea rdx, [rbp + 0x100]
lea rcx, [rbp + 0x3e0]
call fcn.1400421e0
mov eax, 0x300
mov dword [rsp + 0x30], eax
btr eax, 8
mov dword [rsp + 0x30], eax
btr eax, 9
mov dword [rsp + 0x30], eax
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x14003450f
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003450a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400356a0
call fcn.1400982f0
movdqa xmm0, xmmword [0x1400c1a00]
movdqu xmmword [rbp - 0x50], xmm0
mov byte [rbp - 0x60], 0
lea r14, [0x1400d5ca0]
cmp qword [rbp + 0x3f0], 0
jne 0x140034594
lea rdx, [rbp + 0x3e0]
lea rcx, [rbp + 0x280]
call fcn.14002d3f0
movsd xmm0, qword [rax]
movsd qword [rsp + 0x50], xmm0
mov ecx, dword [rax + 8]
mov dword [rbp + 0x3b0], ecx
mov qword [rbp + 0x3b8], r14
movaps xmm0, xmmword [rbp + 0x3b0]
movdqa xmmword [rbp + 0x3b0], xmm0
mov eax, dword [rsp + 0x50]
test eax, eax
je 0x1400347b0
mov dword [rbp + 0x3b0], esi
mov qword [rbp + 0x3b8], r14
cmp eax, 1
setne al
test al, al
je 0x140035421
movabs rax, 0xd46ae095bd2e3df6
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
mov qword [rbp - 0x40], rax
mov qword [rsp + 0x38], rbx
mov rax, qword [rsp + 0x38]
mov qword [rbp - 0x38], rax
mov qword [rsp + 0x38], rdi
mov rax, qword [rsp + 0x38]
mov qword [rbp + 0x570], rax
mov qword [rsp + 0x38], rbx
mov rax, qword [rsp + 0x38]
mov qword [rbp + 0x578], rax
movdqa xmm0, xmmword [rbp - 0x40]
xorps xmm0, xmmword [rbp + 0x570]
movdqa xmmword [rbp - 0x40], xmm0
xorps xmm0, xmm0
movups xmmword [rbp + 0x3c0], xmm0
mov qword [rbp + 0x3d0], rsi
mov qword [rbp + 0x3d8], rsi
lea rax, [rbp - 0x40]
mov r8, r12
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140034610
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x3c0]
call fcn.14002ea20
nop
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x370], xmm0
xor r8d, r8d
lea rdx, [rbp + 0x3e0]
lea rcx, [rbp + 0x370]
call fcn.14003e260
test eax, eax
jne 0x1400356a6
xorps xmm0, xmm0
movups xmmword [rbp + 0x410], xmm0
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x38], rax
movdqa xmmword [rbp + 0xb0], xmm0
mov rcx, qword [rbp + 0x378]
test rcx, rcx
je 0x140034682
lock inc dword [rcx + 8]
movdqa xmm6, xmmword [rbp + 0x370]
movdqa xmmword [rbp + 0xb0], xmm6
lea rdx, [rbp + 0xb0]
lea rcx, [rbp + 0x410]
call fcn.14002d1d0
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x420], xmm0
lea rax, [rbp + 0x30]
mov qword [rsp + 0x38], rax
movdqa xmmword [rbp + 0x30], xmm0
mov rcx, qword [rbp + 0x378]
test rcx, rcx
je 0x1400346d6
lock inc dword [rcx + 8]
movdqa xmm6, xmmword [rbp + 0x370]
movdqa xmmword [rbp + 0x30], xmm6
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0x420]
call fcn.14002d2b0
nop
mov rax, qword [rbp + 0x410]
mov edi, dword [rsp + 0x30]
cmp rax, qword [rbp + 0x420]
je 0x140034c9b
mov r13, qword [rbp + 0x3d0]
nop dword [rax + rax]
lea r15, [rax + 0x20]
lea rdx, [rbp + 0x130]
mov rcx, r15
call fcn.14002c0c0
nop
lea rdx, [rbp + 0x110]
mov rcx, rax
call fcn.14002bf90
mov rdx, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
mov qword [rbp], rsi
mov qword [rbp + 8], rsi
mov r8d, 4
cmp qword [rax + 0x10], r8
cmovb r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x14003475e
mov rdx, qword [rax]
lea rcx, [rbp - 0x10]
call fcn.14002ea20
or edi, 0x10
mov dword [rsp + 0x30], edi
lea rdx, [rbp + 0x3c0]
cmp qword [rbp + 0x3d8], 0x10
cmovae rdx, qword [rbp + 0x3c0]
lea rcx, [rbp - 0x10]
mov rbx, qword [rbp - 0x10]
mov rsi, qword [rbp + 8]
cmp rsi, 0x10
cmovae rcx, rbx
mov r8, qword [rbp]
cmp r8, r13
jne 0x1400347bd
call fcn.14009aef0
test eax, eax
jne 0x1400347bd
mov r14b, 1
jmp 0x1400347c0
test ecx, ecx
jne 0x1400355cc
jmp 0x140035421
xor r14b, r14b
and edi, 0xffffffef
mov dword [rsp + 0x30], edi
cmp rsi, 0x10
jb 0x1400347fe
lea rdx, [rsi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x1400347f6
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400356c2
mov rcx, rbx
call fcn.1400982f0
xor esi, esi
mov qword [rbp], rsi
mov qword [rbp + 8], send
mov byte [rbp - 0x10], sil
mov rdx, qword [rbp + 0x128]
cmp rdx, 0x10
jb 0x140034851
inc rdx
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003484c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400356c8
call fcn.1400982f0
mov qword [rbp + 0x120], rsi
mov qword [rbp + 0x128], send
mov byte [rbp + 0x110], 0
mov rdx, qword [rbp + 0x148]
cmp rdx, 8
jb 0x1400348b0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400348ab
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400356ce
call fcn.1400982f0
mov qword [rbp + 0x140], rsi
mov qword [rbp + 0x148], 7
mov word [rbp + 0x130], si
test r14b, r14b
je 0x140034c74
mov rdx, r15
lea rcx, [rbp + 0x4e0]
call fcn.140062cd0
nop
cmp byte [rbp + 0x500], 0
je 0x140034c68
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x260], xmm0
lea rdx, [rbp + 0x260]
lea rcx, [rbp + 0x398]
call fcn.14003cf90
bts edi, 0xa
mov dword [rsp + 0x30], edi
lea rax, [rsp + 0x40]
mov qword [rsp + 0x38], rax
lea rdx, [rbp + 0x1c0]
mov rcx, r15
call fcn.14002c0c0
nop
lea rdx, [rbp + 0x150]
mov rcx, rax
call fcn.14002bf90
mov rbx, rax
mov byte [rsp + 0x40], 0
xor eax, eax
mov qword [rsp + 0x48], rax
xor edx, edx
lea rcx, [rsp + 0x48]
call fcn.14003c8b0
mov byte [rsp + 0x40], 3
xorps xmm0, xmm0
movups xmmword [rbp + 0x4c0], xmm0
mov ecx, 0x20
call fcn.140098418
lea rcx, [rbp + 0x358]
mov qword [rbp + 0x4c0], rcx
mov qword [rbp + 0x4c8], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rsi
movups xmm0, xmmword [rbx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rax + 0x10], xmm1
mov qword [rbx + 0x10], rsi
mov qword [rbx + 0x18], send
mov byte [rbx], 0
mov qword [rbp + 0x4c8], rsi
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x40]
mov qword [rbp + 0x70], rax
lea rax, [rbp + 0xe0]
mov qword [rbp + 0x50], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0xe0], xmm0
mov qword [rbp + 0xf0], rsi
mov qword [rbp + 0xf8], rsi
mov r8d, 8
lea rdx, str.filename
lea rcx, [rbp + 0xe0]
call fcn.14002ea20
nop
lea rdx, [rbp + 0xe0]
lea rcx, [rbp + 0x398]
call fcn.14003b0f0
nop
movzx edx, byte [rax]
movzx ecx, byte [rsp + 0x40]
mov byte [rax], cl
mov byte [rsp + 0x40], dl
mov rcx, qword [rax + 8]
mov rdx, qword [rsp + 0x48]
mov qword [rax + 8], rdx
mov qword [rsp + 0x48], rcx
movzx edx, byte [rsp + 0x40]
lea rcx, [rsp + 0x48]
call fcn.14003c8b0
nop
mov rdx, qword [rbp + 0x168]
cmp rdx, 0x10
jb 0x140034a89
inc rdx
mov rcx, qword [rbp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140034a84
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400356d4
call fcn.1400982f0
mov qword [rbp + 0x160], rsi
mov qword [rbp + 0x168], send
mov byte [rbp + 0x150], 0
mov rdx, qword [rbp + 0x1d8]
cmp rdx, 8
jb 0x140034ae8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140034ae3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400356da
call fcn.1400982f0
mov qword [rbp + 0x1d0], rsi
mov qword [rbp + 0x1d8], 7
mov word [rbp + 0x1c0], si
lea rax, [rsp + 0x70]
mov qword [rbp + 0x58], rax
cmp byte [rbp + 0x500], 0
je 0x1400356e0
mov byte [rsp + 0x70], 0
xor eax, eax
mov qword [rsp + 0x78], rax
lea rdx, [rbp + 0x4e0]
lea rcx, [rsp + 0x70]
call fcn.140042690
lea rax, [rsp + 0x70]
mov qword [rbp + 0x60], rax
lea rax, [rbp + 0x1e0]
mov qword [rbp + 0x68], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x1e0], xmm0
mov qword [rbp + 0x1f0], rsi
mov qword [rbp + 0x1f8], rsi
mov r8d, 7
lea rdx, str.content
lea rcx, [rbp + 0x1e0]
call fcn.14002ea20
nop
lea rdx, [rbp + 0x1e0]
lea rcx, [rbp + 0x398]
call fcn.14003b0f0
nop
movzx edx, byte [rax]
movzx ecx, byte [rsp + 0x70]
mov byte [rax], cl
mov byte [rsp + 0x70], dl
mov rcx, qword [rax + 8]
mov rdx, qword [rsp + 0x78]
mov qword [rax + 8], rdx
mov qword [rsp + 0x78], rcx
movzx edx, byte [rsp + 0x70]
lea rcx, [rsp + 0x78]
call fcn.14003c8b0
lea rax, [rbp + 0x2e8]
mov qword [rsp + 0x50], rax
lea rdx, [rbp + 0x4a0]
lea rcx, [rbp + 0x2e8]
call fcn.14003c210
nop
mov rdx, rax
lea rcx, [0x1400d5f40]
call fcn.14003b0f0
mov rbx, rax
movzx eax, byte [rax]
test al, al
je 0x140034c00
cmp al, 2
jne 0x1400355e7
jmp 0x140034c16
mov byte [rbx], 2
mov dl, 2
lea rcx, [rbp + 0x40]
call fcn.14003cd40
mov rax, qword [rbp + 0x40]
mov qword [rbx + 8], rax
mov rbx, qword [rbx + 8]
mov rax, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
je 0x140034c3a
lea rdx, [rbp + 0x398]
mov rcx, rax
call fcn.14003d8f0
add qword [rbx + 8], 0x10
jmp 0x140034c4c
lea r8, [rbp + 0x398]
mov rdx, rax
mov rcx, rbx
call fcn.1400419d0
btr edi, 0xa
mov dword [rsp + 0x30], edi
movzx edx, byte [rbp + 0x398]
lea rcx, [rbp + 0x3a0]
call fcn.14003c8b0
nop
lea rcx, [rbp + 0x4e0]
call fcn.14002f920
lea rcx, [rbp + 0x410]
call fcn.14002d0c0
mov rax, qword [rbp + 0x410]
cmp rax, qword [rbp + 0x420]
jne 0x140034710
lea r14, [0x1400d5ca0]
mov rbx, qword [rbp + 0x428]
test rbx, rbx
je 0x140034cd6
mov eax, r12d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140034cd2
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r12d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140034cd2
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + htons]
mov edi, dword [rsp + 0x30]
mov rbx, qword [rbp + 0x418]
test rbx, rbx
je 0x140034d11
mov eax, r12d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140034d0d
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r12d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140034d0d
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + htons]
mov edi, dword [rsp + 0x30]
mov rcx, qword [rbp + 0x378]
test rcx, rcx
je 0x140034d57
mov eax, r12d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140034d53
mov rbx, qword [rbp + 0x378]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r12d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140034d53
mov rcx, qword [rbp + 0x378]
mov rax, qword [rcx]
call qword [rax + htons]
mov edi, dword [rsp + 0x30]
lea rax, [rbp + 0xc0]
mov qword [rsp + 0x50], rax
lea rax, str.config
mov qword [rbp + 0x170], rax
mov qword [rbp + 0x178], 6
lea rdx, [rbp + 0x170]
lea rcx, [rbp + 0xc0]
call fcn.1400421e0
or edi, 8
mov dword [rsp + 0x30], edi
and edi, 0xfffffff7
mov dword [rsp + 0x30], edi
lea r8, [rbp + 0xc0]
lea rdx, [rbp + 0x3e0]
lea rcx, [rbp + 0x480]
call fcn.14002c3c0
nop
mov rdx, qword [rbp + 0xd8]
cmp rdx, 8
jb 0x140034dfe
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140034df9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400356bc
call fcn.1400982f0
movdqa xmm0, xmmword [0x1400c19f0]
movdqu xmmword [rbp + 0xd0], xmm0
mov word [rbp + 0xc0], si
lea rdx, [rbp + 0x480]
lea rcx, [rbp + 0x290]
call fcn.14002d3f0
movsd xmm0, qword [rax]
movsd qword [rsp + 0x50], xmm0
mov ecx, dword [rax + 8]
mov dword [rbp - 0x70], ecx
mov qword [rbp - 0x68], r14
movaps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp + 0x4d0], xmm0
mov eax, dword [rsp + 0x50]
test eax, eax
je 0x1400355b9
cmp eax, 1
setne al
test al, al
je 0x14003536a
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x360], xmm0
xor r8d, r8d
lea rdx, [rbp + 0x480]
lea rcx, [rbp + 0x360]
call fcn.14003e260
test eax, eax
jne 0x1400356e6
xorps xmm0, xmm0
movups xmmword [rbp + 0x400], xmm0
lea rax, [rbp - 0x70]
mov qword [rsp + 0x50], rax
movdqa xmmword [rbp - 0x70], xmm0
mov rcx, qword [rbp + 0x368]
test rcx, rcx
je 0x140034eb7
lock inc dword [rcx + 8]
mov edi, dword [rsp + 0x30]
movdqa xmm6, xmmword [rbp + 0x360]
movdqa xmmword [rbp - 0x70], xmm6
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x400]
call fcn.14002d1d0
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x470], xmm0
lea rax, [rbp + 0xa0]
mov qword [rsp + 0x50], rax
movdqa xmmword [rbp + 0xa0], xmm0
mov rcx, qword [rbp + 0x368]
test rcx, rcx
je 0x140034f0f
lock inc dword [rcx + 8]
movdqa xmm6, xmmword [rbp + 0x360]
mov edi, dword [rsp + 0x30]
movdqa xmmword [rbp + 0xa0], xmm6
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0x470]
call fcn.14002d2b0
nop
mov rax, qword [rbp + 0x400]
cmp rax, qword [rbp + 0x470]
je 0x1400352b8
lea rbx, [rax + 0x20]
mov rdx, rbx
lea rcx, [rbp + 0x2a0]
call fcn.14002d3f0
movsd xmm0, qword [rax]
movsd qword [rbp + 0x240], xmm0
mov edx, dword [rax + 8]
mov ecx, dword [rbp + 0x240]
test edx, edx
je 0x140034f79
lea eax, [rcx - 1]
test eax, 0xfffffff7
jne 0x1400356fc
cmp ecx, 3
je 0x1400352a7
mov rdx, rbx
lea rcx, [rbp + 0x508]
call fcn.140062cd0
nop
cmp byte [rbp + 0x528], 0
je 0x14003529b
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x270], xmm0
lea rdx, [rbp + 0x270]
lea rcx, [rbp + 0x388]
call fcn.14003cf90
or edi, 0x20
mov dword [rsp + 0x30], edi
lea rax, [rbp + 0x250]
mov qword [rsp + 0x50], rax
lea rdx, [rbp + 0x220]
mov rcx, rbx
call fcn.14002c0c0
nop
lea rdx, [rbp + 0x180]
mov rcx, rax
call fcn.14002bf90
nop
mov rdx, rax
lea rcx, [rbp + 0x250]
call fcn.14003e5d0
mov rbx, rax
mov qword [rbp + 0x68], rax
lea rax, [rbp + 0x200]
mov qword [rbp + 0x60], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x200], xmm0
mov qword [rbp + 0x210], rsi
mov qword [rbp + 0x218], rsi
mov r8d, 8
lea rdx, str.filename
lea rcx, [rbp + 0x200]
call fcn.14002ea20
nop
lea rdx, [rbp + 0x200]
lea rcx, [rbp + 0x388]
call fcn.14003b0f0
nop
movzx edx, byte [rax]
movzx ecx, byte [rbx]
mov byte [rax], cl
mov byte [rbx], dl
lea rcx, [rbx + 8]
mov rdx, qword [rax + 8]
mov r8, qword [rcx]
mov qword [rax + 8], r8
mov qword [rcx], rdx
movzx edx, byte [rbx]
call fcn.14003c8b0
nop
mov rdx, qword [rbp + 0x198]
cmp rdx, 0x10
jb 0x1400350bd
inc rdx
mov rcx, qword [rbp + 0x180]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400350b8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003570c
call fcn.1400982f0
mov qword [rbp + 0x190], rsi
mov qword [rbp + 0x198], send
mov byte [rbp + 0x180], 0
mov rdx, qword [rbp + 0x238]
cmp rdx, 8
jb 0x14003511c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x220]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140035117
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140035712
call fcn.1400982f0
mov qword [rbp + 0x230], rsi
mov qword [rbp + 0x238], 7
mov word [rbp + 0x220], si
lea rax, [rsp + 0x60]
mov qword [rbp + 0x58], rax
cmp byte [rbp + 0x528], 0
je 0x140035718
mov byte [rsp + 0x60], 0
xor eax, eax
mov qword [rsp + 0x68], rax
lea rdx, [rbp + 0x508]
lea rcx, [rsp + 0x60]
call fcn.140042690
lea rax, [rsp + 0x60]
mov qword [rbp + 0x50], rax
lea rax, [rbp + 0x1a0]
mov qword [rbp + 0x70], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x1a0], xmm0
mov qword [rbp + 0x1b0], rsi
mov qword [rbp + 0x1b8], rsi
mov r8d, 7
lea rdx, str.content
lea rcx, [rbp + 0x1a0]
call fcn.14002ea20
nop
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x388]
call fcn.14003b0f0
nop
movzx edx, byte [rax]
movzx ecx, byte [rsp + 0x60]
mov byte [rax], cl
mov byte [rsp + 0x60], dl
mov rcx, qword [rax + 8]
mov rdx, qword [rsp + 0x68]
mov qword [rax + 8], rdx
mov qword [rsp + 0x68], rcx
movzx edx, byte [rsp + 0x60]
lea rcx, [rsp + 0x68]
call fcn.14003c8b0
lea rax, [rbp + 0x308]
mov qword [rsp + 0x38], rax
lea rdx, [rbp + 0x4a0]
lea rcx, [rbp + 0x308]
call fcn.14003c210
nop
mov rdx, rax
lea rcx, [0x1400d5f40]
call fcn.14003b0f0
mov rbx, rax
movzx eax, byte [rax]
test al, al
je 0x140035234
cmp al, 2
jne 0x140035633
jmp 0x14003524a
mov byte [rbx], 2
mov dl, 2
lea rcx, [rbp + 0x48]
call fcn.14003cd40
mov rax, qword [rbp + 0x48]
mov qword [rbx + 8], rax
mov rbx, qword [rbx + 8]
mov rax, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
je 0x14003526e
lea rdx, [rbp + 0x388]
mov rcx, rax
call fcn.14003d8f0
add qword [rbx + 8], 0x10
jmp 0x140035280
lea r8, [rbp + 0x388]
mov rdx, rax
mov rcx, rbx
call fcn.1400419d0
and edi, 0xffffffdf
mov dword [rsp + 0x30], edi
movzx edx, byte [rbp + 0x388]
lea rcx, [rbp + 0x390]
call fcn.14003c8b0
nop
lea rcx, [rbp + 0x508]
call fcn.14002f920
lea rcx, [rbp + 0x400]
call fcn.14002d0c0
jmp 0x140034f2b
mov rbx, qword [rbp + 0x478]
test rbx, rbx
je 0x1400352f0
mov eax, r12d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1400352f0
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r12d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1400352f0
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + htons]
nop
mov rbx, qword [rbp + 0x408]
test rbx, rbx
je 0x140035328
mov eax, r12d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140035328
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r12d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140035328
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + htons]
nop
mov rcx, qword [rbp + 0x368]
test rcx, rcx
je 0x14003536a
mov eax, r12d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14003536a
mov rbx, qword [rbp + 0x368]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r12d
cmp r12d, 1
jne 0x14003536a
mov rcx, qword [rbp + 0x368]
mov rax, qword [rcx]
call qword [rax + htons]
nop
mov rdx, qword [rbp + 0x498]
cmp rdx, 8
jb 0x1400353b0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x480]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400353ab
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003571e
call fcn.1400982f0
movdqa xmm0, xmmword [0x1400c19f0]
movdqu xmmword [rbp + 0x490], xmm0
mov word [rbp + 0x480], si
mov rdx, qword [rbp + 0x3d8]
cmp rdx, 0x10
jb 0x140035408
inc rdx
mov rcx, qword [rbp + 0x3c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140035403
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140035724
call fcn.1400982f0
mov qword [rbp + 0x3d0], rsi
mov qword [rbp + 0x3d8], send
mov byte [rbp + 0x3c0], 0
mov rdx, qword [rbp + 0x3f8]
cmp rdx, 8
jb 0x140035467
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x3e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140035462
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003572a
call fcn.1400982f0
mov qword [rbp + 0x3f0], rsi
mov qword [rbp + 0x3f8], 7
mov word [rbp + 0x3e0], si
mov rdx, qword [rbp + 0x448]
cmp rdx, 0x10
jb 0x1400354c1
inc rdx
mov rcx, qword [rbp + 0x430]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400354bc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140035730
call fcn.1400982f0
movdqa xmm0, xmmword [0x1400c1a00]
movdqu xmmword [rbp + 0x440], xmm0
mov byte [rbp + 0x430], 0
mov rdx, qword [rbp + 0x468]
cmp rdx, 0x10
jb 0x140035519
inc rdx
mov rcx, qword [rbp + 0x450]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140035514
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140035736
call fcn.1400982f0
movdqa xmm0, xmmword [0x1400c1a00]
movdqu xmmword [rbp + 0x460], xmm0
mov byte [rbp + 0x450], 0
mov rdx, qword [rbp + 0x4b8]
cmp rdx, 0x10
jb 0x14003556d
inc rdx
mov rcx, qword [rbp + 0x4a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140035568
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400355c6
call fcn.1400982f0
movdqa xmm0, xmmword [0x1400c1a00]
movdqu xmmword [rbp + 0x4b0], xmm0
mov byte [rbp + 0x4a0], 0
mov rcx, qword [rbp + 0x980]
xor rcx, rsp
call fcn.1400982d0
lea r11, [rsp + 0xaa0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
test ecx, ecx
jne 0x14003567f
jmp 0x14003536a
call fcn.14007a428
nop
lea r8, [rbp + 0x3e0]
lea rdx, [rbp + 0x3b0]
lea rcx, str.exists
call fcn.14002cc80
nop
mov rcx, rbx
call fcn.14003cf00
mov qword [rbp - 0x80], rax
lea r8, [rbp - 0x80]
lea rdx, str.cannot_use_push_back___with
lea rcx, [rbp + 0x328]
call fcn.14003f190
nop
mov r8, rax
mov edx, 0x134
lea rcx, [rbp + 0x2b0]
call fcn.14003f260
lea rdx, [0x1400d3468]
lea rcx, [rbp + 0x2b0]
call fcn.14009b318
nop
mov rcx, rbx
call fcn.14003cf00
mov qword [rbp - 0x80], rax
lea r8, [rbp - 0x80]
lea rdx, str.cannot_use_push_back___with
lea rcx, [rbp + 0x328]
call fcn.14003f190
nop
mov r8, rax
mov edx, 0x134
lea rcx, [rbp + 0x2b0]
call fcn.14003f260
lea rdx, [0x1400d3468]
lea rcx, [rbp + 0x2b0]
call fcn.14009b318
nop
lea r8, [rbp + 0x480]
lea rdx, [rbp + 0x4d0]
lea rcx, str.exists
call fcn.14002cc80
nop
call fcn.14007a428
nop
call fcn.14007a428
nop
lea r8, [rbp + 0x3e0]
mov edx, eax
lea rcx, str.directory_iterator::directory_iterator
call fcn.14002cc10
nop
call fcn.14007a428
nop
call fcn.14007a428
nop
call fcn.14007a428
nop
call fcn.14007a428
nop
call fcn.14007a428
nop
call fcn.14007a428
int3
call fcn.14002bb60
nop
lea r8, [rbp + 0x480]
mov edx, eax
lea rcx, str.directory_iterator::directory_iterator
call fcn.14002cc10
nop
mov r8, rbx
lea rcx, str.status
call fcn.14002cc10
nop
call fcn.14007a428
nop
call fcn.14007a428
int3
call fcn.14002bb60
nop
call fcn.14007a428
nop
call fcn.14007a428
nop
call fcn.14007a428
nop
call fcn.14007a428
nop
call fcn.14007a428
int3