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

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x474bf1
add rsp, 0xffffffffffffff80
mov qword [rsp + 0x78], rbp
lea rbp, [rsp + 0x78]
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x90], ebx
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xa0], rdi
nop word [rax + rax]
test rdi, rdi
jl 0x474bdd
jmp 0x47482b
cmp rdi, 9
jg 0x474bca
jmp 0x474837
cmp dword [rsp + 0x90], 0
nop
je 0x474844
jmp 0x47486a
test byte [rax], al
mov qword [rax + 0x18], 0
mov rax, qword [rsp + 0x88]
test byte [rax], al
mov qword [rax + 0x20], 0
mov rbp, qword [rsp + 0x78]
sub rsp, 0xffffffffffffff80
ret
mov qword [rsp + 0x50], rcx
mov edx, dword [rsp + 0x90]
lea rdx, [rdx + rdx]
lea rdx, [rdx + 1]
bsr rcx, rdx
mov qword [rsp + 0x60], rcx
cmp rcx, 0x19
jl 0x47488f
jmp 0x4748c3
add rcx, 0xffffffffffffffe7
neg rcx
cmp rcx, 0x20
sbb edx, edx
mov ebx, dword [rsp + 0x90]
shl ebx, cl
and ebx, edx
mov dword [rsp + 0x90], ebx
mov rdx, qword [rsp + 0x60]
add rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe7
mov qword [rsp + 0x50], rdx
jmp 0x4748c5
jmp 0x4748c5
mov rax, qword [rsp + 0x50]
add rax, 0x18
call fcn.00475ec0
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0xa0]
sub rcx, rax
dec rcx
mov qword [rsp + 0x40], rcx
cmp rcx, 0x1b
setle byte [rsp + 0x26]
jle 0x4748f8
jmp 0x474905
cmp qword [rsp + 0x40], 0
setge byte [rsp + 0x26]
jmp 0x474907
jmp 0x474907
movzx edx, byte [rsp + 0x26]
mov byte [rsp + 0x21], dl
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x40]
mov eax, dword [rsp + 0x90]
call fcn.004769e0
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x68], rbx
mov byte [rsp + 0x26], cl
mov edx, dword [rsp + 0x38]
mov dword [rsp + 0x3c], edx
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0x70], rdx
movzx edx, byte [rsp + 0x26]
mov byte [rsp + 0x27], dl
mov edx, dword [rsp + 0x3c]
mov dword [rsp + 0x2c], edx
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0x58], rdx
movzx edx, byte [rsp + 0x27]
mov byte [rsp + 0x22], dl
cmp qword [rsp + 0x58], 0
jge 0x474bb7
jmp 0x474977
cmp qword [rsp + 0x40], 0
setl byte [rsp + 0x25]
jl 0x474986
jmp 0x474993
cmp qword [rsp + 0x40], 0xfffffffffffffff6
setge byte [rsp + 0x25]
jmp 0x474995
jmp 0x474995
movzx edx, byte [rsp + 0x25]
mov byte [rsp + 0x26], dl
nop
test dl, dl
jne 0x4749a6
jmp 0x4749c4
mov eax, dword [rsp + 0x90]
mov rbx, qword [rsp + 0x40]
neg rbx
call fcn.00476ec0
mov byte [rsp + 0x24], al
mov byte [rsp + 0x26], al
jmp 0x4749c6
jmp 0x4749c6
cmp byte [rsp + 0x26], 0
jne 0x4749cf
jmp 0x4749db
mov byte [rsp + 0x21], 1
mov byte [rsp + 0x22], 1
jmp 0x4749dd
jmp 0x4749dd
mov rcx, qword [rsp + 0x58]
neg rcx
cmp rcx, 0x20
sbb edx, edx
mov qword [rsp + 0x48], rcx
mov r8d, 1
shl r8d, cl
and r8d, edx
lea edx, [r8 - 1]
mov dword [rsp + 0x28], edx
mov r8d, dword [rsp + 0x2c]
and r8d, edx
mov dword [rsp + 0x34], r8d
mov rcx, qword [rsp + 0x48]
cmp rcx, 0x20
sbb edx, edx
mov r9d, dword [rsp + 0x2c]
shr r9d, cl
and r9d, edx
mov dword [rsp + 0x2c], r9d
mov dword [rsp + 0x30], r8d
mov byte [rsp + 0x20], 0
cmp byte [rsp + 0x21], 0
jne 0x474a45
nop dword [rax]
jmp 0x474b2f
mov rcx, qword [rsp + 0x48]
dec rcx
cmp rcx, 0x20
sbb edx, edx
mov r8d, 1
shl r8d, cl
and r8d, edx
cmp dword [rsp + 0x30], r8d
seta byte [rsp + 0x26]
ja 0x474a6d
jmp 0x474a6f
jmp 0x474ab2
mov rcx, qword [rsp + 0x48]
dec rcx
cmp rcx, 0x20
sbb edx, edx
mov r8d, 1
shl r8d, cl
and r8d, edx
cmp dword [rsp + 0x30], r8d
sete byte [rsp + 0x24]
je 0x474a97
jmp 0x474aa5
movzx edx, byte [rsp + 0x22]
xor edx, 1
mov byte [rsp + 0x24], dl
jmp 0x474aa7
jmp 0x474aa7
movzx edx, byte [rsp + 0x24]
mov byte [rsp + 0x26], dl
jmp 0x474ab2
movzx edx, byte [rsp + 0x26]
mov byte [rsp + 0x25], dl
test dl, dl
jne 0x474ac2
nop
jmp 0x474ac4
jmp 0x474b24
mov rcx, qword [rsp + 0x48]
dec rcx
cmp rcx, 0x20
sbb edx, edx
mov r8d, 1
shl r8d, cl
and r8d, edx
cmp dword [rsp + 0x30], r8d
sete byte [rsp + 0x23]
je 0x474aec
jmp 0x474af7
movzx edx, byte [rsp + 0x22]
mov byte [rsp + 0x23], dl
jmp 0x474af9
jmp 0x474af9
movzx edx, byte [rsp + 0x23]
mov byte [rsp + 0x24], dl
test dl, dl
jne 0x474b08
jmp 0x474b17
mov edx, dword [rsp + 0x2c]
bt edx, 0
setb byte [rsp + 0x24]
jmp 0x474b19
jmp 0x474b19
movzx edx, byte [rsp + 0x24]
mov byte [rsp + 0x25], dl
jmp 0x474b24
movzx edx, byte [rsp + 0x25]
mov byte [rsp + 0x20], dl
jmp 0x474b53
mov rcx, qword [rsp + 0x48]
dec rcx
cmp rcx, 0x20
sbb edx, edx
mov r8d, dword [rsp + 0x30]
shr r8d, cl
and r8d, edx
cmp r8d, 1
sete byte [rsp + 0x20]
jmp 0x474b53
cmp dword [rsp + 0x30], 0
jne 0x474b5c
jmp 0x474b63
mov byte [rsp + 0x22], 0
jmp 0x474b65
jmp 0x474b65
mov rsi, qword [rsp + 0xa0]
movzx edi, byte [rsp + 0x20]
mov rax, qword [rsp + 0x88]
mov ebx, dword [rsp + 0x2c]
movzx ecx, byte [rsp + 0x22]
xor ecx, 1
call fcn.004750a0
mov rdx, qword [rsp + 0x88]
test byte [rdx], al
mov r8, qword [rsp + 0x88]
test byte [r8], al
mov rdx, qword [rdx + 0x20]
sub rdx, qword [rsp + 0x40]
mov qword [r8 + 0x20], rdx
mov rbp, qword [rsp + 0x78]
sub rsp, 0xffffffffffffff80
ret
lea rax, [0x004d2b80]
lea rbx, [0x004f6fe0]
call fcn.0043a280
lea rax, [0x004d2b80]
lea rbx, [0x004f6fd0]
call fcn.0043a280
lea rax, [0x004d2b80]
lea rbx, [0x004f6fc0]
call fcn.0043a280
nop
mov qword [rsp + 8], rax
mov dword [rsp + 0x10], ebx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.004649e0
mov rax, qword [rsp + 8]
mov ebx, dword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
nop dword [rax]
jmp fcn.004747e0