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

Disassembly:
lea r12, [rsp - 0x18]
cmp r12, qword [r14 + 0x10]
jbe 0x4895f5
push rbp
mov rbp, rsp
sub rsp, 0x90
nop word [rax + rax]
cmp rdi, 0x12
jle 0x4892c0
movabs rdx, 0x7aab9ce0c84b9b0a
mov qword [rsp + 0x54], rdx
movabs rdx, 0x3a70eae47aab9ce0
mov qword [rsp + 0x58], rdx
movabs rdx, 0x936bd1a00fc7705b
mov qword [rsp + 0x60], rdx
movabs rdx, 0x70ccbca67b348ab8
mov qword [rsp + 0x68], rdx
movabs rdx, 0xbf90b9097d4c9d44
mov qword [rsp + 0x70], rdx
xor eax, eax
jmp 0x4895c8
test rbx, rbx
je 0x489422
bsr rdx, rbx
mov rsi, 0xffffffffffffffff
cmove rdx, rsi
lea rsi, [rdx + 1]
nop dword [rax]
cmp rsi, 0x37
jge 0x48930a
lea rsi, [rdx - 0x36]
neg rsi
mov r8, rcx
mov rcx, rsi
shl rbx, cl
lea rdx, [rdx + r8]
lea rdx, [rdx - 0x36]
cmp rcx, 0x40
sbb rsi, rsi
and rbx, rsi
jmp 0x48930d
mov rdx, rcx
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xb8], rdi
imul rsi, rdx, 0x13441
add rsi, 0x4105b6
sar rsi, 0x12
mov rcx, rdi
sub rcx, rsi
mov qword [rsp + 0x88], rcx
lea rsi, [rcx - 1]
cmp rsi, 0x37
jg 0x489350
test rsi, rsi
setge r8b
jmp 0x489353
xor r8d, r8d
mov qword [rsp + 0x80], rsi
mov byte [rsp + 0x22], r8b
mov qword [rsp + 0x78], rbx
mov rax, rbx
mov rbx, rdx
mov rcx, rsi
call fcn.0048a400
test rbx, rbx
jl 0x4893e8
movabs rdx, 0xadbc3f6b228c6a
mov qword [rsp + 0x23], rdx
movabs rdx, 0xe100adbc3f6b228c
mov qword [rsp + 0x24], rdx
movabs rdx, 0x2bad60c395ab9862
mov qword [rsp + 0x2c], rdx
movabs rdx, 0x5cae9e448fd9d4f6
mov qword [rsp + 0x34], rdx
movabs rdx, 0x7da21502f6e5c0d3
mov qword [rsp + 0x3c], rdx
movabs rdx, 0x43bd0f16f864a0ab
mov qword [rsp + 0x44], rdx
movabs rdx, 0x8fbb476600d0a96d
mov qword [rsp + 0x4c], rdx
xor eax, eax
jmp 0x489583
mov rdx, qword [rsp + 0x88]
lea r8, [rdx + 0x15]
cmp r8, 0x16
jae 0x489419
mov r8, qword [rsp + 0x78]
nop
test r8, r8
je 0x489519
mov r9, qword [rsp + 0x80]
neg r9
jmp 0x489534
movzx esi, byte [rsp + 0x22]
nop
jmp 0x489430
movups xmmword [rax + 0x18], xmm15
add rsp, 0x90
pop rbp
ret
mov r8, rbx
neg rbx
mov edi, ecx
mov rcx, rbx
mov r9d, 1
shl r9, cl
mov r10, rax
shr rax, cl
cmp rcx, 0x40
sbb rbx, rbx
and r9, rbx
dec r9
and rbx, rax
and r9, r10
nop dword [rax]
test sil, sil
je 0x4894ac
lea rcx, [r8 + 1]
neg rcx
mov r8d, 1
shl r8, cl
cmp rcx, 0x40
sbb r10, r10
and r8, r10
nop
cmp r8, r9
jb 0x48949f
jne 0x4894a7
test dil, dil
je 0x48949f
cmp r8, r9
jne 0x4894a7
test dil, dil
je 0x4894a7
mov r8, rbx
and r8d, 1
jmp 0x4894ce
mov r8d, 1
jmp 0x4894ce
xor r8d, r8d
jmp 0x4894ce
lea rcx, [r8 + 1]
neg rcx
mov r10, r9
shr r9, cl
cmp rcx, 0x40
sbb r11, r11
and r9, r11
cmp r9, 1
sete r8b
mov r9, r10
test r9, r9
je 0x4894d5
xor edi, edi
xor edi, 1
mov rax, qword [rsp + 0xa0]
mov ecx, edi
mov edi, r8d
mov rsi, qword [rsp + 0xb8]
call fcn.00489640
mov rdx, qword [rsp + 0xa0]
mov r8, qword [rdx + 0x20]
mov r9, qword [rsp + 0x88]
sub r8, r9
inc r8
mov qword [rdx + 0x20], r8
add rsp, 0x90
pop rbp
ret
mov esi, 1
mov ecx, 1
jmp 0x489430
dec r9
mov rax, rsi
mov r8, rdx
mov rdx, rdi
test r9, r9
jle 0x489519
mov rsi, rax
movabs rax, 0xcccccccccccccccd
mov rdi, rdx
mul r8
shr rdx, 2
lea r10, [rdx + rdx*4]
cmp r8, r10
je 0x489528
mov rax, rsi
mov rdx, rdi
movzx esi, byte [rsp + 0x22]
jmp 0x489430
lea rdx, [0x00581c80]
movzx esi, byte [rax + rdx]
movzx edi, byte [rsp + rax + 0x23]
sub edi, esi
mov byte [rsp + rax + 0x23], dil
inc rax
cmp rax, 0x31
jl 0x489569
xor eax, eax
lea rbx, [rsp + 0x23]
mov ecx, 0x31
call fcn.00444780
call fcn.00409940
mov rbx, rax
lea rax, [0x0055a4e0]
call fcn.0042ef20
lea rdx, [0x0058013e]
movzx esi, byte [rax + rdx]
movzx edi, byte [rsp + rax + 0x54]
xor edi, esi
mov byte [rsp + rax + 0x54], dil
inc rax
cmp rax, 0x24
jl 0x4895ae
xor eax, eax
lea rbx, [rsp + 0x54]
mov ecx, 0x24
call fcn.00444780
nop
call fcn.00409940
mov rbx, rax
lea rax, [0x0055a4e0]
call fcn.0042ef20
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.00454140
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.00489240