Function at 0x180003678
Capabilities:
Enumerate pe sections
Resolve function by hash
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r14, rcx
mov edx, 0x534c0ab8
mov ecx, 0x3cfa685d
call fcn.1800039d0
mov ebp, 0x6a4abc5b
mov qword [rsp + 0x28], rax
mov ecx, ebp
mov edx, 0xec0e4e8e
mov rbx, rax
call fcn.1800039d0
mov edx, 0x7c0dfcaa
mov ecx, ebp
mov r13, rax
call fcn.1800039d0
mov edx, 0x91afca54
mov qword [rsp + 0x80], rax
mov ecx, ebp
mov rsi, rax
call fcn.1800039d0
mov edx, 0x7946c61b
mov ecx, ebp
mov rdi, rax
call fcn.1800039d0
mov qword [rsp + 0x20], rax
mov r15, rax
test rbx, rbx
je 0x1800039b9
test r13, r13
je 0x1800039b9
test rsi, rsi
je 0x1800039b9
test rdi, rdi
je 0x1800039b9
test rax, rax
je 0x1800039b9
movsxd rbx, dword [r14 + 0x3c]
xor ecx, ecx
add rbx, r14
mov r8d, 0x3000
lea r9d, [rcx + 0x40]
mov edx, dword [rbx + 0x50]
call rdi
mov rbp, rax
test rax, rax
je 0x1800039b9
mov ecx, dword [rbx + 0x54]
lea r9, [rsp + 0x78]
mov rdi, rax
mov rsi, r14
rep movsb byte [rdi], byte [rsi]
mov edx, dword [rbx + 0x54]
mov rcx, rax
mov r8d, 2
call r15
xor r9d, r9d
test eax, eax
je 0x1800039b9
movzx r12d, word [rbx + 0x14]
lea r11d, [r9 + 1]
add r12, 0x18
movzx r8d, r9w
add r12, rbx
mov qword [rsp + 0x88], r12
cmp r9w, word [rbx + 6]
jae 0x1800037bc
movzx eax, r8w
add r8w, r11w
lea rdx, [rax + rax*4]
mov esi, dword [r12 + rdx*8 + 0x14]
mov edi, dword [r12 + rdx*8 + 0xc]
add rsi, r14
mov ecx, dword [r12 + rdx*8 + 0x10]
add rdi, rbp
rep movsb byte [rdi], byte [rsi]
cmp r8w, word [rbx + 6]
jb 0x180003792
cmp dword [rbx + 0x94], r9d
je 0x180003873
mov edi, dword [rbx + 0x90]
add rdi, rbp
cmp dword [rdi + 0xc], r9d
je 0x180003873
mov r12, qword [rsp + 0x80]
mov ecx, dword [rdi + 0xc]
add rcx, rbp
call r13
xor r9d, r9d
mov r15, rax
test rax, rax
je 0x180003856
mov r14d, dword [rdi]
mov esi, dword [rdi + 0x10]
add r14, rbp
add rsi, rbp
jmp 0x180003851
cmp qword [r14], r9
jge 0x180003833
movsxd rax, dword [r15 + 0x3c]
movzx edx, word [r14]
mov ecx, dword [rax + r15 + 0x88]
mov eax, dword [rcx + r15 + 0x10]
mov ecx, dword [rcx + r15 + 0x1c]
sub rdx, rax
add rcx, r15
mov eax, dword [rcx + rdx*4]
add rax, r15
jmp 0x180003846
mov rdx, qword [rsi]
mov rcx, r15
add rdx, 2
add rdx, rbp
call r12
xor r9d, r9d
add r14, 8
mov qword [rsi], rax
add rsi, 8
cmp qword [rsi], r9
jne 0x180003806
add rdi, 0x14
cmp dword [rdi + 0xc], r9d
jne 0x1800037e4
mov r12, qword [rsp + 0x88]
mov r11d, 1
mov r15, qword [rsp + 0x20]
cmp dword [rbx + 0xb4], r9d
je 0x18000392c
mov edi, dword [rbx + 0xb0]
mov rsi, rbp
sub rsi, qword [rbx + 0x30]
add rdi, rbp
mov eax, dword [rdi + 4]
test eax, eax
je 0x18000392c
mov r10d, 0xfff
mov r14d, 2
mov edx, dword [rdi]
mov r8, r9
mov ecx, eax
add rdx, rbp
lea rax, [rcx - 8]
test rax, 0xfffffffffffffffe
jbe 0x18000391c
movzx ecx, word [rdi + r8*2 + 8]
movzx eax, cx
shr ax, 0xc
cmp ax, 0xa
jne 0x1800038d9
and rcx, r10
add qword [rcx + rdx], rsi
jmp 0x18000390a
cmp ax, 3
jne 0x1800038e7
and rcx, r10
add dword [rcx + rdx], esi
jmp 0x18000390a
cmp ax, r11w
jne 0x1800038fd
and rcx, r10
mov rax, rsi
shr rax, 0x10
add word [rcx + rdx], ax
jmp 0x18000390a
cmp ax, r14w
jne 0x18000390a
and rcx, r10
add word [rcx + rdx], si
mov ecx, dword [rdi + 4]
add r8, r11
lea rax, [rcx - 8]
shr rax, 1
cmp r8, rax
jb 0x1800038bd
mov eax, ecx
add rdi, rax
mov eax, dword [rdi + 4]
test eax, eax
jne 0x1800038a7
movzx ecx, word [rbx + 6]
movzx edi, r9w
cmp r9w, cx
jae 0x180003998
movzx eax, di
movzx esi, di
lea rdx, [rax + rax*4]
movzx eax, cx
mov r9d, dword [r12 + rdx*8 + 0xc]
sub eax, r11d
cmp esi, eax
jne 0x180003958
mov esi, dword [rbx + 0x50]
jmp 0x180003961
lea rcx, [rsi + rsi*4]
mov esi, dword [r12 + rcx*8 + 0x34]
mov ecx, dword [r12 + rdx*8 + 0x24]
sub esi, r9d
call fcn.180001a54
mov ecx, r9d
mov r8d, eax
add rcx, rbp
mov edx, esi
lea r9, [rsp + 0x78]
call r15
test eax, eax
je 0x1800039b9
movzx ecx, word [rbx + 6]
mov r11d, 1
add di, r11w
cmp di, cx
jb 0x18000393a
mov edi, dword [rbx + 0x28]
xor r8d, r8d
xor edx, edx
or rcx, 0xffffffffffffffff
add rdi, rbp
call qword [rsp + 0x28]
xor r8d, r8d
mov rcx, rbp
lea edx, [r8 + 1]
call rdi
jmp 0x1800039bb
xor eax, eax
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret