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

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov r14, qword [0x18008a890]
cmp byte [r14 + 0xc9], 0
movzx r15d, byte [r14 + 0x141]
je 0x1800370ec
movzx r9d, byte [r14 + 0x143]
movzx r8d, byte [r14 + 0x140]
jmp 0x1800370fc
movzx r9d, byte [r14 + 0x140]
movzx r8d, byte [r14 + 0x142]
mov rax, qword [r14 + 0x1ca0]
mov rdx, qword [r14 + 0x1ae0]
cmp rax, rdx
jne 0x180037d0e
mov rcx, qword [r14 + 0x1ae8]
mov qword [rsp + 0x30], r12
mov r12d, 1
mov qword [rsp + 0x28], r13
cmp rcx, rdx
jne 0x180037182
test rax, rax
je 0x180037161
mov rax, qword [rax + 0x390]
test rax, rax
je 0x180037161
cmp byte [rax + 0x8f], 0
je 0x180037161
cmp rax, qword [rcx + 0x390]
je 0x180037161
mov edx, dword [rax + 0xc]
bt edx, 0x1b
jb 0x180037182
bt edx, 0x1a
jb 0x180037182
mov eax, dword [r14 + 0x1b30]
test eax, eax
je 0x18003717b
cmp byte [r14 + 0x1b3d], 0
jne 0x18003717b
cmp eax, dword [rcx + 0x54]
jne 0x180037182
mov dword [r14 + 0x1e20], r12d
mov qword [rsp + 0x48], rbx
xor r13d, r13d
mov word [r14 + 0x399], 0x101
cmp byte [0x18008adb9], r13b
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rdi
jne 0x1800372f4
test r9b, r9b
je 0x1800372cf
test r15b, r15b
jne 0x180037348
test r8b, r8b
jne 0x18003783b
mov ecx, dword [r14 + 0x90]
call fcn.18000f080
test al, al
je 0x1800371e0
call fcn.18003c680
jmp 0x180037c63
mov ecx, dword [r14 + 0x8c]
call fcn.18000f080
test al, al
je 0x180037351
call fcn.18003c640
test al, al
je 0x180037c70
mov eax, r12d
dec r12d
test eax, eax
jle 0x180037c63
movsxd rax, dword [0x18008adb0]
mov rcx, rax
inc eax
mov dword [0x18008adb0], eax
lea rsi, [rcx + rcx*8]
shl rsi, 4
add rsi, qword [0x18008ad98]
cmp qword [rsi + 0x40], r13
je 0x18003725e
lea r8, [rsi + 0x58]
lea rdx, [rsi + 0x50]
call fcn.180034f20
mov edx, dword [rsi + 0x50]
lea rcx, [0x18008ad60]
mov r8d, dword [rsi + 0x58]
sub r8d, edx
inc r8d
dec edx
call fcn.18003c790
cmp qword [rsi + 0x10], r13
je 0x18003729d
cmp qword [rsi + 0x18], 0x10
mov r8, rsi
mov rax, qword [rsi + 0x20]
mov qword [rbp + 0x20], rax
jb 0x180037279
mov r8, qword [rsi]
lea rdx, [rbp + 0x20]
call fcn.1800350c0
mov edx, dword [rsi + 0x20]
lea rcx, [0x18008ad60]
mov r8d, dword [rsi + 0x28]
sub r8d, edx
inc r8d
dec edx
call fcn.18003c790
movups xmm0, xmmword [rsi + 0x78]
movaps xmmword [0x18008ad80], xmm0
movsd xmm1, qword [rsi + 0x88]
movsd qword [0x18008ad90], xmm1
call fcn.18003d960
call fcn.18003c640
test al, al
jne 0x180037201
jmp 0x180037c63
test r15b, r15b
jne 0x1800372f9
test r8b, r8b
je 0x1800372fe
mov ecx, dword [r14 + 0x68]
call fcn.18000f080
test al, al
je 0x1800379d9
call fcn.18003c680
jmp 0x180037c63
test r9b, r9b
jne 0x180037348
test r8b, r8b
jne 0x18003731c
mov ecx, dword [r14 + 0x48]
call fcn.18000f080
test al, al
je 0x18003731c
movzx r8d, r15b
mov edx, r12d
call fcn.18003ac00
jmp 0x180037c63
test r9b, r9b
jne 0x180037348
test r8b, r8b
jne 0x1800379d9
mov ecx, dword [r14 + 0x4c]
call fcn.18000f080
test al, al
je 0x180037351
movzx r8d, r15b
mov edx, r12d
call fcn.18003ada0
jmp 0x180037c63
test r8b, r8b
jne 0x18003783b
mov ecx, dword [r14 + 0x40]
call fcn.18000f080
test al, al
je 0x18003736c
movzx r8d, r15b
call fcn.18003af90
jmp 0x180037c63
mov ecx, dword [r14 + 0x44]
call fcn.18000f080
test al, al
je 0x180037387
movzx r8d, r15b
call fcn.18003b1e0
jmp 0x180037c63
mov ecx, dword [r14 + 0x50]
call fcn.18000f080
test al, al
je 0x1800373ca
mov rax, qword [r14 + 0x1ae0]
movss xmm0, dword [rax + 0x1c]
subss xmm0, dword [0x18007c268]
divss xmm0, dword [0x18008b06c]
call sub.api_ms_win_crt_math_l1_1_0.dll_floorf
cvttss2si edx, xmm0
movzx r8d, r15b
sub edx, 4
call fcn.18003ac00
jmp 0x180037c63
mov ecx, dword [r14 + 0x54]
call fcn.18000f080
test al, al
je 0x18003740d
mov rax, qword [r14 + 0x1ae0]
movss xmm0, dword [rax + 0x1c]
subss xmm0, dword [0x18007c268]
divss xmm0, dword [0x18008b06c]
call sub.api_ms_win_crt_math_l1_1_0.dll_floorf
cvttss2si edx, xmm0
movzx r8d, r15b
sub edx, 4
call fcn.18003ada0
jmp 0x180037c63
mov ecx, dword [r14 + 0x58]
call fcn.18000f080
test r9b, r9b
je 0x180037536
test al, al
je 0x180037844
mov edx, dword [0x18008ad90]
mov edi, edx
mov rcx, qword [0x18008ad90]
mov qword [rbp + 0x28], rcx
mov rbx, rcx
mov qword [rbp + 0x20], r13
test edx, edx
jne 0x180037450
mov rax, rcx
shr rax, 0x20
test eax, eax
je 0x180037470
mov rax, qword [rbp + 0x20]
mov qword [0x18008ad90], rax
mov byte [0x18008adc8], r12b
call fcn.18003d960
mov rcx, qword [0x18008ad90]
mov edx, ecx
cmp edx, edi
jne 0x180037483
mov eax, dword [rbp + 0x2c]
cmp dword [0x18008ad94], eax
je 0x180037c63
mov qword [0x18008b070], rcx
mov qword [0x18008b078], rbx
test r15b, r15b
jne 0x18003749d
mov qword [0x18008b078], rcx
mov rbx, qword [0x18008ad88]
lea r8, [0x18008b070]
mov rdi, qword [0x18008ad80]
lea rdx, [rbp + 0x28]
mov qword [rbp + 0x20], rbx
call fcn.180034d00
lea r8, [0x18008b078]
lea rdx, [rbp + 0x28]
mov rcx, qword [rax]
mov qword [0x18008ad80], rcx
call fcn.180034d00
mov r8d, dword [0x18008ad80]
mov r9, rdi
shr r9, 0x20
mov rcx, qword [rax]
mov qword [0x18008ad88], rcx
mov r10d, ecx
cmp r8d, ecx
jne 0x180037506
mov rax, rcx
shr rax, 0x20
cmp dword [0x18008ad84], eax
setg al
mov edx, ecx
test al, al
je 0x180037670
mov rdx, qword [0x18008ad80]
mov rax, rcx
mov qword [0x18008ad80], rcx
mov r8d, r10d
mov rcx, rdx
mov qword [0x18008ad88], rdx
jmp 0x180037677
test al, al
je 0x1800376ae
mov rcx, qword [0x18008ad90]
mov edx, dword [0x18008ad90]
mov rax, rcx
shr rax, 0x20
mov ebx, edx
mov qword [rbp + 0x28], rcx
mov rdi, rcx
mov dword [rbp + 0x20], edx
mov dword [rbp + 0x24], r13d
test eax, eax
je 0x180037586
mov rax, qword [rbp + 0x20]
mov qword [0x18008ad90], rax
mov byte [0x18008adc8], r12b
call fcn.18003d960
mov rcx, qword [0x18008ad90]
mov edx, ecx
mov eax, dword [rbp + 0x2c]
cmp edx, ebx
jne 0x180037599
cmp dword [0x18008ad94], eax
je 0x180037c63
test r15b, r15b
je 0x1800375d0
cmp ebx, dword [0x18008b070]
jne 0x1800375ae
cmp eax, dword [0x18008b074]
je 0x1800375d7
cmp ebx, dword [0x18008b078]
jne 0x1800375c7
cmp eax, dword [0x18008b07c]
jne 0x1800375c7
mov qword [0x18008b078], rcx
jmp 0x1800375de
mov qword [0x18008b078], rdi
jmp 0x1800375d7
mov qword [0x18008b078], rcx
mov qword [0x18008b070], rcx
mov rbx, qword [0x18008ad88]
lea r8, [0x18008b070]
mov rdi, qword [0x18008ad80]
lea rdx, [rbp + 0x28]
mov qword [rbp + 0x20], rbx
call fcn.180034d00
lea r8, [0x18008b078]
lea rdx, [rbp + 0x28]
mov rcx, qword [rax]
mov qword [0x18008ad80], rcx
call fcn.180034d00
mov r8d, dword [0x18008ad80]
mov r9, rdi
shr r9, 0x20
mov rcx, qword [rax]
mov qword [0x18008ad88], rcx
mov r10d, ecx
cmp r8d, ecx
jne 0x180037647
mov rax, rcx
shr rax, 0x20
cmp dword [0x18008ad84], eax
setg al
mov edx, ecx
test al, al
je 0x180037670
mov rdx, qword [0x18008ad80]
mov rax, rcx
mov qword [0x18008ad80], rcx
mov r8d, r10d
mov rcx, rdx
mov qword [0x18008ad88], rdx
jmp 0x180037677
mov rax, qword [0x18008ad80]
cmp r8d, edi
jne 0x180037c00
sar rax, 0x20
cmp eax, r9d
jne 0x180037c00
cmp edx, ebx
jne 0x180037c00
sar rcx, 0x20
cmp ecx, dword [rbp + 0x24]
je 0x180037c63
mov byte [0x18008adc8], r12b
jmp 0x180037c63
test r9b, r9b
jne 0x180037983
test r8b, r8b
jne 0x1800379d9
mov ecx, dword [r14 + 0x5c]
call fcn.18000f080
test al, al
je 0x1800379d9
mov edi, dword [0x18008ad90]
mov esi, edi
mov rbx, qword [0x18008ad90]
mov edx, edi
mov qword [rbp + 0x28], rbx
mov r12, rbx
mov dword [rbp + 0x20], edi
call fcn.180036130
mov rcx, rbx
mov dword [rbp + 0x24], eax
shr rcx, 0x20
cmp ecx, eax
je 0x18003771f
mov rax, qword [rbp + 0x20]
mov qword [0x18008ad90], rax
mov byte [0x18008adc8], 1
call fcn.18003d960
mov rbx, qword [0x18008ad90]
mov edi, ebx
mov eax, dword [rbp + 0x2c]
cmp edi, esi
jne 0x180037732
cmp dword [0x18008ad94], eax
je 0x180037c63
test r15b, r15b
je 0x180037769
cmp esi, dword [0x18008b078]
jne 0x180037747
cmp eax, dword [0x18008b07c]
je 0x180037770
cmp esi, dword [0x18008b070]
jne 0x180037760
cmp eax, dword [0x18008b074]
jne 0x180037760
mov qword [0x18008b070], rbx
jmp 0x180037777
mov qword [0x18008b070], r12
jmp 0x180037770
mov qword [0x18008b070], rbx
mov qword [0x18008b078], rbx
mov rbx, qword [0x18008ad88]
lea r8, [0x18008b070]
mov rdi, qword [0x18008ad80]
lea rdx, [rbp + 0x28]
mov qword [rbp + 0x20], rbx
call fcn.180034d00
lea r8, [0x18008b078]
lea rdx, [rbp + 0x28]
mov rcx, qword [rax]
mov qword [0x18008ad80], rcx
call fcn.180034d00
mov r8d, dword [0x18008ad80]
mov r9, rdi
shr r9, 0x20
mov rcx, qword [rax]
mov qword [0x18008ad88], rcx
mov r10d, ecx
cmp r8d, ecx
jne 0x1800377e0
mov rax, rcx
shr rax, 0x20
cmp dword [0x18008ad84], eax
setg al
mov edx, ecx
test al, al
je 0x180037809
mov rdx, qword [0x18008ad80]
mov rax, rcx
mov qword [0x18008ad80], rcx
mov r8d, r10d
mov rcx, rdx
mov qword [0x18008ad88], rdx
jmp 0x180037810
mov rax, qword [0x18008ad80]
cmp r8d, edi
jne 0x18003782f
sar rax, 0x20
cmp eax, r9d
jne 0x18003782f
cmp edx, ebx
jne 0x18003782f
sar rcx, 0x20
cmp ecx, dword [rbp + 0x24]
je 0x180037c63
mov byte [0x18008adc8], 1
jmp 0x180037c63
test r9b, r9b
je 0x1800379d9
test r8b, r8b
jne 0x180037983
mov ecx, dword [r14 + 0x5c]
call fcn.18000f080
test al, al
je 0x180037983
lea r8, [0x18008ad90]
lea rdx, [rbp + 0x28]
call fcn.180034d00
mov rcx, qword [0x18008ad70]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [0x18008ad68]
imul rcx
mov dword [rbp + 0x24], r13d
sar rdx, 2
mov rdi, rdx
shr rdi, 0x3f
add rdi, rdx
dec edi
cmp dword [0x18008ad90], edi
mov dword [rbp + 0x20], edi
mov rbx, qword [rbp + 0x20]
jne 0x1800378b5
cmp dword [0x18008ad94], r13d
je 0x1800378c8
mov qword [0x18008ad90], rbx
mov byte [0x18008adc8], r12b
call fcn.18003d960
test r15b, r15b
je 0x1800378da
mov rax, qword [rbp + 0x28]
mov qword [0x18008b078], rbx
jmp 0x1800378e3
mov eax, edi
mov qword [0x18008b078], rax
mov rbx, qword [0x18008ad88]
lea r8, [0x18008b070]
mov rdi, qword [0x18008ad80]
lea rdx, [rbp + 0x28]
mov qword [rbp + 0x20], rbx
mov qword [0x18008b070], rax
call fcn.180034d00
lea r8, [0x18008b078]
lea rdx, [rbp + 0x28]
mov rcx, qword [rax]
mov qword [0x18008ad80], rcx
call fcn.180034d00
mov r8d, dword [0x18008ad80]
mov r9, rdi
shr r9, 0x20
mov rcx, qword [rax]
mov qword [0x18008ad88], rcx
mov r10d, ecx
cmp r8d, ecx
jne 0x180037953
mov rax, rcx
shr rax, 0x20
cmp dword [0x18008ad84], eax
setg al
mov edx, ecx
test al, al
je 0x180037670
mov rdx, qword [0x18008ad80]
mov rax, rcx
mov qword [0x18008ad80], rcx
mov r8d, r10d
mov rcx, rdx
mov qword [0x18008ad88], rdx
jmp 0x180037677
test r15b, r15b
jne 0x1800379a4
test r8b, r8b
jne 0x1800379a4
mov ecx, dword [r14 + 0x60]
call fcn.18000f080
test al, al
je 0x1800379a4
call fcn.18003c010
jmp 0x180037c63
test r9b, r9b
je 0x180037a41
test r15b, r15b
jne 0x180037a41
test r8b, r8b
jne 0x180037a41
mov ecx, dword [r14 + 0x80]
call fcn.18000f080
test al, al
je 0x180037a41
call fcn.18003c010
jmp 0x180037c63
cmp byte [0x18008adb9], r13b
jne 0x180037a1e
test r15b, r15b
jne 0x180037a58
test r8b, r8b
jne 0x180037c70
mov ecx, dword [r14 + 0x64]
call fcn.18000f080
test al, al
je 0x180037a07
call fcn.18003b4a0
jmp 0x180037c63
mov ecx, dword [r14 + 0x68]
call fcn.18000f080
test al, al
je 0x180037a28
call fcn.18003b990
jmp 0x180037c63
test r15b, r15b
jne 0x180037a41
test r8b, r8b
jne 0x180037a41
mov ecx, dword [r14 + 0x60]
call fcn.18000f080
test al, al
je 0x180037a41
xor byte [0x18008adb8], r12b
jmp 0x180037c63
cmp byte [0x18008adb9], r13b
jne 0x180037aa0
test r9b, r9b
jne 0x180037a74
test r15b, r15b
je 0x180037c20
test r8b, r8b
jne 0x180037ad1
mov ecx, dword [r14 + 0x60]
call fcn.18000f080
test al, al
je 0x180037ad1
call fcn.18003c3d0
jmp 0x180037c63
test r15b, r15b
jne 0x180037c09
test r8b, r8b
jne 0x180037c09
mov ecx, dword [r14 + 0x84]
call fcn.18000f080
test al, al
je 0x180037ab7
call fcn.18003c3d0
jmp 0x180037c63
test r9b, r9b
je 0x180037ad1
test r15b, r15b
jne 0x180037c09
test r8b, r8b
jne 0x180037c09
mov ecx, dword [r14 + 0x88]
call fcn.18000f080
test al, al
je 0x180037b0d
call fcn.18003c230
jmp 0x180037c63
test r15b, r15b
je 0x180037af2
test r8b, r8b
jne 0x180037af2
mov ecx, dword [r14 + 0x64]
call fcn.18000f080
test al, al
je 0x180037af2
call fcn.18003c230
jmp 0x180037c63
test r9b, r9b
je 0x180037c09
test r15b, r15b
jne 0x180037c09
test r8b, r8b
jne 0x180037c09
mov ecx, dword [r14 + 0x7c]
call fcn.18000f080
test al, al
je 0x180037c09
mov rcx, qword [0x18008ad70]
lea r8, [rbp + 0x20]
sub rcx, qword [0x18008ad68]
movabs rax, 0x2aaaaaaaaaaaaaab
mov rbx, qword [0x18008ad88]
mov rdi, qword [0x18008ad80]
imul rcx
mov dword [rbp + 0x2c], r13d
sar rdx, 2
mov rax, rdx
mov qword [rbp + 0x20], r13
shr rax, 0x3f
add rdx, rax
mov qword [rbp + 0x30], rbx
mov dword [rbp + 0x28], edx
lea rdx, [rbp + 0x38]
call fcn.180034d00
lea r8, [rbp + 0x28]
lea rdx, [rbp + 0x20]
mov rcx, qword [rax]
mov qword [0x18008ad80], rcx
call fcn.180034d00
mov r8d, dword [0x18008ad80]
mov r9, rdi
shr r9, 0x20
mov rcx, qword [rax]
mov qword [0x18008ad88], rcx
mov r10d, ecx
cmp r8d, ecx
jne 0x180037bb5
mov rax, rcx
shr rax, 0x20
cmp dword [0x18008ad84], eax
setg al
mov edx, ecx
test al, al
je 0x180037bde
mov rdx, qword [0x18008ad80]
mov rax, rcx
mov qword [0x18008ad80], rcx
mov r8d, r10d
mov rcx, rdx
mov qword [0x18008ad88], rdx
jmp 0x180037be5
mov rax, qword [0x18008ad80]
cmp r8d, edi
jne 0x180037c00
sar rax, 0x20
cmp eax, r9d
jne 0x180037c00
cmp edx, ebx
jne 0x180037c00
sar rcx, 0x20
cmp ecx, dword [rbp + 0x34]
je 0x180037c63
mov byte [0x18008adc8], r12b
jmp 0x180037c63
cmp byte [0x18008adb9], r13b
jne 0x180037cf5
test r9b, r9b
jne 0x180037c70
test r15b, r15b
jne 0x180037c3c
test r8b, r8b
jne 0x180037c70
mov ecx, dword [r14 + 0x70]
call fcn.18000f080
test al, al
je 0x180037c41
mov edx, 0xa
xor r8d, r8d
jmp 0x180037c57
test r8b, r8b
jne 0x180037c70
mov ecx, dword [r14 + 0x3c]
call fcn.18000f080
test al, al
je 0x180037c70
mov edx, 9
movzx r8d, r15b
lea rcx, [0x18008ad60]
call fcn.180039950
cmp byte [0x18008adb9], r13b
jne 0x180037cf5
mov eax, dword [r14 + 0x1550]
test eax, eax
je 0x180037cf5
mov ebx, r13d
jle 0x180037cc6
mov rdi, r13
mov r12d, 0xffe0
nop dword [rax]
mov rax, qword [r14 + 0x1558]
movzx edx, word [rdi + rax]
test r12w, dx
jne 0x180037ca7
cmp dx, 0xa
jne 0x180037cb7
movzx r8d, r15b
lea rcx, [0x18008ad60]
call fcn.180039950
inc ebx
add rdi, 2
cmp ebx, dword [r14 + 0x1550]
jl 0x180037c90
mov ecx, dword [r14 + 0x1554]
test ecx, ecx
jns 0x180037cee
mov eax, ecx
cdq
sub eax, edx
mov edx, r13d
sar eax, 1
add eax, ecx
lea rcx, [r14 + 0x1550]
test eax, eax
cmovg edx, eax
call fcn.18001b940
mov dword [r14 + 0x1550], r13d
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x48]
mov r12, qword [rsp + 0x30]
mov r13, qword [rsp + 0x28]
add rsp, 0x50
pop r15
pop r14
pop rbp
ret