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

Disassembly:
lea r12, [rsp - 0x28]
cmp r12, qword [r14 + 0x10]
jbe 0x46e288
sub rsp, 0xa8
mov qword [rsp + 0xa0], rbp
lea rbp, [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 0x46dd51
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 0x46ddbe
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 rdi, 1
movabs rax, 0x89705f4136b4a598
mov rcx, rdx
mul rdi
shr rdx, 0x1c
imul rdx, rdx, 0x3b9aca00
sub r10, rdx
mov dword [rsp + 0x24], r10d
jmp 0x46de25
mov dword [rsp + 0x6c], ecx
mov dword [rsp + 0x68], r10d
mov dword [rsp + 0x4c], ecx
mov dword [rsp + 0x48], r10d
test ecx, ecx
je 0x46de3d
jmp 0x46de71
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 rdi, r10
mov r9d, 8
call fcn.0046e2e0
jmp 0x46e0d5
cmp dword [rsp + 0x54], ecx
jb 0x46de7c
jmp 0x46df53
cmp dword [rsp + 0x50], 0
jne 0x46de85
jmp 0x46de8b
inc dword [rsp + 0x54]
jmp 0x46de8d
jmp 0x46de8d
movzx edx, byte [rsp + 0xd0]
mov byte [rsp + 0x23], dl
test dl, dl
jne 0x46de9f
jmp 0x46deab
cmp dword [rsp + 0x58], 0
sete byte [rsp + 0x23]
jmp 0x46dead
jmp 0x46dead
movzx edx, byte [rsp + 0x23]
mov byte [rsp + 0xd0], dl
cmp dword [rsp + 0x58], 0x1dcd6500
seta byte [rsp + 0x23]
ja 0x46deca
jmp 0x46decc
jmp 0x46def8
cmp dword [rsp + 0x58], 0x1dcd6500
sete byte [rsp + 0x22]
je 0x46dedd
jmp 0x46deeb
movzx edx, byte [rsp + 0xd1]
mov byte [rsp + 0x22], dl
jmp 0x46deed
jmp 0x46deed
movzx edx, byte [rsp + 0x22]
mov byte [rsp + 0x23], dl
jmp 0x46def8
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.0046e2e0
mov rdx, qword [rsp + 0xb0]
test byte [rdx], al
mov r10, qword [rsp + 0xb0]
test byte [r10], al
mov rdx, qword [rdx + 0x20]
add rdx, 9
mov qword [r10 + 0x20], rdx
jmp 0x46e0d3
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 0x46df7b
cmp dword [rsp + 0x44], 0
ja 0x46df87
jmp 0x46e008
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 rax, qword [rsp + 0x90]
lea rdx, [rax - 1]
mov qword [rsp + 0x90], rdx
mov r10, qword [rsp + 0xb0]
test byte [r10], al
mov rcx, qword [r10 + 8]
mov r10, qword [r10]
mov r11d, dword [rsp + 0x3c]
add r11d, 0x30
cmp rcx, rdx
ja 0x46dff6
jmp 0x46e27f
lea rdx, [rax + r10]
lea rdx, [rdx - 1]
mov byte [rdx], r11b
jmp 0x46e003
jmp 0x46df7b
mov rdx, qword [rsp + 0xb0]
test byte [rdx], al
mov rcx, qword [rdx + 8]
mov r10, qword [rdx]
mov rdx, qword [rdx + 0x10]
mov rax, qword [rsp + 0x90]
jmp 0x46e027
cmp rcx, rax
jae 0x46e031
jmp 0x46e27a
mov rdi, qword [rsp + 0xb0]
test byte [rdi], al
sub rcx, rax
mov qword [rdi + 8], rcx
sub rdx, rax
mov qword [rdi + 0x10], rdx
neg rdx
sar rdx, 0x3f
and rax, rdx
lea rdx, [r10 + rax]
cmp dword [0x005fe8e0], 0
nop
je 0x46e064
jmp 0x46e069
mov qword [rdi], rdx
jmp 0x46e070
call fcn.0045eb60
jmp 0x46e070
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.0046e2e0
jmp 0x46e0d3
jmp 0x46e0d5
jmp 0x46e0d7
mov rdx, qword [rsp + 0xb0]
test byte [rdx], al
cmp qword [rdx + 0x18], 0
setg byte [rsp + 0x23]
jg 0x46e0ef
jmp 0x46e12e
mov rdx, qword [rsp + 0xb0]
test byte [rdx], al
mov rbx, qword [rsp + 0xb0]
test byte [rbx], al
mov rcx, qword [rdx + 8]
mov rdx, qword [rdx]
mov rax, qword [rbx + 0x18]
lea rbx, [rax - 1]
cmp rcx, rbx
ja 0x46e11c
jmp 0x46e272
lea rdx, [rax + rdx]
lea rdx, [rdx - 1]
cmp byte [rdx], 0x30
sete byte [rsp + 0x23]
jmp 0x46e130
jmp 0x46e130
cmp byte [rsp + 0x23], 0
jne 0x46e139
jmp 0x46e160
mov rdx, qword [rsp + 0xb0]
test byte [rdx], al
mov rbx, qword [rsp + 0xb0]
test byte [rbx], al
mov rdx, qword [rdx + 0x18]
dec rdx
mov qword [rbx + 0x18], rdx
jmp 0x46e15a
jmp 0x46e0d7
jmp 0x46e162
mov rdx, qword [rsp + 0xb0]
test byte [rdx], al
cmp qword [rdx + 0x18], 0
setg byte [rsp + 0x23]
jg 0x46e17a
jmp 0x46e1a0
mov rdx, qword [rsp + 0xb0]
test byte [rdx], al
mov rcx, qword [rdx + 8]
mov rdx, qword [rdx]
test rcx, rcx
ja 0x46e195
jmp 0x46e26b
cmp byte [rdx], 0x30
sete byte [rsp + 0x23]
jmp 0x46e1a2
jmp 0x46e1a2
cmp byte [rsp + 0x23], 0
jne 0x46e1ae
jmp 0x46e250
mov rdx, qword [rsp + 0xb0]
test byte [rdx], al
mov rbx, qword [rsp + 0xb0]
test byte [rbx], al
mov rdx, qword [rdx + 0x18]
dec rdx
mov qword [rbx + 0x18], rdx
mov rdx, qword [rsp + 0xb0]
test byte [rdx], al
mov rbx, qword [rsp + 0xb0]
test byte [rbx], al
mov rdx, qword [rdx + 0x20]
dec rdx
mov qword [rbx + 0x20], rdx
mov rdx, qword [rsp + 0xb0]
test byte [rdx], al
mov rcx, qword [rdx + 8]
mov rbx, qword [rdx]
mov rdx, qword [rdx + 0x10]
jmp 0x46e203
cmp rcx, 1
jae 0x46e20b
jmp 0x46e261
mov rdi, qword [rsp + 0xb0]
test byte [rdi], al
lea rsi, [rcx - 1]
mov qword [rdi + 8], rsi
dec rdx
mov qword [rdi + 0x10], rdx
neg rdx
sar rdx, 0x3f
and edx, 1
add rdx, rbx
cmp dword [0x005fe8e0], 0
je 0x46e23c
jmp 0x46e242
mov qword [rdi], rdx
nop
jmp 0x46e249
call fcn.0045eb60
jmp 0x46e249
jmp 0x46e24b
jmp 0x46e162
mov rbp, qword [rsp + 0xa0]
add rsp, 0xa8
nop
ret
mov eax, 1
call fcn.0045efa0
xor eax, eax
call fcn.0045eee0
mov rax, rbx
call fcn.0045eee0
call fcn.0045efc0
mov rax, rdx
call fcn.0045ef00
nop
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.0045c880
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.0046dca0