Function at 0x18004c380
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push r12
push r14
push r15
sub rsp, 0x60
mov rbx, rcx
xor ebp, ebp
mov ecx, dword [rcx + 0x154]
movzx r14d, r9b
mov r12d, r8d
mov r15, rdx
mov eax, dword [rbx + 0x3c]
test eax, eax
je 0x18004c409
cmp byte [rbx + 0xd4], 2
jge 0x18004c409
cmp ecx, eax
jb 0x18004c409
mov rax, qword [rbx + 0x70]
mov byte [rbx + 0xd4], 2
test rax, rax
je 0x18004c47b
lea rcx, [rbx + 0x78]
mov qword [rsp + 0x30], rbp
mov dword [rsp + 0x38], ebp
xorps xmm1, xmm1
movups xmm0, xmmword [rsp + 0x30]
mov qword [rsp + 0x50], rbp
movups xmmword [rcx], xmm0
movsd xmm0, qword [rsp + 0x50]
movups xmmword [rcx + 0x10], xmm1
movsd qword [rcx + 0x20], xmm0
mov dword [rbx + 0x80], 0x10
jmp 0x18004c463
mov eax, dword [rbx + 0x38]
test eax, eax
je 0x18004c47b
cmp byte [rbx + 0xd4], 1
jge 0x18004c47b
cmp ecx, eax
jb 0x18004c47b
mov rax, qword [rbx + 0x70]
mov byte [rbx + 0xd4], 1
test rax, rax
je 0x18004c47b
lea rcx, [rbx + 0x78]
mov qword [rsp + 0x30], rbp
mov dword [rsp + 0x38], ebp
xorps xmm1, xmm1
movups xmm0, xmmword [rsp + 0x30]
mov qword [rsp + 0x50], rbp
movups xmmword [rcx], xmm0
movsd xmm0, qword [rsp + 0x50]
movups xmmword [rcx + 0x10], xmm1
movsd qword [rcx + 0x20], xmm0
mov dword [rbx + 0x80], 0xf
mov qword [rcx], rbx
mov qword [rbx + 0x88], rbp
call qword [case.0x18001b453.0]
test eax, eax
jne 0x18004c6f3
cmp dword [rbx + 0xe0], 1
mov qword [rsp + 0x80], rsi
mov rsi, qword [rbx + 0xb0]
mov qword [rsp + 0x88], rdi
jne 0x18004c4f5
mov rcx, qword [rbx + 0xe8]
test rcx, rcx
je 0x18004c4bd
mov rax, qword [rbx + 0xf0]
test rax, rax
je 0x18004c4bd
cmp rcx, rax
ja 0x18004c4bd
sub rax, rcx
jmp 0x18004c4c0
mov rax, rbp
cmp rsi, rcx
je 0x18004c4ee
lfence
mov rdx, qword [rbx + 0xe8]
mov rcx, rsi
mov r8d, eax
mov edi, eax
call fcn.180100680
lea rax, [rdi + rsi]
mov qword [rbx + 0xe8], rsi
mov qword [rbx + 0xf0], rax
mov rsi, qword [rbx + 0xf0]
cmp dword [rbx + 0x118], 1
jne 0x18004c558
mov rcx, qword [rbx + 0x120]
test rcx, rcx
je 0x18004c520
mov rax, qword [rbx + 0x128]
test rax, rax
je 0x18004c520
cmp rcx, rax
ja 0x18004c520
sub rax, rcx
jmp 0x18004c523
mov rax, rbp
cmp rsi, rcx
je 0x18004c551
lfence
mov rdx, qword [rbx + 0x120]
mov rcx, rsi
mov r8d, eax
mov edi, eax
call fcn.180100680
lea rax, [rdi + rsi]
mov qword [rbx + 0x120], rsi
mov qword [rbx + 0x128], rax
mov rsi, qword [rbx + 0x128]
test r14b, r14b
je 0x18004c58f
mov ebp, dword [r15]
lea r14, [rbx + 0x160]
mov edi, dword [r14]
sub edi, dword [r15]
sub ebp, dword [rbx + 0x158]
mov rdx, qword [r15]
cmp rsi, rdx
je 0x18004c58a
test edi, edi
je 0x18004c58a
mov r8d, edi
mov rcx, rsi
call fcn.180100680
mov rax, rsi
jmp 0x18004c5da
mov rdx, qword [rbx + 0x158]
test rdx, rdx
je 0x18004c5b0
mov rdi, qword [rbx + 0x160]
test rdi, rdi
je 0x18004c5b0
cmp rdx, rdi
ja 0x18004c5b0
sub edi, edx
jmp 0x18004c5b2
mov edi, ebp
cmp rsi, rdx
je 0x18004c5c6
test edi, edi
je 0x18004c5c6
mov r8d, edi
mov rcx, rsi
call fcn.180100680
mov rax, qword [r15]
lea r14, [rbx + 0x160]
sub rax, qword [rbx + 0x158]
add rax, rsi
add dword [rbx + 0x150], ebp
mov edx, dword [rbx + 0x34]
mov rcx, qword [rbx + 0xb8]
mov r8d, edi
mov rdi, r14
add r8, rsi
mov qword [r15], rax
cmp edx, r12d
mov qword [rbx + 0x158], rsi
mov rsi, qword [rsp + 0x80]
cmovb edx, r12d
mov qword [r14], r8
mov eax, edx
add rax, r8
cmp rax, rcx
jbe 0x18004c631
mov edx, ecx
sub edx, r8d
jne 0x18004c62a
mov eax, 0x80070008
jmp 0x18004c6eb
lea rdi, [rbx + 0x160]
mov rcx, qword [rbx + 0xa0]
mov r9d, edx
mov rdx, 0xffffffffffffffff
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
call qword [case.0x18001b453.0]
mov rcx, qword [rbx + 0xa0]
mov r8, rax
mov r9d, dword [rcx + 0x1c]
test r9d, r9d
je 0x18004c69d
mov rcx, qword [0x1801491d8]
lea rax, [0x1801491d8]
cmp rcx, rax
je 0x18004c696
test byte [rcx + 0x1c], 0x10
je 0x18004c696
cmp byte [rcx + 0x19], 2
jb 0x18004c696
mov rcx, qword [rcx + 0x10]
lea r8, [0x1801245c0]
mov edx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
call fcn.18001fa80
mov eax, 0x8007001e
jmp 0x18004c6eb
test r8d, r8d
jne 0x18004c6a9
mov eax, 0x80070026
jmp 0x18004c6eb
add dword [rbx + 0xa8], r8d
mov rcx, qword [r14]
test r8d, r8d
je 0x18004c6dc
mov edx, r8d
nop dword [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x18004c6cf
or byte [rbx + 0x50], 0x10
sub rdx, 1
jne 0x18004c6c0
lea rdi, [rbx + 0x160]
add dword [rbx + 0x154], r8d
mov eax, r8d
add qword [rdi], rax
xor eax, eax
mov rdi, qword [rsp + 0x88]
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
ret