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

Disassembly:
lea r12, [rsp - 0x88]
cmp r12, qword [r14 + 0x10]
jbe 0x50a2fc
push rbp
mov rbp, rsp
sub rsp, 0x100
movabs rdx, 0xc3770435602948b7
mov qword [rsp + 0x92], rdx
movabs rdx, 0x9238fa4aa7011131
mov qword [rsp + 0x9a], rdx
lea rdi, [rsp + 0xa0]
lea rsi, [0x005f3a89]
nop word [rax + rax]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046164c
mov rbp, qword [rbp]
movups xmmword [rsp + 0x5a], xmm15
movups xmmword [rsp + 0x62], xmm15
movups xmmword [rsp + 0x72], xmm15
movups xmmword [rsp + 0x82], xmm15
movzx edx, byte [rsp + 0xd0]
mov byte [rsp + 0x3c], dl
movzx r8d, byte [rsp + 0xc9]
mov byte [rsp + 0x3b], r8b
movzx r9d, byte [rsp + 0xf4]
mov byte [rsp + 0x3a], r9b
movzx r10d, byte [rsp + 0xc1]
movzx r11d, byte [rsp + 0xe5]
movzx r12d, byte [rsp + 0xd2]
movzx r13d, byte [rsp + 0xea]
movzx r15d, byte [rsp + 0xe6]
mov byte [rsp + 0x39], r15b
movzx eax, byte [rsp + 0xa9]
movzx ecx, byte [rsp + 0xdd]
mov byte [rsp + 0x38], cl
movzx ebx, byte [rsp + 0xa0]
mov byte [rsp + 0x37], bl
movzx esi, byte [rsp + 0xfa]
mov byte [rsp + 0x36], sil
movzx edi, byte [rsp + 0xbf]
mov byte [rsp + 0x35], dil
movzx edx, byte [rsp + 0xfc]
mov byte [rsp + 0x34], dl
movzx edi, byte [rsp + 0xda]
mov byte [rsp + 0x33], dil
movzx r9d, byte [rsp + 0xf8]
movzx ebx, byte [rsp + 0xd1]
mov byte [rsp + 0x32], bl
movzx r8d, byte [rsp + 0x95]
mov byte [rsp + 0x31], r8b
movzx r8d, byte [rsp + 0xfe]
mov byte [rsp + 0x30], r8b
movzx r8d, byte [rsp + 0xec]
mov byte [rsp + 0x2f], r8b
movzx r8d, byte [rsp + 0xb7]
mov byte [rsp + 0x2e], r8b
movzx ecx, byte [rsp + 0xf7]
mov byte [rsp + 0x2d], cl
movzx esi, byte [rsp + 0xb6]
movzx ebx, byte [rsp + 0xdb]
mov byte [rsp + 0x2c], bl
movzx ebx, byte [rsp + 0xf0]
mov byte [rsp + 0x2b], bl
movzx ebx, byte [rsp + 0xd6]
mov byte [rsp + 0x2a], bl
movzx ebx, byte [rsp + 0xf5]
mov byte [rsp + 0x29], bl
movzx ebx, byte [rsp + 0xca]
movzx ecx, byte [rsp + 0x9b]
mov byte [rsp + 0x28], cl
movzx ecx, byte [rsp + 0xdc]
mov byte [rsp + 0x27], cl
movzx ecx, byte [rsp + 0xcc]
mov byte [rsp + 0x26], cl
movzx ecx, byte [rsp + 0xba]
mov byte [rsp + 0x25], cl
movzx ecx, byte [rsp + 0xee]
mov byte [rsp + 0x24], cl
movzx ecx, byte [rsp + 0xe9]
mov byte [rsp + 0x23], cl
movzx ecx, byte [rsp + 0xc3]
movzx edi, byte [rsp + 0xcf]
mov byte [rsp + 0x22], dil
movzx edi, byte [rsp + 0xce]
movzx r8d, byte [rsp + 0xaf]
xor edi, ebx
mov byte [rsp + 0x21], dil
xor ecx, r8d
mov byte [rsp + 0x20], cl
movzx r8d, byte [rsp + 0xd3]
movzx ebx, byte [rsp + 0xef]
mov byte [rsp + 0x1f], bl
movzx edi, byte [rsp + 0xfb]
mov byte [rsp + 0x1e], dil
movzx ecx, byte [rsp + 0xd9]
movzx edi, byte [rsp + 0xb1]
mov byte [rsp + 0x1d], dil
movzx ebx, byte [rsp + 0xb9]
mov byte [rsp + 0x1c], bl
movzx ebx, byte [rsp + 0xaa]
mov byte [rsp + 0x59], bl
movzx ebx, byte [rsp + 0xe1]
mov byte [rsp + 0x58], bl
movzx ebx, byte [rsp + 0xc7]
mov byte [rsp + 0x57], bl
movzx ebx, byte [rsp + 0xe2]
movzx edi, byte [rsp + 0xb5]
mov byte [rsp + 0x56], dil
sub ecx, ebx
mov byte [rsp + 0x55], cl
movzx ebx, byte [rsp + 0xe4]
mov byte [rsp + 0x54], bl
movzx ecx, byte [rsp + 0xff]
movzx edi, byte [rsp + 0x9f]
movzx ebx, byte [rsp + 0xd4]
movzx r15d, byte [rsp + 0xa5]
mov byte [rsp + 0x53], r15b
xor ecx, ebx
mov byte [rsp + 0x52], cl
add r8d, edi
mov byte [rsp + 0x51], r8b
movzx ebx, byte [rsp + 0xde]
mov byte [rsp + 0x50], bl
movzx edi, byte [rsp + 0xc0]
movzx ecx, byte [rsp + 0xf6]
mov byte [rsp + 0x4f], cl
movzx r8d, byte [rsp + 0xbd]
mov byte [rsp + 0x4e], r8b
movzx ebx, byte [rsp + 0xa3]
mov byte [rsp + 0x4d], bl
movzx ecx, byte [rsp + 0x9c]
movzx r8d, byte [rsp + 0xc8]
mov byte [rsp + 0x4c], r8b
movzx r8d, byte [rsp + 0xbc]
mov byte [rsp + 0x4b], r8b
movzx ebx, byte [rsp + 0xa8]
mov byte [rsp + 0x4a], bl
movzx ebx, byte [rsp + 0xae]
movzx r8d, byte [rsp + 0xe8]
mov byte [rsp + 0x49], r8b
movzx r8d, byte [rsp + 0xab]
add r12d, ebx
mov byte [rsp + 0x48], r12b
movzx ebx, byte [rsp + 0xeb]
movzx r12d, byte [rsp + 0xf2]
movzx r15d, byte [rsp + 0xc2]
movzx edx, byte [rsp + 0xed]
mov byte [rsp + 0x47], dl
movzx edx, byte [rsp + 0xf9]
mov byte [rsp + 0x46], dl
movzx edx, byte [rsp + 0xd8]
sub ecx, ebx
mov byte [rsp + 0x45], cl
xor r8d, edx
mov byte [rsp + 0x44], r8b
movzx edx, byte [rsp + 0xfd]
movzx ebx, byte [rsp + 0xd7]
movzx ecx, byte [rsp + 0xbe]
sub edx, r15d
mov byte [rsp + 0x43], dl
movzx r15d, byte [rsp + 0xdf]
mov byte [rsp + 0x42], r15b
movzx edx, byte [rsp + 0xcd]
movzx r8d, byte [rsp + 0xa6]
movzx r15d, byte [rsp + 0x99]
xor edx, edi
add r12d, r15d
mov byte [rsp + 0x41], r12b
movzx r15d, byte [rsp + 0xb0]
movzx edi, byte [rsp + 0xa4]
movzx r12d, byte [rsp + 0xa2]
xor r15d, ecx
mov byte [rsp + 0x40], r15b
lea ecx, [rdi + rsi]
mov byte [rsp + 0x3f], cl
xor eax, r10d
mov byte [rsp + 0x3e], al
sub r13d, r11d
mov byte [rsp + 0x3d], r13b
movzx r10d, byte [rsp + 0xc4]
movzx r11d, byte [rsp + 0x34]
add r9d, r11d
mov byte [rsp + 0x34], r9b
movzx r11d, byte [rsp + 0x39]
sub r11d, r10d
mov byte [rsp + 0x39], r11b
movzx r10d, byte [rsp + 0x2e]
movzx r13d, byte [rsp + 0x33]
sub r10d, r13d
mov byte [rsp + 0x33], r10b
movzx r13d, byte [rsp + 0xcb]
movzx edi, byte [rsp + 0x92]
movzx r9d, byte [rsp + 0x2d]
sub r13d, r9d
mov byte [rsp + 0x2e], r13b
movzx r9d, byte [rsp + 0x32]
xor edi, r9d
movzx r9d, byte [rsp + 0x96]
movzx r13d, byte [rsp + 0x2a]
movzx r10d, byte [rsp + 0x27]
sub r13d, r10d
mov byte [rsp + 0x32], r13b
movzx r10d, byte [rsp + 0x26]
sub r10d, r9d
mov byte [rsp + 0x2d], r10b
movzx r9d, byte [rsp + 0x97]
movzx eax, byte [rsp + 0x9a]
movzx r10d, byte [rsp + 0x23]
add r9d, r10d
mov byte [rsp + 0x2a], r9b
movzx r10d, byte [rsp + 0x29]
sub r10d, eax
mov byte [rsp + 0x29], r10b
movzx r10d, byte [rsp + 0x25]
movzx r15d, byte [rsp + 0x22]
xor r10d, r15d
mov byte [rsp + 0x27], r10b
movzx r15d, byte [rsp + 0xe3]
movzx esi, byte [rsp + 0xad]
movzx r10d, byte [rsp + 0x94]
movzx r13d, byte [rsp + 0x24]
add r13d, esi
mov byte [rsp + 0x26], r13b
add r10d, r15d
mov byte [rsp + 0x25], r10b
movzx r15d, byte [rsp + 0x1d]
movzx r13d, byte [rsp + 0x2c]
xor r15d, r13d
mov byte [rsp + 0x2c], r15b
movzx r13d, byte [rsp + 0x1c]
movzx r15d, byte [rsp + 0x54]
xor r13d, r15d
mov byte [rsp + 0x24], r13b
movzx r15d, byte [rsp + 0x53]
movzx r13d, byte [rsp + 0x2b]
xor r15d, r13d
mov byte [rsp + 0x2b], r15b
movzx r13d, byte [rsp + 0xb4]
movzx esi, byte [rsp + 0x98]
movzx r15d, byte [rsp + 0x4b]
add r13d, r15d
mov byte [rsp + 0x23], r13b
movzx r15d, byte [rsp + 0x4d]
sub esi, r15d
mov byte [rsp + 0x22], sil
movzx r15d, byte [rsp + 0x9e]
movzx r13d, byte [rsp + 0x36]
movzx r10d, byte [rsp + 0x4e]
xor r13d, r10d
mov byte [rsp + 0x36], r13b
movzx r10d, byte [rsp + 0x4a]
xor r10d, r15d
mov byte [rsp + 0x1d], r10b
movzx r15d, byte [rsp + 0xa7]
movzx r10d, byte [rsp + 0x38]
movzx r11d, byte [rsp + 0x47]
sub r10d, r11d
mov byte [rsp + 0x38], r10b
movzx r11d, byte [rsp + 0x2f]
xor r11d, r15d
mov byte [rsp + 0x2f], r11b
movzx r15d, byte [rsp + 0x56]
add r15d, ebx
mov byte [rsp + 0x1c], r15b
movzx r11d, byte [rsp + 0x28]
xor r11d, r8d
movzx r8d, byte [rsp + 0x42]
xor r12d, r8d
mov byte [rsp + 0x28], r12b
movzx r8d, byte [rsp + 0x37]
movzx r10d, byte [rsp + 0x3b]
sub r8d, r10d
mov byte [rsp + 0x3b], r8b
movzx r10d, byte [rsp + 0xc6]
movzx r8d, byte [rsp + 0x30]
movzx r15d, byte [rsp + 0x31]
add r8d, r15d
mov byte [rsp + 0x37], r8b
movzx r15d, byte [rsp + 0xb2]
movzx ebx, byte [rsp + 0xe0]
movzx esi, byte [rsp + 0xd5]
movzx r8d, byte [rsp + 0xa1]
movzx r13d, byte [rsp + 0x1f]
movzx r9d, byte [rsp + 0x57]
xor r13d, r9d
mov byte [rsp + 0x31], r13b
movzx r9d, byte [rsp + 0x58]
sub r9d, r8d
mov byte [rsp + 0x30], r9b
movzx r8d, byte [rsp + 0xac]
movzx r9d, byte [rsp + 0x59]
movzx r13d, byte [rsp + 0x4f]
xor r9d, r13d
mov byte [rsp + 0x1f], r9b
movzx r13d, byte [rsp + 0x49]
movzx r9d, byte [rsp + 0x50]
sub r13d, r9d
mov byte [rsp + 0x59], r13b
movzx r9d, byte [rsp + 0x3a]
movzx r13d, byte [rsp + 0x4c]
add r9d, r13d
mov byte [rsp + 0x3a], r9b
movzx r13d, byte [rsp + 0x46]
movzx r9d, byte [rsp + 0x1e]
xor r13d, r9d
mov byte [rsp + 0x1e], r13b
movzx r9d, byte [rsp + 0x93]
movzx eax, byte [rsp + 0xe7]
movzx r13d, byte [rsp + 0x35]
sub r9d, r13d
movzx r13d, byte [rsp + 0xf3]
movzx ecx, byte [rsp + 0xc5]
sub r13d, eax
movzx r12d, byte [rsp + 0x3c]
add r12d, ecx
movzx ecx, byte [rsp + 0xbb]
movzx eax, byte [rsp + 0xb8]
xor ebx, ecx
add r8d, esi
movzx ecx, byte [rsp + 0x9d]
movzx esi, byte [rsp + 0xf1]
xor r10d, ecx
add r15d, esi
movzx ecx, byte [rsp + 0xb3]
mov byte [rsp + 0x5a], r12b
mov byte [rsp + 0x5b], r15b
mov byte [rsp + 0x5c], r13b
mov byte [rsp + 0x5d], r10b
sub ecx, eax
mov byte [rsp + 0x5e], cl
mov byte [rsp + 0x5f], bl
mov byte [rsp + 0x60], r8b
mov byte [rsp + 0x61], r9b
mov byte [rsp + 0x62], dil
mov byte [rsp + 0x63], r11b
mov byte [rsp + 0x64], dl
movzx edx, byte [rsp + 0x28]
mov byte [rsp + 0x65], dl
movzx edx, byte [rsp + 0x2a]
mov byte [rsp + 0x66], dl
movzx edx, byte [rsp + 0x59]
mov byte [rsp + 0x67], dl
movzx edx, byte [rsp + 0x3a]
mov byte [rsp + 0x68], dl
movzx edx, byte [rsp + 0x31]
mov byte [rsp + 0x69], dl
movzx edx, byte [rsp + 0x1e]
mov byte [rsp + 0x6a], dl
movzx edx, byte [rsp + 0x36]
mov byte [rsp + 0x6b], dl
movzx edx, byte [rsp + 0x1f]
mov byte [rsp + 0x6c], dl
movzx edx, byte [rsp + 0x3f]
mov byte [rsp + 0x6d], dl
movzx edx, byte [rsp + 0x39]
mov byte [rsp + 0x6e], dl
movzx edx, byte [rsp + 0x32]
mov byte [rsp + 0x6f], dl
movzx edx, byte [rsp + 0x25]
mov byte [rsp + 0x70], dl
movzx edx, byte [rsp + 0x23]
mov byte [rsp + 0x71], dl
movzx edx, byte [rsp + 0x40]
mov byte [rsp + 0x72], dl
movzx edx, byte [rsp + 0x29]
mov byte [rsp + 0x73], dl
movzx edx, byte [rsp + 0x1d]
mov byte [rsp + 0x74], dl
movzx edx, byte [rsp + 0x2c]
mov byte [rsp + 0x75], dl
movzx edx, byte [rsp + 0x2b]
mov byte [rsp + 0x76], dl
movzx edx, byte [rsp + 0x1c]
mov byte [rsp + 0x77], dl
movzx edx, byte [rsp + 0x38]
mov byte [rsp + 0x78], dl
movzx edx, byte [rsp + 0x51]
mov byte [rsp + 0x79], dl
movzx edx, byte [rsp + 0x37]
mov byte [rsp + 0x7a], dl
movzx edx, byte [rsp + 0x44]
mov byte [rsp + 0x7b], dl
movzx edx, byte [rsp + 0x24]
mov byte [rsp + 0x7c], dl
movzx edx, byte [rsp + 0x27]
mov byte [rsp + 0x7d], dl
movzx edx, byte [rsp + 0x33]
mov byte [rsp + 0x7e], dl
movzx edx, byte [rsp + 0x3b]
mov byte [rsp + 0x7f], dl
movzx edx, byte [rsp + 0x43]
mov byte [rsp + 0x80], dl
movzx edx, byte [rsp + 0x22]
mov byte [rsp + 0x81], dl
movzx edx, byte [rsp + 0x52]
mov byte [rsp + 0x82], dl
movzx edx, byte [rsp + 0x30]
mov byte [rsp + 0x83], dl
movzx edx, byte [rsp + 0x20]
mov byte [rsp + 0x84], dl
movzx edx, byte [rsp + 0x2d]
mov byte [rsp + 0x85], dl
movzx edx, byte [rsp + 0x2e]
mov byte [rsp + 0x86], dl
movzx edx, byte [rsp + 0x34]
mov byte [rsp + 0x87], dl
movzx edx, byte [rsp + 0x3d]
mov byte [rsp + 0x88], dl
movzx edx, byte [rsp + 0x3e]
mov byte [rsp + 0x89], dl
movzx edx, byte [rsp + 0x21]
mov byte [rsp + 0x8a], dl
movzx edx, byte [rsp + 0x55]
mov byte [rsp + 0x8b], dl
movzx edx, byte [rsp + 0x45]
mov byte [rsp + 0x8c], dl
movzx edx, byte [rsp + 0x2f]
mov byte [rsp + 0x8d], dl
movzx edx, byte [rsp + 0x48]
mov byte [rsp + 0x8e], dl
movzx edx, byte [rsp + 0x41]
mov byte [rsp + 0x8f], dl
movzx edx, byte [rsp + 0x26]
mov byte [rsp + 0x90], dl
xor eax, eax
lea rbx, [rsp + 0x5a]
mov ecx, 0x37
call fcn.0044bb20
add rsp, 0x100
pop rbp
ret
nop dword [rax]
call fcn.0045eda0
jmp fcn.00509960