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

Disassembly:
lea r12, [rsp - 0x28]
cmp r12, qword [r14 + 0x10]
jbe 0x46d9e8
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 0x46d4b1
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 0x46d51e
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 0x46d585
mov dword [rsp + 0x6c], ecx
mov dword [rsp + 0x68], r10d
mov dword [rsp + 0x4c], ecx
mov dword [rsp + 0x48], r10d
test ecx, ecx
je 0x46d59d
jmp 0x46d5d1
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.0046da40
jmp 0x46d835
cmp dword [rsp + 0x54], ecx
jb 0x46d5dc
jmp 0x46d6b3
cmp dword [rsp + 0x50], 0
jne 0x46d5e5
jmp 0x46d5eb
inc dword [rsp + 0x54]
jmp 0x46d5ed
jmp 0x46d5ed
movzx edx, byte [rsp + 0xd0]
mov byte [rsp + 0x23], dl
test dl, dl
jne 0x46d5ff
jmp 0x46d60b
cmp dword [rsp + 0x58], 0
sete byte [rsp + 0x23]
jmp 0x46d60d
jmp 0x46d60d
movzx edx, byte [rsp + 0x23]
mov byte [rsp + 0xd0], dl
cmp dword [rsp + 0x58], 0x1dcd6500
seta byte [rsp + 0x23]
ja 0x46d62a
jmp 0x46d62c
jmp 0x46d658
cmp dword [rsp + 0x58], 0x1dcd6500
sete byte [rsp + 0x22]
je 0x46d63d
jmp 0x46d64b
movzx edx, byte [rsp + 0xd1]
mov byte [rsp + 0x22], dl
jmp 0x46d64d
jmp 0x46d64d
movzx edx, byte [rsp + 0x22]
mov byte [rsp + 0x23], dl
jmp 0x46d658
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.0046da40
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 0x46d833
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 0x46d6db
cmp dword [rsp + 0x44], 0
ja 0x46d6e7
jmp 0x46d768
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 0x46d756
jmp 0x46d9df
lea rdx, [rax + r10]
lea rdx, [rdx - 1]
mov byte [rdx], r11b
jmp 0x46d763
jmp 0x46d6db
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 0x46d787
cmp rcx, rax
jae 0x46d791
jmp 0x46d9da
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 [0x005cb4a0], 0
nop
je 0x46d7c4
jmp 0x46d7c9
mov qword [rdi], rdx
jmp 0x46d7d0
call fcn.0045e340
jmp 0x46d7d0
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.0046da40
jmp 0x46d833
jmp 0x46d835
jmp 0x46d837
mov rdx, qword [rsp + 0xb0]
test byte [rdx], al
cmp qword [rdx + 0x18], 0
setg byte [rsp + 0x23]
jg 0x46d84f
jmp 0x46d88e
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 0x46d87c
jmp 0x46d9d2
lea rdx, [rax + rdx]
lea rdx, [rdx - 1]
cmp byte [rdx], 0x30
sete byte [rsp + 0x23]
jmp 0x46d890
jmp 0x46d890
cmp byte [rsp + 0x23], 0
jne 0x46d899
jmp 0x46d8c0
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 0x46d8ba
jmp 0x46d837
jmp 0x46d8c2
mov rdx, qword [rsp + 0xb0]
test byte [rdx], al
cmp qword [rdx + 0x18], 0
setg byte [rsp + 0x23]
jg 0x46d8da
jmp 0x46d900
mov rdx, qword [rsp + 0xb0]
test byte [rdx], al
mov rcx, qword [rdx + 8]
mov rdx, qword [rdx]
test rcx, rcx
ja 0x46d8f5
jmp 0x46d9cb
cmp byte [rdx], 0x30
sete byte [rsp + 0x23]
jmp 0x46d902
jmp 0x46d902
cmp byte [rsp + 0x23], 0
jne 0x46d90e
jmp 0x46d9b0
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 0x46d963
cmp rcx, 1
jae 0x46d96b
jmp 0x46d9c1
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 [0x005cb4a0], 0
je 0x46d99c
jmp 0x46d9a2
mov qword [rdi], rdx
nop
jmp 0x46d9a9
call fcn.0045e340
jmp 0x46d9a9
jmp 0x46d9ab
jmp 0x46d8c2
mov rbp, qword [rsp + 0xa0]
add rsp, 0xa8
nop
ret
mov eax, 1
call fcn.0045e780
xor eax, eax
call fcn.0045e6c0
mov rax, rbx
call fcn.0045e6c0
call fcn.0045e7a0
mov rax, rdx
call fcn.0045e6e0
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.0045c060
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.0046d400