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

Disassembly:
lea r12, [rsp - 0x28]
cmp r12, qword [r14 + 0x10]
jbe 0x46d450
push rbp
mov rbp, rsp
sub rsp, 0xa0
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0xc8], rdi
mov byte [rsp + 0xd0], sil
mov byte [rsp + 0xd1], r8b
mov rdx, qword [rsp + 0xb8]
mov qword [rsp + 0x88], rdx
shr rdx, 1
movabs rax, 0x89705f4136b4a598
mul rdx
shr rdx, 0x1c
mov dword [rsp + 0x38], edx
mov r10, qword [rsp + 0x88]
mov r11, r10
shr r10, 1
movabs rax, 0x89705f4136b4a598
mov rcx, rdx
mul r10
shr rdx, 0x1c
imul rdx, rdx, 0x3b9aca00
sub r11, rdx
mov dword [rsp + 0x2c], r11d
jmp 0x46cf85
mov dword [rsp + 0x64], ecx
mov dword [rsp + 0x60], r11d
mov dword [rsp + 0x54], ecx
mov dword [rsp + 0x50], r11d
mov rdx, qword [rsp + 0xc0]
mov qword [rsp + 0x80], rdx
shr rdx, 1
movabs rax, 0x89705f4136b4a598
mul rdx
shr rdx, 0x1c
mov dword [rsp + 0x34], edx
mov r10, qword [rsp + 0x80]
mov r11, r10
shr r10, 1
movabs rax, 0x89705f4136b4a598
mov rcx, rdx
mul r10
shr rdx, 0x1c
imul rdx, rdx, 0x3b9aca00
sub r11, rdx
mov dword [rsp + 0x28], r11d
jmp 0x46cff2
mov dword [rsp + 0x74], ecx
mov dword [rsp + 0x70], r11d
mov dword [rsp + 0x5c], ecx
mov dword [rsp + 0x58], r11d
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0x78], rdx
shr rdx, 1
movabs rax, 0x89705f4136b4a598
mul rdx
shr rdx, 0x1c
mov dword [rsp + 0x30], edx
mov rdi, qword [rsp + 0x78]
mov r10, rdi
shr r10, 1
movabs rax, 0x89705f4136b4a598
mov rcx, rdx
mul r10
shr rdx, 0x1c
imul rdx, rdx, 0x3b9aca00
sub rdi, rdx
mov dword [rsp + 0x24], edi
jmp 0x46d058
mov dword [rsp + 0x6c], ecx
mov dword [rsp + 0x68], edi
mov dword [rsp + 0x4c], ecx
mov dword [rsp + 0x48], edi
test ecx, ecx
je 0x46d06e
jmp 0x46d0a0
mov ebx, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x58]
movzx esi, byte [rsp + 0xd0]
movzx r8d, byte [rsp + 0xd1]
mov rax, qword [rsp + 0xb0]
mov r9d, 8
call fcn.0046d4a0
jmp 0x46d2ef
cmp dword [rsp + 0x54], ecx
jb 0x46d0ab
jmp 0x46d185
cmp dword [rsp + 0x50], 0
jne 0x46d0b4
jmp 0x46d0ba
inc dword [rsp + 0x54]
jmp 0x46d0bc
jmp 0x46d0bc
movzx edx, byte [rsp + 0xd0]
mov byte [rsp + 0x23], dl
test dl, dl
jne 0x46d0ce
jmp 0x46d0da
cmp dword [rsp + 0x58], 0
sete byte [rsp + 0x23]
jmp 0x46d0dc
jmp 0x46d0dc
movzx edx, byte [rsp + 0x23]
mov byte [rsp + 0xd0], dl
cmp dword [rsp + 0x58], 0x1dcd6500
seta byte [rsp + 0x23]
ja 0x46d0f9
jmp 0x46d0fb
jmp 0x46d127
cmp dword [rsp + 0x58], 0x1dcd6500
sete byte [rsp + 0x22]
je 0x46d10c
jmp 0x46d11a
movzx edx, byte [rsp + 0xd1]
mov byte [rsp + 0x22], dl
jmp 0x46d11c
jmp 0x46d11c
movzx edx, byte [rsp + 0x22]
mov byte [rsp + 0x23], dl
jmp 0x46d127
movzx r8d, byte [rsp + 0x23]
mov byte [rsp + 0xd1], r8b
mov ebx, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x5c]
mov edi, dword [rsp + 0x4c]
movzx esi, byte [rsp + 0xd0]
mov rax, qword [rsp + 0xb0]
mov r9d, 8
call fcn.0046d4a0
mov rdx, qword [rsp + 0xb0]
test byte [rdx], al
mov r10, qword [rsp + 0xb0]
test byte [r10], al
mov r10, qword [r10 + 0x20]
add r10, 9
mov qword [rdx + 0x20], r10
nop dword [rax]
jmp 0x46d2ed
mov rdx, qword [rsp + 0xb0]
test byte [rdx], al
mov qword [rdx + 0x18], 0
mov qword [rsp + 0x90], 9
mov edx, dword [rsp + 0x5c]
mov dword [rsp + 0x44], edx
jmp 0x46d1ad
cmp dword [rsp + 0x44], 0
ja 0x46d1b6
jmp 0x46d226
mov edx, dword [rsp + 0x44]
mov r10d, 0xcccccccd
imul rdx, r10
shr rdx, 0x23
mov dword [rsp + 0x40], edx
mov r11d, dword [rsp + 0x44]
imul r10, r11
shr r10, 0x23
lea r10d, [r10 + r10*4]
shl r10d, 1
sub r11d, r10d
mov dword [rsp + 0x3c], r11d
mov dword [rsp + 0x44], edx
mov rdx, qword [rsp + 0x90]
lea r10, [rdx - 1]
mov qword [rsp + 0x90], r10
mov r10, qword [rsp + 0xb0]
test byte [r10], al
mov r10, qword [r10]
lea rdx, [rdx + r10]
lea rdx, [rdx - 1]
mov r10d, dword [rsp + 0x3c]
add r10d, 0x30
mov byte [rdx], r10b
jmp 0x46d224
jmp 0x46d1ad
mov rdx, qword [rsp + 0xb0]
test byte [rdx], al
mov r10, qword [rsp + 0xb0]
test byte [r10], al
mov r11, qword [r10 + 8]
mov r12, qword [r10 + 0x10]
mov r13, qword [rsp + 0x90]
sub r12, r13
sub r11, r13
mov r15, r12
neg r12
sar r12, 0x3f
and r13, r12
add r13, qword [r10]
mov qword [rdx + 8], r11
mov qword [rdx + 0x10], r15
cmp dword [0x005e24d0], 0
je 0x46d274
jmp 0x46d276
jmp 0x46d287
call fcn.0045e960
mov qword [r11], r13
mov r10, qword [rdx]
mov qword [r11 + 8], r10
jmp 0x46d287
mov qword [rdx], r13
mov rdx, qword [rsp + 0xb0]
test byte [rdx], al
mov r10, qword [rsp + 0x90]
add r10, 0xfffffffffffffff7
neg r10
mov qword [rdx + 0x18], r10
mov rdx, qword [rsp + 0xb0]
test byte [rdx], al
mov r9, qword [rdx + 0x18]
add r9, 8
mov qword [rsp + 0x98], r9
mov ebx, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x58]
mov edi, dword [rsp + 0x48]
movzx esi, byte [rsp + 0xd0]
movzx r8d, byte [rsp + 0xd1]
mov rax, qword [rsp + 0xb0]
call fcn.0046d4a0
jmp 0x46d2ed
jmp 0x46d2ef
jmp 0x46d2f1
mov rax, qword [rsp + 0xb0]
test byte [rax], al
cmp qword [rax + 0x18], 0
setg byte [rsp + 0x23]
jg 0x46d309
jmp 0x46d336
mov rax, qword [rsp + 0xb0]
test byte [rax], al
mov rax, qword [rax]
mov rcx, qword [rsp + 0xb0]
test byte [rcx], al
mov rcx, qword [rcx + 0x18]
lea rax, [rcx + rax]
lea rax, [rax - 1]
cmp byte [rax], 0x30
sete byte [rsp + 0x23]
jmp 0x46d338
jmp 0x46d338
cmp byte [rsp + 0x23], 0
jne 0x46d342
nop
jmp 0x46d365
mov rax, qword [rsp + 0xb0]
test byte [rax], al
mov rcx, qword [rsp + 0xb0]
test byte [rcx], al
mov rcx, qword [rcx + 0x18]
dec rcx
mov qword [rax + 0x18], rcx
jmp 0x46d363
jmp 0x46d2f1
jmp 0x46d367
mov rax, qword [rsp + 0xb0]
test byte [rax], al
cmp qword [rax + 0x18], 0
setg byte [rsp + 0x23]
jg 0x46d37f
jmp 0x46d396
mov rax, qword [rsp + 0xb0]
test byte [rax], al
mov rax, qword [rax]
cmp byte [rax], 0x30
sete byte [rsp + 0x23]
jmp 0x46d398
jmp 0x46d398
cmp byte [rsp + 0x23], 0
jne 0x46d3a5
nop
jmp 0x46d447
mov rax, qword [rsp + 0xb0]
test byte [rax], al
mov rcx, qword [rsp + 0xb0]
test byte [rcx], al
mov rcx, qword [rcx + 0x18]
dec rcx
mov qword [rax + 0x18], rcx
mov rax, qword [rsp + 0xb0]
test byte [rax], al
mov rcx, qword [rsp + 0xb0]
test byte [rcx], al
mov rcx, qword [rcx + 0x20]
dec rcx
mov qword [rax + 0x20], rcx
mov rax, qword [rsp + 0xb0]
test byte [rax], al
mov rcx, qword [rsp + 0xb0]
test byte [rcx], al
mov rdx, qword [rcx + 8]
mov rbx, qword [rcx + 0x10]
dec rbx
dec rdx
mov rsi, rbx
neg rbx
sar rbx, 0x3f
and ebx, 1
add rbx, qword [rcx]
mov qword [rax + 8], rdx
mov qword [rax + 0x10], rsi
cmp dword [0x005e24d0], 0
je 0x46d428
jmp 0x46d42a
jmp 0x46d43b
call fcn.0045e960
mov qword [r11], rbx
mov rcx, qword [rax]
mov qword [r11 + 8], rcx
jmp 0x46d43b
mov qword [rax], rbx
nop
jmp 0x46d442
jmp 0x46d367
add rsp, 0xa0
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov byte [rsp + 0x28], sil
mov byte [rsp + 0x29], r8b
call fcn.0045ca20
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
movzx esi, byte [rsp + 0x28]
movzx r8d, byte [rsp + 0x29]
jmp fcn.0046cee0