Function at 0x51b660
Capabilities:
Reference http user-agent string

Disassembly:
lea r12, [rsp - 0x3d8]
cmp r12, qword [r14 + 0x10]
jbe 0x51d75c
sub rsp, 0x458
mov qword [rsp + 0x450], rbp
lea rbp, [rsp + 0x450]
mov qword [rsp + 0x490], rax
mov qword [rsp + 0x498], rbx
mov qword [rsp + 0x4b0], rsi
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x198], rbx
mov qword [rsp + 0x4a8], rdi
mov qword [rsp + 0x4c0], r9
mov qword [rsp + 0x4b8], r8
mov qword [rsp + 0x118], rcx
call fcn.00481ba0
mov rdx, qword [rsp + 0x4c0]
mov rsi, qword [rsp + 0x4b0]
cmp rdx, rsi
jne 0x51b78e
movups xmm0, xmmword [rsp + 0x460]
movups xmmword [rsp], xmm0
movups xmm0, xmmword [rsp + 0x470]
movups xmmword [rsp + 0x10], xmm0
movups xmm0, xmmword [rsp + 0x480]
movups xmmword [rsp + 0x20], xmm0
mov rax, qword [rsp + 0x1a0]
mov rbx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x118]
call fcn.0051d7e0
test al, al
je 0x51b73c
xor eax, eax
xor ecx, ecx
jmp 0x51b773
lea rcx, [0x006492a7]
mov qword [rsp + 0x258], rcx
mov qword [rsp + 0x260], 0x12
mov rax, qword [rsp + 0x258]
mov ebx, 0x12
call fcn.0040a840
mov rcx, rax
lea rax, [0x00685ce0]
mov rbx, rax
mov rax, qword [rsp + 0x4c0]
mov rbp, qword [rsp + 0x450]
add rsp, 0x458
ret
mov qword [rsp + 0x148], rbx
mov qword [rsp + 0x190], rax
mov rcx, qword [rax + 0x98]
mov rax, rbx
call rcx
cmp rax, 0x14
je 0x51b7b4
xor ecx, ecx
jmp 0x51b7d3
mov rcx, qword [rsp + 0x190]
mov rdx, qword [rcx + 0xd0]
mov rax, qword [rsp + 0x148]
call rdx
test rax, rax
sete cl
test cl, cl
je 0x51bec2
mov rax, qword [rsp + 0x4a8]
mov rbx, qword [rsp + 0x4b0]
mov rcx, qword [rsp + 0x4b8]
mov rdi, qword [rsp + 0x4c0]
nop dword [rax + rax]
call fcn.0051ad00
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rbx
mov qword [rsp + 0x130], rcx
mov byte [rsp + 0x138], dil
test r8, r8
jne 0x51bea9
mov qword [rsp + 0x110], rsi
mov qword [rsp + 0x108], rbx
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x190], r9
mov byte [rsp + 0x7f], dil
mov qword [rsp + 0xf8], r8
mov qword [rsp + 0xa0], rcx
mov rax, rsi
mov rbx, rcx
mov rcx, qword [rsp + 0x4b0]
call fcn.0051b640
test al, al
jne 0x51be5a
movzx edx, byte [rsp + 0x7f]
test dl, dl
jne 0x51bd9c
mov rdx, qword [rsp + 0x100]
test rdx, rdx
jne 0x51bd9c
mov rcx, qword [rsp + 0x4b8]
mov rdx, qword [rsp + 0x110]
sub rcx, rdx
mov rsi, rcx
neg rcx
sar rcx, 0x3f
and rcx, rdx
mov rdi, qword [rsp + 0x4a8]
lea rax, [rdi + rcx]
mov rdi, qword [rsp + 0x108]
cmp rdi, 0x12
jg 0x51bb25
nop word [rax + rax]
cmp rdi, 4
jg 0x51ba11
cmp rdi, 2
je 0x51b9c5
cmp rdi, 3
je 0x51b945
nop word [rax + rax]
cmp rdi, 4
jne 0x51bc4c
mov rbx, qword [rsp + 0xa0]
mov rcx, rsi
call fcn.0040a8c0
mov rdx, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x190]
lea rbx, [0x005fbe80]
mov rsi, rax
mov rax, qword [rsp + 0xf8]
nop dword [rax]
jmp 0x51bdb8
mov rbx, qword [rsp + 0xa0]
mov rcx, rsi
call fcn.00519d40
mov qword [rsp + 0xf8], rsi
mov qword [rsp + 0x190], r8
mov qword [rsp + 0x298], rax
mov qword [rsp + 0x2a0], rbx
mov qword [rsp + 0x2a8], rcx
mov qword [rsp + 0x2b0], rdi
lea rax, [0x006233a0]
lea rbx, [rsp + 0x298]
call fcn.0040a5c0
mov rdx, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x190]
lea rbx, [0x006233a0]
mov rsi, rax
mov rax, qword [rsp + 0xf8]
nop dword [rax + rax]
jmp 0x51bdb8
mov rbx, qword [rsp + 0xa0]
mov rcx, rsi
call fcn.00519880
mov qword [rsp + 0xf8], rbx
mov qword [rsp + 0x190], rcx
call fcn.0040a7c0
mov rdx, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x190]
lea rbx, [0x005fda20]
mov rsi, rax
mov rax, qword [rsp + 0xf8]
jmp 0x51bdb8
cmp rdi, 6
je 0x51bad1
nop dword [rax + rax]
cmp rdi, 0xc
je 0x51ba85
cmp rdi, 0x12
jne 0x51bc4c
mov rbx, qword [rsp + 0xa0]
mov rcx, rsi
nop dword [rax + rax]
call fcn.0051a760
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x190], rdi
call fcn.0040a840
mov rdx, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x190]
lea rbx, [0x005fe120]
mov rsi, rax
mov rax, qword [rsp + 0xf8]
nop dword [rax]
jmp 0x51bdb8
mov rbx, qword [rsp + 0xa0]
mov rcx, rsi
call fcn.0051aac0
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x190], rdi
call fcn.0040a840
mov rdx, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x190]
lea rbx, [0x005fe120]
mov rsi, rax
mov rax, qword [rsp + 0xf8]
jmp 0x51bdb8
mov rbx, qword [rsp + 0xa0]
mov rcx, rsi
nop dword [rax]
call fcn.00519fc0
mov qword [rsp + 0xf8], rdi
mov qword [rsp + 0x190], rsi
call fcn.0040a8c0
mov rdx, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x190]
lea rbx, [0x0060ef80]
mov rsi, rax
mov rax, qword [rsp + 0xf8]
nop dword [rax]
jmp 0x51bdb8
cmp rdi, 0x16
jg 0x51bc31
cmp rdi, 0x13
je 0x51bbe5
cmp rdi, 0x14
je 0x51bb96
nop
cmp rdi, 0x16
jne 0x51bc4c
mov rbx, qword [rsp + 0xa0]
mov rcx, rsi
call fcn.0051a9a0
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x190], rdi
call fcn.0040a840
mov rdx, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x190]
lea rbx, [0x005fe120]
mov rsi, rax
mov rax, qword [rsp + 0xf8]
jmp 0x51bdb8
mov rbx, qword [rsp + 0xa0]
mov rcx, rsi
call fcn.0051aa60
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x190], rdi
call fcn.0040a840
mov rdx, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x190]
lea rbx, [0x005fe120]
mov rsi, rax
mov rax, qword [rsp + 0xf8]
nop dword [rax]
jmp 0x51bdb8
mov rbx, qword [rsp + 0xa0]
mov rcx, rsi
call fcn.0051a860
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x190], rdi
call fcn.0040a840
mov rdx, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x190]
lea rbx, [0x005fe120]
mov rsi, rax
mov rax, qword [rsp + 0xf8]
jmp 0x51bdb8
cmp rdi, 0x17
je 0x51bd2c
nop dword [rax + rax]
cmp rdi, 0x18
je 0x51bcb1
cmp rdi, 0x1e
je 0x51bc65
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x190]
xor ebx, ebx
xor esi, esi
jmp 0x51bdb8
mov rbx, qword [rsp + 0xa0]
mov rcx, rsi
call fcn.0051ab60
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x190], rdi
call fcn.0040a840
mov rdx, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x190]
lea rbx, [0x005fe120]
mov rsi, rax
mov rax, qword [rsp + 0xf8]
jmp 0x51bdb8
mov rbx, qword [rsp + 0xa0]
mov rcx, rsi
nop dword [rax]
call fcn.0051a5c0
mov qword [rsp + 0xf8], rdi
mov qword [rsp + 0x190], rsi
mov qword [rsp + 0x268], rax
mov qword [rsp + 0x270], rbx
mov qword [rsp + 0x278], rcx
lea rax, [0x00640040]
lea rbx, [rsp + 0x268]
nop dword [rax]
call fcn.0040a5c0
mov rdx, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x190]
lea rbx, [0x00640040]
mov rsi, rax
mov rax, qword [rsp + 0xf8]
jmp 0x51bdb8
mov rbx, qword [rsp + 0xa0]
mov rcx, rsi
call fcn.0051a380
mov qword [rsp + 0xf8], rdi
mov qword [rsp + 0x190], rsi
mov qword [rsp + 0x280], rax
mov qword [rsp + 0x288], rbx
mov qword [rsp + 0x290], rcx
lea rax, [0x00640040]
lea rbx, [rsp + 0x280]
call fcn.0040a5c0
mov rdx, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x190]
lea rbx, [0x00640040]
mov rsi, rax
mov rax, qword [rsp + 0xf8]
jmp 0x51bdb8
mov rdx, qword [rsp + 0x110]
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x190]
xor ebx, ebx
xor esi, esi
mov rdi, qword [rsp + 0xa0]
add rdx, rdi
test rax, rax
jne 0x51be44
test rbx, rbx
je 0x51be2e
mov qword [rsp + 0x110], rdx
mov qword [rsp + 0x190], rcx
mov qword [rsp + 0xf8], rax
mov rax, rbx
mov rbx, rsi
call fcn.00482740
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov rax, qword [rsp + 0x1a0]
mov rbx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x118]
call fcn.00481240
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x190]
mov rdx, qword [rsp + 0x110]
mov rbx, rax
mov rax, rdx
mov rbp, qword [rsp + 0x450]
add rsp, 0x458
ret
mov rbx, rax
mov rax, rdx
mov rbp, qword [rsp + 0x450]
add rsp, 0x458
ret
lea rcx, [0x00647654]
mov qword [rsp + 0x248], rcx
mov qword [rsp + 0x250], 0xe
mov rax, qword [rsp + 0x248]
mov ebx, 0xe
call fcn.0040a840
lea rbx, [0x00685ce0]
mov rcx, rax
mov rax, qword [rsp + 0x110]
mov rbp, qword [rsp + 0x450]
add rsp, 0x458
ret
mov rax, rsi
mov rbx, r8
mov rcx, r9
mov rbp, qword [rsp + 0x450]
add rsp, 0x458
ret
mov rax, qword [rsp + 0x4a8]
mov rbx, qword [rsp + 0x4b0]
mov rcx, qword [rsp + 0x4b8]
mov rdi, qword [rsp + 0x4c0]
call fcn.0051ad00
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rbx
mov qword [rsp + 0x130], rcx
mov byte [rsp + 0x138], dil
test r8, r8
jne 0x51d273
cmp byte [rsp + 0x461], 0
je 0x51c28a
mov qword [rsp + 0x110], rsi
movzx edx, byte [rsp + 0x462]
mov r10, qword [rsp + 0x4b0]
cmp rsi, r10
je 0x51c23b
mov qword [rsp + 0x188], r9
mov qword [rsp + 0xf8], r8
test rdx, rdx
mov edx, 2
mov r11d, 1
cmovne rdx, r11
cmp rax, rdx
jne 0x51c182
mov rdx, qword [rsp + 0x470]
cmp qword [rdx], rbx
jne 0x51c182
nop dword [rax + rax]
test rcx, rcx
je 0x51bf8e
test dil, dil
je 0x51c182
mov rdx, qword [0x007dfa38]
mov r12, qword [rsp + 0x190]
nop dword [rax]
cmp qword [0x007dfa30], r12
je 0x51bfb1
test rcx, rcx
jmp 0x51c05e
mov qword [rsp + 0x108], rax
mov byte [rsp + 0x7f], dil
mov qword [rsp + 0x100], rcx
mov qword [rsp + 0xf0], rbx
mov rax, r12
mov rbx, qword [rsp + 0x148]
mov rcx, rdx
nop dword [rax]
call fcn.00403f40
test al, al
je 0x51c025
mov rcx, qword [rsp + 0x100]
mov rbx, qword [rsp + 0xf0]
mov rax, qword [rsp + 0x108]
movzx edi, byte [rsp + 0x7f]
mov rsi, qword [rsp + 0x110]
mov r8, qword [rsp + 0xf8]
mov r9, qword [rsp + 0x188]
nop
jmp 0x51c28a
mov rdx, qword [rsp + 0x100]
test rdx, rdx
mov rsi, qword [rsp + 0x110]
mov r8, qword [rsp + 0xf8]
mov r9, qword [rsp + 0x188]
mov r10, qword [rsp + 0x4b0]
mov r11d, 1
mov r12, qword [rsp + 0x190]
nop
jg 0x51c123
mov rcx, qword [0x007dfa08]
cmp qword [0x007dfa00], r12
jne 0x51c08a
mov rax, r12
mov rbx, qword [rsp + 0x148]
call fcn.00403f40
test al, al
jne 0x51c0d9
lea rcx, [0x00654fc1]
mov qword [rsp + 0x228], rcx
mov qword [rsp + 0x230], 0x2d
mov rax, qword [rsp + 0x228]
mov ebx, 0x2d
call fcn.0040a840
lea rbx, [0x00685cc0]
mov rcx, rax
mov rax, qword [rsp + 0x110]
mov rbp, qword [rsp + 0x450]
add rsp, 0x458
ret
mov rax, qword [rsp + 0x1a0]
mov rbx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x118]
mov edi, 1
call fcn.00481380
mov rax, qword [rsp + 0x110]
mov rbx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x188]
mov rbp, qword [rsp + 0x450]
add rsp, 0x458
ret
mov rax, qword [rsp + 0x4a8]
mov rbx, r10
mov rcx, qword [rsp + 0x4b8]
mov rdi, rsi
call fcn.0051ad00
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rbx
mov qword [rsp + 0x130], rcx
mov byte [rsp + 0x138], dil
nop
test r8, r8
je 0x51c28a
mov rax, rsi
mov rbx, r8
mov rcx, r9
mov rbp, qword [rsp + 0x450]
add rsp, 0x458
ret
movups xmm0, xmmword [rsp + 0x460]
movups xmmword [rsp], xmm0
movups xmm0, xmmword [rsp + 0x470]
movups xmmword [rsp + 0x10], xmm0
movups xmm0, xmmword [rsp + 0x480]
movups xmmword [rsp + 0x20], xmm0
mov rax, qword [rsp + 0x1a0]
mov rbx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x118]
call fcn.0051d7e0
test al, al
je 0x51c1e3
mov rcx, qword [rsp + 0x4c0]
mov rdx, qword [rsp + 0xf8]
mov rax, qword [rsp + 0x188]
jmp 0x51c21f
lea rcx, [0x0065252e]
mov qword [rsp + 0x218], rcx
mov qword [rsp + 0x220], 0x25
mov rax, qword [rsp + 0x218]
mov ebx, 0x25
call fcn.0040a840
mov rcx, qword [rsp + 0x110]
lea rdx, [0x00685cc0]
mov rbx, rdx
mov rdx, rax
mov rax, rcx
mov rcx, rdx
mov rbp, qword [rsp + 0x450]
add rsp, 0x458
ret
lea rcx, [0x0064cb66]
mov qword [rsp + 0x238], rcx
mov qword [rsp + 0x240], 0x19
mov rax, qword [rsp + 0x238]
mov ebx, 0x19
call fcn.0040a840
lea rbx, [0x00685cc0]
mov rcx, rax
mov rax, qword [rsp + 0x110]
mov rbp, qword [rsp + 0x450]
add rsp, 0x458
ret
mov qword [rsp + 0x188], r9
mov qword [rsp + 0xf8], r8
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x90], rax
mov byte [rsp + 0x7e], dil
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x110], rsi
mov rax, qword [rsp + 0x190]
mov rbx, qword [rsp + 0x148]
call fcn.0051e200
test dil, dil
je 0x51d1dc
nop dword [rax]
cmp rbx, 0x13
jne 0x51c362
mov rdx, qword [rsp + 0x90]
test rdx, rdx
jne 0x51c344
mov rsi, qword [rsp + 0x80]
nop dword [rax + rax]
cmp rsi, 0x14
jg 0x51c320
cmp rsi, 0xc
je 0x51c332
cmp rsi, 0x12
je 0x51c332
cmp rsi, 0x14
je 0x51c332
jmp 0x51c337
cmp rsi, 0x16
je 0x51c332
cmp rsi, 0x1b
je 0x51c332
cmp rsi, 0x1e
jne 0x51c337
mov rbx, rsi
jmp 0x51c375
mov rsi, rbx
mov rbx, qword [rsp + 0x80]
jmp 0x51c375
mov rdi, qword [rsp + 0x478]
test rdi, rdi
cmovne rbx, rdi
mov rsi, rbx
mov rbx, qword [rsp + 0x80]
nop
jmp 0x51c375
mov rdx, qword [rsp + 0x90]
mov rsi, rbx
mov rbx, qword [rsp + 0x80]
cmp rsi, 0x17
jne 0x51c390
nop dword [rax + rax]
cmp rbx, 0x18
jne 0x51c390
test rdx, rdx
jne 0x51c390
mov esi, 0x18
movzx edi, byte [rsp + 0x488]
test rdi, rdi
mov edi, 0x11
cmovne rsi, rdi
movzx edi, byte [rsp + 0x461]
test dil, dil
jne 0x51c3dd
mov r8, qword [rsp + 0x470]
test r8, r8
je 0x51c3da
mov r8, qword [r8]
test dil, dil
mov r9, rsi
mov r10d, 2
mov rsi, r8
mov r8d, eax
mov eax, 0
jmp 0x51c3e9
test dil, dil
mov r8d, eax
mov r9, rsi
mov r10d, 0
jne 0x51c423
cmp byte [rsp + 0x462], 0
je 0x51c420
mov r11, qword [rsp + 0x470]
nop dword [rax]
test r11, r11
je 0x51c418
mov rsi, qword [r11]
test dil, dil
mov eax, 0
mov r10d, 1
jmp 0x51c423
test dil, dil
jmp 0x51c423
test dil, dil
jne 0x51c447
cmp byte [rsp + 0x463], 0
je 0x51c447
mov rdi, qword [rsp + 0x470]
test rdi, rdi
je 0x51c447
mov rsi, qword [rdi]
xor eax, eax
mov r10d, 3
mov qword [rsp + 0xc0], rsi
test al, al
jne 0x51c45d
cmp rdx, r10
jne 0x51c47c
cmp rsi, rbx
jne 0x51c47c
mov qword [rsp + 0x108], r9
test r8b, r8b
jne 0x51c6d0
movzx edi, byte [rsp + 0x7e]
cmp cl, dil
je 0x51c6d0
movups xmm0, xmmword [rsp + 0x460]
movups xmmword [rsp], xmm0
movups xmm0, xmmword [rsp + 0x470]
movups xmmword [rsp + 0x10], xmm0
movups xmm0, xmmword [rsp + 0x480]
movups xmmword [rsp + 0x20], xmm0
mov rax, qword [rsp + 0x1a0]
mov rbx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x118]
call fcn.0051d7e0
nop
test al, al
je 0x51c4e5
mov rcx, qword [rsp + 0x4c0]
mov rdx, qword [rsp + 0xf8]
mov rax, qword [rsp + 0x188]
nop dword [rax]
jmp 0x51c6b4
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x120], rcx
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x128], rcx
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x130], rcx
movzx ecx, byte [rsp + 0x7e]
mov byte [rsp + 0x138], cl
movups xmm0, xmmword [rsp + 0x460]
movups xmmword [rsp + 0x2b8], xmm0
movups xmm0, xmmword [rsp + 0x470]
movups xmmword [rsp + 0x2c8], xmm0
movups xmm0, xmmword [rsp + 0x480]
movups xmmword [rsp + 0x2d8], xmm0
mov rcx, qword [rsp + 0x190]
mov rcx, qword [rcx + 0xb8]
mov rax, qword [rsp + 0x148]
call rcx
mov qword [rsp + 0x190], rax
mov qword [rsp + 0x108], rbx
lea rdi, [rsp + 0x330]
lea rdi, [rdi - 0x30]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004618f0
mov rbp, qword [rbp]
mov rax, qword [rsp + 0xc0]
call fcn.0040a7c0
lea rcx, [0x005fd960]
mov qword [rsp + 0x330], rcx
mov qword [rsp + 0x338], rax
lea rax, [0x00628e60]
lea rbx, [rsp + 0x120]
call fcn.0040a640
lea rcx, [0x00628e60]
mov qword [rsp + 0x340], rcx
mov qword [rsp + 0x348], rax
lea rax, [0x00636260]
lea rbx, [rsp + 0x2b8]
call fcn.0040a5c0
lea rcx, [0x00636260]
mov qword [rsp + 0x350], rcx
mov qword [rsp + 0x358], rax
mov rax, qword [rsp + 0x190]
mov rbx, qword [rsp + 0x108]
call fcn.0040a840
lea rcx, [0x005fe120]
mov qword [rsp + 0x360], rcx
mov qword [rsp + 0x368], rax
mov rax, qword [rsp + 0x110]
call fcn.0040a7c0
lea rcx, [0x005fd960]
mov qword [rsp + 0x370], rcx
mov qword [rsp + 0x378], rax
lea rax, [0x006531a8]
mov ebx, 0x27
lea rcx, [rsp + 0x330]
mov edi, 5
mov rsi, rdi
nop
call fcn.004af1a0
mov qword [rsp + 0x1f8], rax
mov qword [rsp + 0x200], rbx
mov rax, qword [rsp + 0x1f8]
nop dword [rax]
call fcn.0040a840
mov rcx, qword [rsp + 0x110]
lea rdx, [0x00685cc0]
mov rbx, rdx
mov rdx, rax
mov rax, rcx
mov rcx, rdx
mov rbp, qword [rsp + 0x450]
add rsp, 0x458
ret
mov rax, qword [rsp + 0x110]
mov rbx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x4b0]
call fcn.0051b640
test al, al
jne 0x51d18d
mov rax, qword [rsp + 0x1a0]
mov rbx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x118]
call fcn.0047e4c0
call fcn.0047ff60
mov rcx, qword [rsp + 0x4b8]
mov rdx, qword [rsp + 0x110]
mov rsi, rcx
sub rcx, rdx
mov qword [rsp + 0xa8], rcx
mov rdi, rcx
neg rcx
sar rcx, 0x3f
and rcx, rdx
mov r8, qword [rsp + 0x4a8]
lea r9, [r8 + rcx]
mov qword [rsp + 0x140], r9
mov r10, qword [rsp + 0x88]
add rdx, r10
mov qword [rsp + 0x110], rdx
test rax, rax
je 0x51cb1c
mov qword [rsp + 0x180], rbx
mov r11d, dword [rax + 0x10]
nop
cmp r11d, 0x4c618499
ja 0x51c8e8
cmp r11d, 0x1c87085b
jne 0x51c7e2
lea r11, [0x005f6940]
nop dword [rax]
cmp rax, r11
jne 0x51cb1c
mov rax, r9
mov rbx, r10
mov rcx, rdi
call fcn.005199a0
test rbx, rbx
jne 0x51c7ca
movsxd rdx, eax
mov rsi, qword [rsp + 0x180]
mov qword [rsi], rdx
mov rax, qword [rsp + 0x110]
mov rbp, qword [rsp + 0x450]
add rsp, 0x458
ret
cmp r11d, 0x26ca392d
jne 0x51c88b
lea r11, [0x00640720]
cmp rax, r11
jne 0x51cb1c
mov rsi, qword [rsp + 0x108]
cmp rsi, 0x17
jne 0x51c84c
mov rax, r9
mov rbx, r10
mov rcx, rdi
call fcn.0051a380
mov rdx, qword [rsp + 0x180]
mov qword [rdx], rax
mov qword [rdx + 8], rbx
mov qword [rdx + 0x10], rcx
mov rax, qword [rsp + 0x110]
mov rbx, rdi
mov rcx, rsi
mov rbp, qword [rsp + 0x450]
add rsp, 0x458
ret
mov rax, r9
mov rbx, r10
mov rcx, rdi
call fcn.0051a5c0
mov rdx, qword [rsp + 0x180]
mov qword [rdx], rax
mov qword [rdx + 8], rbx
mov qword [rdx + 0x10], rcx
mov rax, qword [rsp + 0x110]
mov rbx, rdi
mov rcx, rsi
mov rbp, qword [rsp + 0x450]
add rsp, 0x458
ret
cmp r11d, 0x4c618499
jne 0x51cb1c
lea r11, [0x0060c4c0]
nop
cmp rax, r11
jne 0x51cb1c
mov rax, r9
mov rbx, r10
mov rcx, rdi
call fcn.00519fc0
mov rdx, qword [rsp + 0x180]
mov qword [rdx + 8], rbx
mov qword [rdx + 0x10], rcx
mov qword [rdx], rax
mov rax, qword [rsp + 0x110]
mov rbx, rdi
mov rcx, rsi
mov rbp, qword [rsp + 0x450]
add rsp, 0x458
ret
cmp r11d, 0x7418f6b4
ja 0x51c9a0
cmp r11d, 0x4d10f6f9
jne 0x51c940
lea r11, [0x005f6980]
cmp rax, r11
jne 0x51cb1c
mov byte [rbx], 1
mov rax, rdx
mov rbx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x188]
mov rbp, qword [rsp + 0x450]
add rsp, 0x458
ret
cmp r11d, 0x7418f6b4
jne 0x51cb1c
lea r11, [0x005f5700]
cmp rax, r11
jne 0x51cb1c
mov rax, r9
mov rbx, r10
mov rcx, rdi
call fcn.00519aa0
test rbx, rbx
jne 0x51c97b
mov rdx, qword [rsp + 0x180]
mov qword [rdx], rax
mov rax, qword [rsp + 0x110]
mov rbp, qword [rsp + 0x450]
add rsp, 0x458
ret
cmp r11d, 0x8faab972
jne 0x51cac4
lea r11, [0x005f6a00]
cmp rax, r11
jne 0x51cb1c
movups xmmword [rsp + 0x2e8], xmm15
movups xmmword [rsp + 0x2f0], xmm15
movups xmmword [rsp + 0x300], xmm15
movups xmmword [rsp + 0x310], xmm15
movups xmmword [rsp + 0x320], xmm15
mov r11, qword [rsp + 0x90]
mov qword [rsp + 0x2e8], r11
mov r11, qword [rsp + 0x80]
mov qword [rsp + 0x2f0], r11
movzx r11d, byte [rsp + 0x7e]
mov byte [rsp + 0x2f8], r11b
mov qword [rsp + 0x300], r9
mov qword [rsp + 0x308], r10
mov qword [rsp + 0x310], rdi
mov rdi, qword [rsp + 0x4c0]
sub rsi, rdi
mov r9, rsi
neg rsi
sar rsi, 0x3f
and rsi, rdi
add rsi, r8
mov qword [rsp + 0x318], rsi
mov rax, rdx
sub rdx, rdi
mov qword [rsp + 0x320], rdx
mov qword [rsp + 0x328], r9
mov rdx, qword [rsp + 0x2e8]
mov qword [rbx], rdx
movups xmm0, xmmword [rsp + 0x2f0]
movups xmmword [rbx + 8], xmm0
movups xmm0, xmmword [rsp + 0x300]
movups xmmword [rbx + 0x18], xmm0
movups xmm0, xmmword [rsp + 0x310]
movups xmmword [rbx + 0x28], xmm0
movups xmm0, xmmword [rsp + 0x320]
movups xmmword [rbx + 0x38], xmm0
mov rbx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x188]
mov rbp, qword [rsp + 0x450]
add rsp, 0x458
ret
cmp r11d, 0xeb2625b9
jne 0x51cb1c
lea r11, [0x0060c440]
cmp rax, r11
jne 0x51cb1c
mov rax, r9
mov rbx, r10
mov rcx, rdi
call fcn.00519d40
mov rdx, qword [rsp + 0x180]
mov qword [rdx + 8], rbx
mov qword [rdx + 0x10], rcx
mov qword [rdx + 0x18], rdi
mov qword [rdx], rax
mov rax, qword [rsp + 0x110]
mov rbx, rsi
mov rcx, r8
mov rbp, qword [rsp + 0x450]
add rsp, 0x458
ret
mov rax, qword [rsp + 0x1a0]
mov rbx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x118]
call fcn.004802a0
nop dword [rax]
cmp rax, 6
jbe 0x51cf62
cmp rax, 0x17
je 0x51cdb6
cmp rax, 0x18
je 0x51cb71
nop word [rax + rax]
cmp rax, 0x19
jne 0x51d091
xor eax, eax
jmp 0x51d298
mov rax, qword [rsp + 0x108]
nop dword [rax]
cmp rax, 0x13
jg 0x51cc25
cmp rax, 0xc
je 0x51cbfa
cmp rax, 0x12
je 0x51cbd2
nop word [rax + rax]
nop
cmp rax, 0x13
jne 0x51cc97
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xa8]
call fcn.0051a860
mov rdx, rax
mov rax, rdi
jmp 0x51cd50
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xa8]
call fcn.0051a760
mov rdx, rax
mov rax, rdi
jmp 0x51cd50
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xa8]
call fcn.0051aac0
mov rdx, rax
mov rax, rdi
nop dword [rax]
jmp 0x51cd50
cmp rax, 0x16
jg 0x51cc87
cmp rax, 0x14
je 0x51cc5f
cmp rax, 0x16
jne 0x51cc97
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xa8]
call fcn.0051a9a0
mov rdx, rax
mov rax, rdi
jmp 0x51cd50
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xa8]
call fcn.0051aa60
mov rdx, rax
mov rax, rdi
jmp 0x51cd50
cmp rax, 0x1b
je 0x51cd2d
cmp rax, 0x1e
je 0x51cd07
movups xmmword [rsp + 0x1a8], xmm15
call fcn.0040a7c0
lea rcx, [0x005fd960]
mov qword [rsp + 0x1a8], rcx
mov qword [rsp + 0x1b0], rax
lea rax, [0x00652b2e]
mov ebx, 0x26
lea rcx, [rsp + 0x1a8]
mov edi, 1
mov rsi, rdi
call fcn.004af1a0
mov qword [rsp + 0x1c8], rax
mov qword [rsp + 0x1d0], rbx
mov rax, qword [rsp + 0x1c8]
call fcn.0040a840
lea rcx, [0x00685ce0]
xor ebx, ebx
xor edx, edx
jmp 0x51cd50
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xa8]
nop
call fcn.0051ab60
mov rdx, rax
mov rax, rdi
jmp 0x51cd50
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xa8]
call fcn.0051aa60
mov rdx, rax
mov rax, rdi
test rcx, rcx
jne 0x51cd98
mov qword [rsp + 0x190], rax
mov qword [rsp + 0xf8], rcx
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rsp + 0x118]
mov rdi, rdx
mov rsi, rbx
mov rbx, qword [rsp + 0x198]
call fcn.004816c0
mov rax, qword [rsp + 0x190]
mov rcx, qword [rsp + 0xf8]
mov rbx, rcx
mov rcx, rax
mov rax, qword [rsp + 0x110]
mov rbp, qword [rsp + 0x450]
add rsp, 0x458
ret
mov rcx, qword [rsp + 0x190]
mov rdx, qword [rcx + 0x48]
mov rax, qword [rsp + 0x148]
call rdx
mov rcx, qword [rax + 0x98]
mov rax, rbx
call rcx
nop dword [rax + rax]
cmp rax, 8
je 0x51ce9e
mov rcx, qword [rsp + 0x190]
mov rdx, qword [rcx + 0x48]
mov rax, qword [rsp + 0x148]
nop
call rdx
mov rcx, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0x190]
mov rsi, qword [rsp + 0x148]
mov r8, rax
mov r9, rbx
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x88]
call fcn.0051b1c0
test rdi, rdi
jne 0x51ce80
mov qword [rsp + 0x150], rsi
mov qword [rsp + 0xc8], rdi
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov rax, qword [rsp + 0x1a0]
mov rbx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x118]
call fcn.00481240
mov rsi, qword [rsp + 0x150]
mov rdi, qword [rsp + 0xc8]
mov rax, qword [rsp + 0x110]
mov rbx, rdi
mov rcx, rsi
mov rbp, qword [rsp + 0x450]
add rsp, 0x458
ret
mov rax, qword [rsp + 0x190]
mov rbx, qword [rsp + 0x148]
mov rcx, qword [rsp + 0x88]
mov rdi, rcx
call fcn.004825a0
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov rax, qword [rsp + 0x1a0]
mov rbx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x118]
nop
call fcn.00481240
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xa8]
nop dword [rax]
call fcn.0040a8c0
mov rbx, rax
lea rax, [0x005fbe80]
call fcn.00482740
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov rax, qword [rsp + 0x1a0]
mov rbx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x118]
call fcn.00482200
mov rax, qword [rsp + 0x110]
mov rbx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x188]
mov rbp, qword [rsp + 0x450]
add rsp, 0x458
ret
cmp rax, 1
je 0x51d112
cmp rax, 2
je 0x51cf7c
cmp rax, 5
jb 0x51d091
mov rax, qword [rsp + 0x1a0]
mov rbx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x118]
call fcn.00481ba0
mov rdx, qword [rax + 0xf0]
mov rax, rbx
call rdx
cmp rax, 4
jne 0x51d017
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xa8]
call fcn.005199a0
test rbx, rbx
jne 0x51d079
mov qword [rsp + 0x160], rcx
mov qword [rsp + 0xd8], rbx
movsxd rdi, eax
mov rax, qword [rsp + 0x1a0]
mov rbx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x118]
nop dword [rax]
call fcn.00481420
mov rcx, qword [rsp + 0x160]
mov rbx, qword [rsp + 0xd8]
jmp 0x51d079
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xa8]
call fcn.00519880
test rbx, rbx
jne 0x51d079
mov qword [rsp + 0x158], rcx
mov qword [rsp + 0xd0], rbx
mov rbx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x118]
mov rdi, rax
mov rax, qword [rsp + 0x1a0]
call fcn.00481420
mov rcx, qword [rsp + 0x158]
mov rbx, qword [rsp + 0xd0]
mov rax, qword [rsp + 0x110]
mov rbp, qword [rsp + 0x450]
add rsp, 0x458
ret
mov rax, qword [rsp + 0x1a0]
mov rbx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x118]
call fcn.00481ba0
mov rdx, qword [rax + 0xf8]
mov rax, rbx
call rdx
mov ecx, 0xd
mov rdi, rax
mov rsi, rbx
xor eax, eax
lea rbx, [0x00647208]
call fcn.0044c9c0
mov qword [rsp + 0x1b8], rax
mov qword [rsp + 0x1c0], rbx
mov rax, qword [rsp + 0x1b8]
call fcn.0040a840
lea rbx, [0x00685cc0]
mov rcx, rax
mov rax, qword [rsp + 0x110]
mov rbp, qword [rsp + 0x450]
add rsp, 0x458
ret
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xa8]
call fcn.00519660
test rbx, rbx
jne 0x51d175
mov qword [rsp + 0xe0], rbx
mov qword [rsp + 0x168], rcx
mov rbx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x118]
mov edi, eax
mov rax, qword [rsp + 0x1a0]
nop
call fcn.00481380
mov rcx, qword [rsp + 0x168]
mov rbx, qword [rsp + 0xe0]
mov rax, qword [rsp + 0x110]
mov rbp, qword [rsp + 0x450]
add rsp, 0x458
ret
lea rcx, [0x00647654]
mov qword [rsp + 0x1e8], rcx
mov qword [rsp + 0x1f0], 0xe
mov rax, qword [rsp + 0x1e8]
mov ebx, 0xe
call fcn.0040a840
lea rbx, [0x00685ce0]
mov rcx, rax
mov rax, qword [rsp + 0x110]
mov rbp, qword [rsp + 0x450]
add rsp, 0x458
ret
movups xmmword [rsp + 0x1a8], xmm15
mov rdx, qword [rsp + 0x190]
test rdx, rdx
je 0x51d1f8
mov rax, qword [rdx + 8]
jmp 0x51d1fb
mov rax, rdx
mov qword [rsp + 0x1a8], rax
mov rdx, qword [rsp + 0x148]
mov qword [rsp + 0x1b0], rdx
lea rax, [0x00649bf9]
mov ebx, 0x13
lea rcx, [rsp + 0x1a8]
mov edi, 1
mov rsi, rdi
call fcn.004af1a0
mov qword [rsp + 0x208], rax
mov qword [rsp + 0x210], rbx
mov rax, qword [rsp + 0x208]
call fcn.0040a840
lea rbx, [0x00685cc0]
mov rcx, rax
mov rax, qword [rsp + 0x110]
mov rbp, qword [rsp + 0x450]
add rsp, 0x458
ret
mov rax, rsi
mov rbx, r8
mov rcx, r9
mov rbp, qword [rsp + 0x450]
add rsp, 0x458
ret
mov rcx, qword [rsp + 0xb8]
lea rax, [rcx + 1]
mov qword [rsp + 0xb8], rax
mov rcx, qword [rsp + 0x190]
mov rdx, qword [rcx + 0xc0]
mov rax, qword [rsp + 0x148]
call rdx
mov rbx, qword [rsp + 0xb8]
cmp rax, rbx
jle 0x51d39c
mov rcx, qword [rsp + 0x190]
mov rdx, qword [rcx + 0x50]
mov rax, qword [rsp + 0x148]
nop
call rdx
mov rcx, qword [rsp]
mov qword [rsp + 0x3e8], rcx
lea rdi, [rsp + 0x3f0]
lea rsi, [rsp + 8]
nop dword [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00461c4c
mov rbp, qword [rbp]
mov rcx, qword [rsp + 0x3e8]
mov qword [rsp], rcx
lea rdi, [rsp + 8]
lea rsi, [rsp + 0x3f0]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00461c4c
mov rbp, qword [rbp]
nop
call fcn.0047b760
test al, al
jne 0x51d28c
lea rcx, [0x00650e16]
mov qword [rsp + 0x1d8], rcx
mov qword [rsp + 0x1e0], 0x21
mov rax, qword [rsp + 0x1d8]
mov ebx, 0x21
call fcn.0040a840
lea rbx, [0x00685cc0]
mov rcx, rax
mov rax, qword [rsp + 0x110]
mov rbp, qword [rsp + 0x450]
add rsp, 0x458
ret
mov rcx, qword [rsp + 0x190]
mov rdx, qword [rcx + 0xc0]
mov rax, qword [rsp + 0x148]
call rdx
test rax, rax
jle 0x51d4fa
mov rcx, qword [rsp + 0x190]
mov rdx, qword [rcx + 0x50]
mov rax, qword [rsp + 0x148]
xor ebx, ebx
call rdx
mov rcx, qword [rsp]
mov qword [rsp + 0x3e8], rcx
lea rdi, [rsp + 0x3f0]
lea rsi, [rsp + 8]
nop word [rax + rax]
nop dword [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00461c4c
mov rbp, qword [rbp]
mov rax, qword [rsp + 0x408]
mov rbx, qword [rsp + 0x410]
mov rcx, qword [0x007dfa28]
cmp qword [0x007dfa20], rax
je 0x51d437
xor eax, eax
jmp 0x51d440
call fcn.00403f40
nop dword [rax]
test al, al
je 0x51d4fa
mov rax, qword [rsp + 0x1a0]
mov rbx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x118]
xor edi, edi
call fcn.0047f820
mov qword [rsp + 0x178], rax
mov qword [rsp + 0x170], rbx
mov qword [rsp + 0xe8], rcx
mov rdx, qword [rsp + 0x4b8]
mov rsi, qword [rsp + 0x4c0]
sub rdx, rsi
mov r8, qword [rsp + 0x110]
sub r8, rsi
mov r10, rdx
neg rdx
sar rdx, 0x3f
and rsi, rdx
mov rdx, qword [rsp + 0x4a8]
add rdx, rsi
mov rax, rdx
mov rbx, r8
mov rcx, r10
nop
call fcn.0040a8c0
mov rbx, rax
lea rax, [0x00600aa0]
call fcn.00482740
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov rax, qword [rsp + 0x178]
mov rbx, qword [rsp + 0x170]
mov rcx, qword [rsp + 0xe8]
call fcn.00481240
xor eax, eax
xor ecx, ecx
mov rdx, qword [rsp + 0xf8]
mov rbx, qword [rsp + 0x188]
jmp 0x51d527
mov rsi, qword [rsp + 0xb0]
inc rsi
mov rdx, rbx
mov rbx, rcx
mov rcx, rax
mov rax, rsi
mov qword [rsp + 0xf8], rdx
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x188], rbx
mov qword [rsp + 0x98], rcx
mov rsi, qword [rsp + 0x190]
mov rdi, qword [rsi + 0xc0]
mov rax, qword [rsp + 0x148]
nop
call rdi
mov rbx, qword [rsp + 0xb0]
cmp rax, rbx
jle 0x51d734
mov rcx, qword [rsp + 0x190]
mov rdx, qword [rcx + 0x50]
mov rax, qword [rsp + 0x148]
call rdx
mov rcx, qword [rsp]
mov qword [rsp + 0x380], rcx
lea rdi, [rsp + 0x388]
lea rsi, [rsp + 8]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00461c4c
mov rbp, qword [rbp]
mov rdi, qword [rsp + 0xb0]
nop dword [rax]
test rdi, rdi
jne 0x51d5fc
mov rax, qword [rsp + 0x3a0]
mov rbx, qword [rsp + 0x3a8]
mov rcx, qword [0x007dfa28]
nop dword [rax]
cmp qword [0x007dfa20], rax
je 0x51d5ed
xor eax, eax
jmp 0x51d600
call fcn.00403f40
mov rdi, qword [rsp + 0xb0]
jmp 0x51d600
xor eax, eax
nop
test al, al
je 0x51d625
mov rax, qword [rsp + 0x98]
mov rbx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x188]
nop dword [rax]
jmp 0x51d510
mov rax, qword [rsp + 0x1a0]
mov rbx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x118]
nop dword [rax]
call fcn.0047f820
mov qword [rsp + 0x178], rax
mov qword [rsp + 0x170], rbx
mov qword [rsp + 0xe8], rcx
mov rdx, qword [rsp + 0x3b0]
mov rsi, qword [rsp + 0x3b8]
mov edi, 4
mov rax, rdx
mov rbx, rsi
lea rcx, [0x0064479d]
nop
call fcn.0047b780
call fcn.0051dcc0
movups xmm0, xmmword [rsp]
movups xmmword [rsp + 0x2b8], xmm0
movups xmm0, xmmword [rsp + 0x10]
movups xmmword [rsp + 0x2c8], xmm0
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rsp + 0x2d8], xmm0
movups xmm0, xmmword [rsp + 0x2b8]
movups xmmword [rsp], xmm0
movups xmm0, xmmword [rsp + 0x2c8]
movups xmmword [rsp + 0x10], xmm0
movups xmm0, xmmword [rsp + 0x2d8]
movups xmmword [rsp + 0x20], xmm0
mov rax, qword [rsp + 0x178]
mov rbx, qword [rsp + 0x170]
mov rcx, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0x140]
mov rsi, qword [rsp + 0x88]
mov r8, qword [rsp + 0xa8]
mov r9, qword [rsp + 0x98]
call fcn.0051b660
test rbx, rbx
je 0x51d510
mov rax, qword [rsp + 0x110]
mov rbp, qword [rsp + 0x450]
add rsp, 0x458
ret
mov rax, qword [rsp + 0x110]
mov rbx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x188]
mov rbp, qword [rsp + 0x450]
add rsp, 0x458
ret
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x68], r9
nop
call fcn.0045f280
mov rax, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
mov r9, qword [rsp + 0x68]
jmp fcn.0051b660