Function at 0x1400039b0
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x80]
sub rsp, 0x180
mov rax, qword [0x140034860]
xor rax, rsp
mov qword [rbp + 0x70], rax
mov dword [rsp + 0x54], r9d
mov rbx, r8
mov qword [rsp + 0x68], rdx
mov rdi, rcx
mov qword [rbp - 0x50], rcx
xor r14d, r14d
mov qword [rbp - 0x28], r14
mov qword [rbp - 0x10], r14
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x20], r14
mov dword [rbp + 0x38], r14d
mov dword [rbp + 0x58], r14d
mov dword [rbp + 0x3c], r14d
mov dword [rbp + 0x10], r14d
mov r12d, r14d
mov r15d, r14d
mov qword [rbp + 0x18], r14
mov qword [rbp + 0x28], r14
mov qword [rbp + 0x30], 0xf
mov byte [rbp + 0x18], r14b
xorps xmm0, xmm0
movdqu xmmword [rbp - 8], xmm0
mov qword [rbp + 8], r14
lea ecx, [r14 + 1]
call fcn.14001278c
mov rcx, rax
mov qword [rbp - 8], rax
inc rax
mov qword [rbp + 8], rax
mov byte [rcx], r14b
mov qword [rbp], rax
lea rcx, [0x140036778]
cmp qword [0x140036790], 0x10
cmovae rcx, qword [0x140036778]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rsi, rax
test rax, rax
je 0x140004386
lea rdx, [0x140036838]
cmp qword [0x140036850], 0x10
cmovae rdx, qword [0x140036838]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x60], rax
lea rdx, [0x140036878]
cmp qword [0x140036890], 0x10
cmovae rdx, qword [0x140036878]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x78], rax
lea rdx, [0x1400368d8]
cmp qword [0x1400368f0], 0x10
cmovae rdx, qword [0x1400368d8]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp - 0x80], rax
lea rdx, [0x1400367b8]
cmp qword [0x1400367d0], 0x10
cmovae rdx, qword [0x1400367b8]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp - 0x58], rax
lea rdx, [0x140036738]
cmp qword [0x140036750], 0x10
cmovae rdx, qword [0x140036738]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp - 0x70], rax
lea rdx, [0x1400366b8]
cmp qword [0x1400366d0], 0x10
cmovae rdx, qword [0x1400366b8]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp - 0x78], rax
lea rdx, [0x140036898]
cmp qword [0x1400368b0], 0x10
cmovae rdx, qword [0x140036898]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r13, rax
mov qword [rbp - 0x50], rax
lea rdx, [0x140036858]
cmp qword [0x140036870], 0x10
cmovae rdx, qword [0x140036858]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r14, rax
mov qword [rsp + 0x70], rax
lea rdx, [0x1400367d8]
cmp qword [0x1400367f0], 0x10
cmovae rdx, qword [0x1400367d8]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp - 0x60], rax
lea rdx, [0x1400366d8]
cmp qword [0x1400366f0], 0x10
cmovae rdx, qword [0x1400366d8]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp - 0x68], rax
cmp qword [rsp + 0x60], r15
je 0x140004351
cmp qword [rsp + 0x78], r15
je 0x140004351
cmp qword [rbp - 0x80], r15
je 0x140004351
cmp qword [rbp - 0x58], r15
je 0x140004351
cmp qword [rbp - 0x70], r15
je 0x140004351
cmp qword [rbp - 0x78], r15
je 0x140004351
test r13, r13
je 0x140004351
test r14, r14
je 0x140004351
cmp qword [rbp - 0x60], r15
je 0x140004351
test rax, rax
je 0x140004351
lea rcx, [0x1400366f8]
cmp qword [0x140036710], 0x10
cmovae rcx, qword [0x1400366f8]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rsi, rax
test rax, rax
je 0x140004382
lea rdx, [0x140036818]
cmp qword [0x140036830], 0x10
cmovae rdx, qword [0x140036818]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x58], rax
lea rdx, [0x1400368b8]
cmp qword [0x1400368d0], 0x10
cmovae rdx, qword [0x1400368b8]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r13, rax
lea rdx, [0x140036758]
cmp qword [0x140036770], 0x10
cmovae rdx, qword [0x140036758]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r14, rax
cmp qword [rsp + 0x58], r15
je 0x140004351
test r13, r13
je 0x140004351
test rax, rax
je 0x140004351
xor eax, eax
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x40], xmm1
mov qword [rbp + 0x50], rax
sub rbx, qword [rsp + 0x68]
je 0x140003d8a
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
ja 0x1400043fc
cmp rbx, 0x1000
jb 0x140003d60
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x140004402
call fcn.14001278c
mov rcx, rax
test rax, rax
je 0x14000440e
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140003d68
mov rcx, rbx
call fcn.14001278c
mov qword [rbp + 0x40], rax
lea rsi, [rax + rbx]
mov qword [rbp + 0x50], rsi
mov r8, rbx
mov rdx, qword [rsp + 0x68]
mov rcx, rax
call fcn.140017db0
mov qword [rbp + 0x48], rsi
jmp 0x140003d8e
mov rsi, qword [rbp + 0x48]
sub rsi, qword [rbp + 0x40]
cmp dword [rsp + 0x54], 0
jne 0x140003fc8
lea rcx, [rbp - 0x48]
call fcn.1400033a0
mov rbx, rax
lea rax, [rbp + 0x18]
cmp rax, rbx
je 0x140003e20
mov rdx, qword [rbp + 0x30]
cmp rdx, 0x10
jb 0x140003ded
inc rdx
mov rcx, qword [rbp + 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003de8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004408
call fcn.140012af0
xor eax, eax
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x30], 0xf
mov byte [rbp + 0x18], al
movups xmm0, xmmword [rbx]
movups xmmword [rbp + 0x18], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp + 0x28], xmm1
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], 0xf
mov byte [rbx], al
nop dword [rax + rax]
mov rdx, qword [rbp - 0x30]
cmp rdx, 0x10
jb 0x140003e5b
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003e56
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004408
call fcn.140012af0
mov r10, qword [rbp + 0x18]
mov r11, qword [rbp + 0x30]
cmp qword [rbp + 0x28], 0
jne 0x140003f9c
mov rdx, qword [rbp + 8]
xor ebx, ebx
mov r9d, ebx
mov qword [rbp + 8], rbx
mov rcx, qword [rbp]
mov qword [rbp], rbx
mov rax, qword [rbp - 8]
mov r8d, ebx
mov qword [rbp - 8], rbx
mov qword [rdi], rax
mov qword [rdi + 8], rcx
mov qword [rdi + 0x10], rdx
mov rcx, qword [rbp + 0x40]
test rcx, rcx
je 0x140003eef
mov rdx, qword [rbp + 0x50]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003ece
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000440e
call fcn.140012af0
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x40], xmm0
mov qword [rbp + 0x50], rbx
mov r11, qword [rbp + 0x30]
mov r10, qword [rbp + 0x18]
mov r9, qword [rbp + 8]
mov r8, qword [rbp - 8]
test r8, r8
je 0x140003f3b
sub r9, r8
mov rax, r8
cmp r9, 0x1000
jb 0x140003f1c
add r9, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400043f0
mov rdx, r9
mov rcx, r8
call fcn.140012af0
xorps xmm0, xmm0
movdqu xmmword [rbp - 8], xmm0
mov qword [rbp + 8], rbx
mov r11, qword [rbp + 0x30]
mov r10, qword [rbp + 0x18]
cmp r11, 0x10
jb 0x140003f72
lea rdx, [r11 + 1]
mov rax, r10
cmp rdx, 0x1000
jb 0x140003f6a
add rdx, 0x27
mov r10, qword [r10 - 8]
sub rax, r10
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400043f6
mov rcx, r10
call fcn.140012af0
mov rax, rdi
mov rcx, qword [rbp + 0x70]
xor rcx, rsp
call fcn.1400124d0
mov rbx, qword [rsp + 0x1d8]
add rsp, 0x180
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea r8, [0x140036798]
lea rcx, [rbp + 0x18]
call fcn.140010c60
lea rcx, [rbp + 0x18]
cmp rcx, rax
je 0x140003fef
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x140003fc3
mov rax, qword [rax]
mov rdx, rax
jmp 0x140003fe6
lea rdx, [0x140036798]
cmp qword [0x1400367b0], 0x10
cmovae rdx, qword [0x140036798]
mov r8, qword [0x1400367a8]
lea rcx, [rbp + 0x18]
call fcn.140002290
xor r9d, r9d
xor r8d, r8d
lea rdx, str.SHA256
lea rcx, [rbp - 0x28]
call qword [rsp + 0x60]
test eax, eax
js 0x1400041e9
mov dword [rsp + 0x28], 0
lea rax, [rbp + 0x58]
mov qword [rsp + 0x20], rax
mov r9d, 4
lea r8, [rbp + 0x38]
lea rdx, str.ObjectLength
mov rcx, qword [rbp - 0x28]
call qword [rsp + 0x70]
test eax, eax
js 0x1400041e9
mov ebx, dword [rbp + 0x38]
call r14
mov r8d, ebx
xor edx, edx
mov rcx, rax
call qword [rsp + 0x58]
mov r12, rax
mov dword [rsp + 0x28], 0
lea rax, [rbp + 0x58]
mov qword [rsp + 0x20], rax
mov r9d, 4
lea r8, [rbp + 0x3c]
lea rdx, str.HashDigestLength
mov rcx, qword [rbp - 0x28]
call qword [rsp + 0x70]
test eax, eax
js 0x1400041e9
mov ebx, dword [rbp + 0x3c]
call r14
mov r8d, ebx
xor edx, edx
mov rcx, rax
call qword [rsp + 0x58]
mov r15, rax
xor ebx, ebx
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
mov r9d, dword [rbp + 0x38]
mov r8, r12
lea rdx, [rbp - 0x18]
mov rcx, qword [rbp - 0x28]
call qword [rsp + 0x78]
test eax, eax
js 0x1400041e9
lea rdx, [rbp + 0x18]
cmp qword [rbp + 0x30], 0x10
cmovae rdx, qword [rbp + 0x18]
xor r9d, r9d
mov r8d, dword [rbp + 0x28]
mov rcx, qword [rbp - 0x18]
call qword [rbp - 0x80]
test eax, eax
js 0x1400041e9
xor r9d, r9d
mov r8d, dword [rbp + 0x3c]
mov rdx, r15
mov rcx, qword [rbp - 0x18]
call qword [rbp - 0x78]
test eax, eax
js 0x1400041e9
movups xmm0, xmmword [r15]
movups xmmword [rbp + 0x60], xmm0
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x14002fa70]
lea rcx, [rbp - 0x10]
call qword [rsp + 0x60]
test eax, eax
js 0x1400041e9
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x28], 0x10
lea rax, [rbp + 0x60]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp - 0x20]
mov rcx, qword [rbp - 0x10]
call qword [rbp - 0x70]
test eax, eax
js 0x1400041e9
mov dword [rsp + 0x48], 1
lea rax, [rbp + 0x10]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], ebx
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
xor r9d, r9d
mov r8d, esi
mov rdx, qword [rbp + 0x40]
mov rcx, qword [rbp - 0x20]
mov rbx, qword [rbp - 0x50]
call rbx
test eax, eax
js 0x1400041e9
mov ecx, dword [rbp + 0x10]
mov edx, ecx
mov rax, qword [rbp + 8]
mov r8, qword [rbp - 8]
sub rax, r8
cmp rcx, rax
jbe 0x1400041b4
lea rcx, [rbp - 8]
call fcn.1400110b0
mov ecx, dword [rbp + 0x10]
mov r8, qword [rbp - 8]
mov dword [rsp + 0x48], 1
lea rax, [rbp + 0x10]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], ecx
mov qword [rsp + 0x30], r8
xor eax, eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, esi
mov rdx, qword [rbp + 0x40]
mov rcx, qword [rbp - 0x20]
call rbx
mov rcx, qword [rbp - 0x28]
mov rbx, qword [rbp - 0x68]
test rcx, rcx
je 0x1400041fa
xor edx, edx
call rbx
mov rcx, qword [rbp - 0x10]
test rcx, rcx
je 0x140004207
xor edx, edx
call rbx
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x140004213
call qword [rbp - 0x60]
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x14000421f
call qword [rbp - 0x58]
test r12, r12
je 0x140004232
call r14
mov rcx, rax
mov r8, r12
xor edx, edx
call r13
test r15, r15
je 0x140004245
call r14
mov rcx, rax
mov r8, r15
xor edx, edx
call r13
mov ecx, dword [rbp + 0x10]
mov r8, qword [rbp - 8]
add rcx, r8
mov rdx, qword [rbp]
cmp rcx, rdx
cmovne rdx, rcx
mov rax, qword [rbp + 8]
xor ebx, ebx
mov r9d, ebx
mov qword [rbp + 8], rbx
mov qword [rbp], rbx
mov ecx, ebx
mov qword [rbp - 8], rbx
mov qword [rdi], r8
mov qword [rdi + 8], rdx
mov qword [rdi + 0x10], rax
mov r8, qword [rbp + 0x40]
test r8, r8
je 0x1400042cd
mov rdx, qword [rbp + 0x50]
sub rdx, r8
mov rax, r8
cmp rdx, 0x1000
jb 0x1400042b1
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000440e
mov rcx, r8
call fcn.140012af0
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x40], xmm0
mov qword [rbp + 0x50], rbx
mov r9, qword [rbp + 8]
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x14000430e
sub r9, rcx
mov rax, rcx
cmp r9, 0x1000
jb 0x1400042fa
add r9, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400043f0
mov rdx, r9
call fcn.140012af0
xorps xmm0, xmm0
movdqu xmmword [rbp - 8], xmm0
mov qword [rbp + 8], rbx
mov rdx, qword [rbp + 0x30]
cmp rdx, 0x10
jb 0x140003f72
inc rdx
mov rcx, qword [rbp + 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003f6d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400043f6
jmp 0x140003f6d
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rdx, qword [rbp + 8]
xor r8d, r8d
mov qword [rbp + 8], r8
mov rcx, qword [rbp]
mov qword [rbp], r8
mov rax, qword [rbp - 8]
mov qword [rbp - 8], r8
mov qword [rdi], rax
mov qword [rdi + 8], rcx
mov qword [rdi + 0x10], rdx
jmp 0x14000430e
xor ecx, ecx
jmp 0x140004354
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rdx, qword [rbp + 8]
mov qword [rbp + 8], r14
mov rcx, qword [rbp]
mov qword [rbp], r14
mov rax, qword [rbp - 8]
mov qword [rbp - 8], r14
mov qword [rdi], rax
mov qword [rdi + 8], rcx
mov qword [rdi + 0x10], rdx
mov rdx, qword [rbp + 0x30]
cmp rdx, 0x10
jb 0x140003f72
inc rdx
mov rcx, qword [rbp + 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003f6d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400043f6
jmp 0x140003f6d
call fcn.14001a010
nop
call fcn.14001a010
nop
call fcn.140011090
int3
call fcn.140001ed0
nop
call fcn.14001a010
nop
call fcn.14001a010
int3