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

Disassembly:
lea r12, [rsp - 0x68]
cmp r12, qword [r14 + 0x10]
jbe 0x515b75
sub rsp, 0xe8
mov qword [rsp + 0xe0], rbp
lea rbp, [rsp + 0xe0]
movabs rdx, 0xb82b20522847df17
mov qword [rsp + 0x8c], rdx
lea rdi, [rsp + 0x90]
lea rsi, [0x00539729]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0045439a
mov rbp, qword [rbp]
movups xmmword [rsp + 0x61], xmm15
movups xmmword [rsp + 0x6c], xmm15
movups xmmword [rsp + 0x7c], xmm15
movzx edx, byte [rsp + 0xa2]
movzx r8d, byte [rsp + 0xbe]
xor r8d, edx
movzx edx, byte [rsp + 0x9f]
movzx r9d, byte [rsp + 0xa5]
movzx r10d, byte [rsp + 0xbc]
movzx r11d, byte [rsp + 0xb3]
movzx r12d, byte [rsp + 0xcb]
movzx r13d, byte [rsp + 0xc3]
movzx r15d, byte [rsp + 0xd1]
mov eax, r15d
movzx r15d, byte [rsp + 0xd0]
mov ecx, r15d
movzx r15d, byte [rsp + 0xb6]
mov ebx, r15d
movzx r15d, byte [rsp + 0xce]
mov esi, r15d
movzx r15d, byte [rsp + 0xcc]
mov edi, r15d
movzx r15d, byte [rsp + 0x9c]
mov byte [rsp + 0x48], r15b
movzx r15d, byte [rsp + 0xa4]
mov byte [rsp + 0x47], r15b
movzx r15d, byte [rsp + 0xd7]
mov byte [rsp + 0x46], r15b
movzx r15d, byte [rsp + 0x8c]
mov byte [rsp + 0x45], r15b
movzx r15d, byte [rsp + 0x8d]
mov byte [rsp + 0x44], r15b
movzx r15d, byte [rsp + 0x8e]
mov byte [rsp + 0x43], r15b
movzx r15d, byte [rsp + 0x8f]
mov byte [rsp + 0x42], r15b
movzx r15d, byte [rsp + 0x90]
mov byte [rsp + 0x41], r15b
movzx r15d, byte [rsp + 0x91]
mov byte [rsp + 0x40], r15b
movzx r15d, byte [rsp + 0x92]
mov byte [rsp + 0x3f], r15b
movzx r15d, byte [rsp + 0x93]
mov byte [rsp + 0x3e], r15b
movzx r15d, byte [rsp + 0x94]
mov byte [rsp + 0x3d], r15b
movzx r15d, byte [rsp + 0x95]
mov byte [rsp + 0x3c], r15b
movzx r15d, byte [rsp + 0x96]
mov byte [rsp + 0x3b], r15b
movzx r15d, byte [rsp + 0x97]
mov byte [rsp + 0x3a], r15b
movzx r15d, byte [rsp + 0x98]
mov byte [rsp + 0x39], r15b
movzx r15d, byte [rsp + 0x99]
mov byte [rsp + 0x38], r15b
movzx r15d, byte [rsp + 0x9a]
mov byte [rsp + 0x37], r15b
movzx r15d, byte [rsp + 0x9b]
mov byte [rsp + 0x36], r15b
movzx r15d, byte [rsp + 0x9d]
mov byte [rsp + 0x35], r15b
movzx r15d, byte [rsp + 0x9e]
mov byte [rsp + 0x34], r15b
movzx r15d, byte [rsp + 0xa0]
mov byte [rsp + 0x33], r15b
movzx r15d, byte [rsp + 0xa1]
mov byte [rsp + 0x32], r15b
movzx r15d, byte [rsp + 0xa3]
mov byte [rsp + 0x31], r15b
movzx r15d, byte [rsp + 0xa6]
mov byte [rsp + 0x30], r15b
movzx r15d, byte [rsp + 0xa7]
mov byte [rsp + 0x2f], r15b
movzx r15d, byte [rsp + 0xa8]
mov byte [rsp + 0x2e], r15b
movzx r15d, byte [rsp + 0xa9]
mov byte [rsp + 0x2d], r15b
movzx r15d, byte [rsp + 0xaa]
mov byte [rsp + 0x2c], r15b
movzx r15d, byte [rsp + 0xab]
mov byte [rsp + 0x2b], r15b
movzx r15d, byte [rsp + 0xac]
mov byte [rsp + 0x2a], r15b
movzx r15d, byte [rsp + 0xad]
mov byte [rsp + 0x29], r15b
movzx r15d, byte [rsp + 0xae]
mov byte [rsp + 0x28], r15b
movzx r15d, byte [rsp + 0xaf]
mov byte [rsp + 0x27], r15b
movzx r15d, byte [rsp + 0xb0]
mov byte [rsp + 0x26], r15b
movzx r15d, byte [rsp + 0xb1]
mov byte [rsp + 0x25], r15b
movzx r15d, byte [rsp + 0xb2]
mov byte [rsp + 0x24], r15b
movzx r15d, byte [rsp + 0xb4]
mov byte [rsp + 0x23], r15b
movzx r15d, byte [rsp + 0xb5]
mov byte [rsp + 0x22], r15b
movzx r15d, byte [rsp + 0xb7]
mov byte [rsp + 0x21], r15b
movzx r15d, byte [rsp + 0xb8]
mov byte [rsp + 0x20], r15b
movzx r15d, byte [rsp + 0xb9]
mov byte [rsp + 0x1f], r15b
movzx r15d, byte [rsp + 0xba]
mov byte [rsp + 0x1e], r15b
movzx r15d, byte [rsp + 0xbb]
mov byte [rsp + 0x1d], r15b
movzx r15d, byte [rsp + 0xbd]
mov byte [rsp + 0x1c], r15b
movzx r15d, byte [rsp + 0xbf]
mov byte [rsp + 0x1b], r15b
movzx r15d, byte [rsp + 0xc0]
mov byte [rsp + 0x60], r15b
movzx r15d, byte [rsp + 0xc1]
mov byte [rsp + 0x5f], r15b
movzx r15d, byte [rsp + 0xc2]
mov byte [rsp + 0x5e], r15b
movzx r15d, byte [rsp + 0xc4]
mov byte [rsp + 0x5d], r15b
movzx r15d, byte [rsp + 0xc5]
mov byte [rsp + 0x5c], r15b
movzx r15d, byte [rsp + 0xc6]
mov byte [rsp + 0x5b], r15b
movzx r15d, byte [rsp + 0xc7]
mov byte [rsp + 0x5a], r15b
movzx r15d, byte [rsp + 0xc8]
mov byte [rsp + 0x59], r15b
movzx r15d, byte [rsp + 0xc9]
mov byte [rsp + 0x58], r15b
movzx r15d, byte [rsp + 0xca]
mov byte [rsp + 0x57], r15b
movzx r15d, byte [rsp + 0xcd]
mov byte [rsp + 0x56], r15b
movzx r15d, byte [rsp + 0xcf]
mov byte [rsp + 0x55], r15b
movzx r15d, byte [rsp + 0xd2]
mov byte [rsp + 0x54], r15b
movzx r15d, byte [rsp + 0xd3]
mov byte [rsp + 0x53], r15b
movzx r15d, byte [rsp + 0xd4]
mov byte [rsp + 0x52], r15b
movzx r15d, byte [rsp + 0xd5]
mov byte [rsp + 0x51], r15b
movzx r15d, byte [rsp + 0xd6]
mov byte [rsp + 0x50], r15b
movzx r15d, byte [rsp + 0xd8]
mov byte [rsp + 0x4f], r15b
movzx r15d, byte [rsp + 0xd9]
mov byte [rsp + 0x4e], r15b
movzx r15d, byte [rsp + 0xda]
mov byte [rsp + 0x4d], r15b
movzx r15d, byte [rsp + 0xdb]
mov byte [rsp + 0x4c], r15b
movzx r15d, byte [rsp + 0xdc]
mov byte [rsp + 0x4b], r15b
movzx r15d, byte [rsp + 0xdd]
mov byte [rsp + 0x4a], r15b
movzx r15d, byte [rsp + 0xde]
mov byte [rsp + 0x49], r15b
movzx r15d, byte [rsp + 0xdf]
mov byte [rsp + 0x61], r8b
xor r9d, edx
mov byte [rsp + 0x62], r9b
lea edx, [r11 + r10]
mov byte [rsp + 0x63], dl
lea edx, [r13 + r12]
mov byte [rsp + 0x64], dl
xor ecx, eax
mov byte [rsp + 0x65], cl
sub ebx, esi
mov byte [rsp + 0x66], bl
movzx edx, byte [rsp + 0x48]
add edx, edi
mov byte [rsp + 0x67], dl
movzx edx, byte [rsp + 0x47]
movzx r8d, byte [rsp + 0x46]
add edx, r8d
mov byte [rsp + 0x68], dl
movzx edx, byte [rsp + 0x2e]
movzx r8d, byte [rsp + 0x4e]
xor edx, r8d
mov byte [rsp + 0x69], dl
movzx edx, byte [rsp + 0x1e]
movzx r8d, byte [rsp + 0x25]
xor edx, r8d
mov byte [rsp + 0x6a], dl
movzx edx, byte [rsp + 0x2c]
movzx r8d, byte [rsp + 0x4f]
add edx, r8d
mov byte [rsp + 0x6b], dl
movzx edx, byte [rsp + 0x26]
movzx r8d, byte [rsp + 0x5a]
sub edx, r8d
mov byte [rsp + 0x6c], dl
movzx edx, byte [rsp + 0x24]
movzx r8d, byte [rsp + 0x33]
xor edx, r8d
mov byte [rsp + 0x6d], dl
movzx edx, byte [rsp + 0x4d]
movzx r8d, byte [rsp + 0x32]
xor edx, r8d
mov byte [rsp + 0x6e], dl
movzx edx, byte [rsp + 0x30]
movzx r8d, byte [rsp + 0x49]
sub edx, r8d
mov byte [rsp + 0x6f], dl
movzx edx, byte [rsp + 0x54]
movzx r8d, byte [rsp + 0x4b]
xor edx, r8d
mov byte [rsp + 0x70], dl
movzx edx, byte [rsp + 0x1d]
movzx r8d, byte [rsp + 0x52]
add edx, r8d
mov byte [rsp + 0x71], dl
movzx edx, byte [rsp + 0x3a]
movzx r8d, byte [rsp + 0x5f]
sub edx, r8d
mov byte [rsp + 0x72], dl
movzx edx, byte [rsp + 0x34]
movzx r8d, byte [rsp + 0x58]
sub edx, r8d
mov byte [rsp + 0x73], dl
movzx edx, byte [rsp + 0x41]
movzx r8d, byte [rsp + 0x1f]
sub edx, r8d
mov byte [rsp + 0x74], dl
movzx edx, byte [rsp + 0x45]
movzx r8d, byte [rsp + 0x22]
xor edx, r8d
mov byte [rsp + 0x75], dl
movzx edx, byte [rsp + 0x3e]
movzx r8d, byte [rsp + 0x36]
xor edx, r8d
mov byte [rsp + 0x76], dl
movzx edx, byte [rsp + 0x37]
xor edx, r15d
mov byte [rsp + 0x77], dl
movzx edx, byte [rsp + 0x56]
movzx r8d, byte [rsp + 0x1c]
add edx, r8d
mov byte [rsp + 0x78], dl
movzx edx, byte [rsp + 0x3b]
movzx r8d, byte [rsp + 0x29]
xor edx, r8d
mov byte [rsp + 0x79], dl
movzx edx, byte [rsp + 0x39]
movzx r8d, byte [rsp + 0x44]
xor edx, r8d
mov byte [rsp + 0x7a], dl
movzx edx, byte [rsp + 0x53]
movzx r8d, byte [rsp + 0x1b]
xor edx, r8d
mov byte [rsp + 0x7b], dl
movzx edx, byte [rsp + 0x57]
movzx r8d, byte [rsp + 0x55]
sub edx, r8d
mov byte [rsp + 0x7c], dl
movzx edx, byte [rsp + 0x59]
movzx r8d, byte [rsp + 0x20]
sub edx, r8d
mov byte [rsp + 0x7d], dl
movzx edx, byte [rsp + 0x28]
movzx r8d, byte [rsp + 0x3c]
sub edx, r8d
mov byte [rsp + 0x7e], dl
movzx edx, byte [rsp + 0x4a]
movzx r8d, byte [rsp + 0x31]
sub edx, r8d
mov byte [rsp + 0x7f], dl
movzx edx, byte [rsp + 0x5b]
movzx r8d, byte [rsp + 0x5d]
xor edx, r8d
mov byte [rsp + 0x80], dl
movzx edx, byte [rsp + 0x2f]
movzx r8d, byte [rsp + 0x5c]
xor edx, r8d
mov byte [rsp + 0x81], dl
movzx edx, byte [rsp + 0x5e]
movzx r8d, byte [rsp + 0x51]
xor edx, r8d
mov byte [rsp + 0x82], dl
movzx edx, byte [rsp + 0x23]
movzx r8d, byte [rsp + 0x3f]
add edx, r8d
mov byte [rsp + 0x83], dl
movzx edx, byte [rsp + 0x2a]
movzx r8d, byte [rsp + 0x2b]
add edx, r8d
mov byte [rsp + 0x84], dl
movzx edx, byte [rsp + 0x3d]
movzx r8d, byte [rsp + 0x35]
add edx, r8d
mov byte [rsp + 0x85], dl
movzx edx, byte [rsp + 0x38]
movzx r8d, byte [rsp + 0x43]
add edx, r8d
mov byte [rsp + 0x86], dl
movzx edx, byte [rsp + 0x60]
movzx r8d, byte [rsp + 0x40]
add edx, r8d
mov byte [rsp + 0x87], dl
movzx edx, byte [rsp + 0x50]
movzx r8d, byte [rsp + 0x4c]
xor edx, r8d
mov byte [rsp + 0x88], dl
movzx edx, byte [rsp + 0x21]
movzx r8d, byte [rsp + 0x27]
xor edx, r8d
mov byte [rsp + 0x89], dl
movzx edx, byte [rsp + 0x42]
movzx r8d, byte [rsp + 0x2d]
xor edx, r8d
mov byte [rsp + 0x8a], dl
xor eax, eax
lea rbx, [rsp + 0x61]
mov ecx, 0x2a
call fcn.00441e20
mov rbp, qword [rsp + 0xe0]
add rsp, 0xe8
ret
call fcn.00451720
jmp fcn.005153c0