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

Disassembly:
lea r12, [rsp - 0x28]
cmp r12, qword [r14 + 0x10]
jbe 0x476050
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 0x475b85
mov dword [rsp + 0x64], ecx
mov dword [rsp + 0x60], r11d
mov dword [rsp + 0x3c], ecx
mov dword [rsp + 0x5c], 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 0x475bf2
mov dword [rsp + 0x74], ecx
mov dword [rsp + 0x70], r11d
mov dword [rsp + 0x58], ecx
mov dword [rsp + 0x44], 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 0x475c58
mov dword [rsp + 0x6c], ecx
mov dword [rsp + 0x68], edi
mov dword [rsp + 0x50], ecx
mov dword [rsp + 0x54], edi
test ecx, ecx
je 0x475c6e
jmp 0x475ca0
mov ebx, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x44]
movzx esi, byte [rsp + 0xd0]
movzx r8d, byte [rsp + 0xd1]
mov rax, qword [rsp + 0xb0]
mov r9d, 8
call fcn.004760a0
jmp 0x475eef
cmp dword [rsp + 0x3c], ecx
jb 0x475cab
jmp 0x475d85
cmp dword [rsp + 0x5c], 0
jne 0x475cb4
jmp 0x475cba
inc dword [rsp + 0x3c]
jmp 0x475cbc
jmp 0x475cbc
movzx edx, byte [rsp + 0xd0]
mov byte [rsp + 0x23], dl
test dl, dl
jne 0x475cce
jmp 0x475cda
cmp dword [rsp + 0x44], 0
sete byte [rsp + 0x23]
jmp 0x475cdc
jmp 0x475cdc
movzx edx, byte [rsp + 0x23]
mov byte [rsp + 0xd0], dl
cmp dword [rsp + 0x44], 0x1dcd6500
seta byte [rsp + 0x23]
ja 0x475cf9
jmp 0x475cfb
jmp 0x475d27
cmp dword [rsp + 0x44], 0x1dcd6500
sete byte [rsp + 0x22]
je 0x475d0c
jmp 0x475d1a
movzx edx, byte [rsp + 0xd1]
mov byte [rsp + 0x22], dl
jmp 0x475d1c
jmp 0x475d1c
movzx edx, byte [rsp + 0x22]
mov byte [rsp + 0x23], dl
jmp 0x475d27
movzx r8d, byte [rsp + 0x23]
mov byte [rsp + 0xd1], r8b
mov ebx, dword [rsp + 0x3c]
mov ecx, dword [rsp + 0x58]
mov edi, dword [rsp + 0x50]
movzx esi, byte [rsp + 0xd0]
mov rax, qword [rsp + 0xb0]
mov r9d, 8
call fcn.004760a0
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 0x475eed
mov rdx, qword [rsp + 0xb0]
test byte [rdx], al
mov qword [rdx + 0x18], 0
mov qword [rsp + 0x90], 9
mov edx, dword [rsp + 0x58]
mov dword [rsp + 0x48], edx
jmp 0x475dad
cmp dword [rsp + 0x48], 0
ja 0x475db6
jmp 0x475e26
mov edx, dword [rsp + 0x48]
mov r10d, 0xcccccccd
imul rdx, r10
shr rdx, 0x23
mov dword [rsp + 0x4c], edx
mov r11d, dword [rsp + 0x48]
imul r10, r11
shr r10, 0x23
lea r10d, [r10 + r10*4]
shl r10d, 1
sub r11d, r10d
mov dword [rsp + 0x40], r11d
mov dword [rsp + 0x48], 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 + 0x40]
add r10d, 0x30
mov byte [rdx], r10b
jmp 0x475e24
jmp 0x475dad
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 [0x005e2510], 0
je 0x475e74
jmp 0x475e76
jmp 0x475e87
call fcn.00467be0
mov qword [r11], r13
mov r10, qword [rdx]
mov qword [r11 + 8], r10
jmp 0x475e87
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 + 0x5c]
mov ecx, dword [rsp + 0x44]
mov edi, dword [rsp + 0x54]
movzx esi, byte [rsp + 0xd0]
movzx r8d, byte [rsp + 0xd1]
mov rax, qword [rsp + 0xb0]
call fcn.004760a0
jmp 0x475eed
jmp 0x475eef
jmp 0x475ef1
mov rax, qword [rsp + 0xb0]
test byte [rax], al
cmp qword [rax + 0x18], 0
setg byte [rsp + 0x23]
jg 0x475f09
jmp 0x475f36
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 0x475f38
jmp 0x475f38
cmp byte [rsp + 0x23], 0
jne 0x475f42
nop
jmp 0x475f65
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 0x475f63
jmp 0x475ef1
jmp 0x475f67
mov rax, qword [rsp + 0xb0]
test byte [rax], al
cmp qword [rax + 0x18], 0
setg byte [rsp + 0x23]
jg 0x475f7f
jmp 0x475f96
mov rax, qword [rsp + 0xb0]
test byte [rax], al
mov rax, qword [rax]
cmp byte [rax], 0x30
sete byte [rsp + 0x23]
jmp 0x475f98
jmp 0x475f98
cmp byte [rsp + 0x23], 0
jne 0x475fa5
nop
jmp 0x476047
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 [0x005e2510], 0
je 0x476028
jmp 0x47602a
jmp 0x47603b
call fcn.00467be0
mov qword [r11], rbx
mov rcx, qword [rax]
mov qword [r11 + 8], rcx
jmp 0x47603b
mov qword [rax], rbx
nop
jmp 0x476042
jmp 0x475f67
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.00465ca0
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.00475ae0