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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x298]
nop dword [rax + rax]
cmp rax, qword [rcx + 0x10]
jbe 0x45c326
sub rsp, 0x318
mov qword [rsp + 0x310], rbp
lea rbp, [rsp + 0x310]
mov rax, qword [rsp + 0x340]
test rax, rax
jle 0x45c0d2
mov rcx, qword [rsp + 0x358]
nop word [rax + rax]
test rcx, rcx
jne 0x45c308
mov rdx, qword gs:[0x28]
mov rdx, qword [rdx]
mov rbx, qword [rsp + 0x338]
cmp rbx, rdx
jne 0x45a8f7
mov rsi, qword [rdx + 0x30]
cmp qword [rsi + 0x90], rdx
je 0x45c2ef
mov esi, dword [0x007a3170]
mov rdx, qword [rdx + 0x30]
movzx edx, byte [rdx + 0xf9]
shr esi, 2
test dl, dl
cmovne esi, edx
mov rdx, qword [rsp + 0x320]
nop dword [rax + rax]
cmp rdx, 0xffffffffffffffff
jne 0x45c0c8
mov r8, qword [rsp + 0x328]
cmp r8, 0xffffffffffffffff
jne 0x45c0b6
mov rdx, qword [rbx + 0x70]
test rdx, rdx
je 0x45c0a5
mov r8, qword [rbx + 0x78]
xor edi, edi
mov qword [rsp + 0x2b8], 0
mov r9, rdi
lea rdi, [rsp + 0x2c0]
xorps xmm0, xmm0
lea rdi, [rdi - 0x30]
nop word [rax + rax]
nop word [rax + rax]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046d055
mov rbp, qword [rbp]
mov qword [rsp + 0x2c8], r8
mov qword [rsp + 0x2e0], rdx
mov r10, qword [rbx + 0x140]
mov r11, qword [rbx + 0x148]
mov r12, qword [rsp + 0x348]
nop dword [rax]
test r12, r12
je 0x45c097
xor edi, edi
mov qword [rsp + 0xa8], r11
mov qword [rsp + 0x280], r10
mov byte [rsp + 0x41], dil
mov qword [rsp + 0x2b0], r9
mov dword [rsp + 0x44], esi
test r8, r8
jne 0x45aa0b
mov r8, rdx
mov rdx, qword [rdx]
mov qword [rsp + 0x2c8], rdx
lea rdx, [r8 + 8]
mov qword [rsp + 0x2e0], rdx
mov rax, qword [rsp + 0x2c8]
mov qword [rsp], rax
call fcn.004548a0
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x10]
test rax, rax
je 0x45bfc7
mov qword [rsp + 0x2b8], rax
mov qword [rsp + 0x2c0], rcx
lea rdi, [rsp + 0x120]
xorps xmm0, xmm0
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046d024
mov rbp, qword [rbp]
mov rax, qword [rsp + 0x350]
mov rcx, qword [rsp + 0x338]
mov rbx, qword [rsp + 0x340]
mov r10, qword [rsp + 0x280]
mov r11, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0x2b0]
xor edx, edx
xor edi, edi
xor r8d, r8d
xor r9d, r9d
jmp 0x45ab20
mov qword [rsp + 0x2b8], r14
mov r13, qword [rsp + 0x238]
mov qword [rsp + 0x2c0], r13
mov r13, qword [rsp + 0x2d8]
mov qword [rsp + 0x2c8], r13
mov qword [rsp + 0x2d8], 0
mov r13, qword [rsp + 0x2e8]
mov qword [rsp + 0x2e0], r13
mov qword [rsp + 0x2e8], 0
mov qword [rsp + 0x308], 0
cmp r12b, 9
sete r12b
mov r13, qword [rsp + 0x350]
mov r14, qword [rsp + 0x338]
mov rax, r13
mov rcx, r14
mov rdx, rdi
xor esi, esi
mov edi, r12d
nop
cmp rax, rdx
jle 0x45bfb2
mov r12, qword [rsp + 0x2b8]
mov r13, qword [rsp + 0x2c0]
cmp dword [r12 + 0x14], 0
nop
je 0x45bf9d
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x340], rbx
mov byte [rsp + 0x3f], r8b
mov qword [rsp + 0x278], rsi
mov byte [rsp + 0x3e], dil
cmp qword [rsp + 0x2e8], 0
je 0x45bdd2
mov r14, qword [rcx + 0x30]
test r14, r14
je 0x45bdca
cmp qword [r14], rcx
sete r14b
mov qword [rsp + 0xa8], r11
mov qword [rsp + 0x280], r10
mov qword [rsp + 0x250], r13
mov qword [rsp + 0x268], r12
movzx r15d, byte [r12 + 0x28]
nop word [rax + rax]
nop
cmp r15b, 2
jne 0x45bb13
mov qword [rsp + 0x2d8], 0
xor r14d, r14d
xor r15d, r15d
mov rcx, qword [rsp + 0x2e8]
mov qword [rsp + 0x2f0], rcx
lea rax, [rcx - 8]
mov qword [rsp + 0x2f0], rax
nop dword [rax + rax]
cmp qword [rsp + 0x2e0], rax
jae 0x45ac16
lea rax, [rcx - 0x10]
mov qword [rsp + 0x2f0], rax
mov qword [rsp + 0x238], r15
mov qword [rsp + 0x270], r14
mov rax, qword [rsp + 0x358]
test rax, rax
je 0x45bafe
mov rcx, qword [rsp + 0x2e8]
mov qword [rsp + 0x2f8], rcx
je 0x45baf7
cmp dword [r12 + 0xc], 0x80000000
sete cl
movsxd r15, dword [r12 + 0xc]
mov qword [rsp + 0x300], r15
mov qword [rsp + 0x308], 0
test cl, cl
jne 0x45ba5b
mov rcx, qword [rsp + 0x2c8]
mov qword [rsp + 0x2d0], rcx
test dil, dil
je 0x45ba53
mov rcx, qword [rsp + 0x2b8]
mov esi, dword [rcx + 0x10]
nop
test esi, esi
je 0x45ba3f
mov rcx, qword [rcx]
lea rcx, [rsi + rcx]
lea rcx, [rcx + 1]
mov qword [rsp + 0x2d0], rcx
nop dword [rax + rax]
test rax, rax
jne 0x45b994
mov rcx, qword [rsp + 0x348]
test rcx, rcx
jne 0x45b68f
mov qword [rsp + 0x340], rbx
movzx esi, byte [rsp + 0x41]
test sil, sil
jne 0x45ae0b
lea rdi, [rdx + 1]
cmp byte [r12 + 0x28], 0xe
jne 0x45ad17
nop dword [rax]
test r11, r11
jle 0x45ad17
mov r13, qword [r10 + r11*8 - 8]
test rbx, rbx
jne 0x45ad14
test rax, rax
je 0x45ad81
dec r11
movzx r12d, byte [r12 + 0x28]
nop dword [rax]
test r14, r14
jne 0x45aa9c
movzx ecx, sil
test rcx, rcx
cmovne rdi, r9
test rax, rax
je 0x45ad69
mov rax, qword [rsp + 0x350]
cmp rax, rdi
jle 0x45ad69
mov rcx, qword [rsp + 0x2e0]
mov rdx, qword [rsp + 0x338]
mov rbx, qword [rdx + 0x80]
nop dword [rax]
cmp rcx, rbx
jne 0x45c0df
mov qword [rsp + 0x370], rdi
mov rbp, qword [rsp + 0x310]
add rsp, 0x318
ret
mov qword [rsp + 0xe8], r9
mov byte [rsp + 0x43], r8b
mov qword [rsp], rcx
mov byte [rsp + 8], sil
mov qword [rsp + 0x10], r13
mov qword [rsp + 0x18], rdi
mov rax, qword [rsp + 0x350]
mov qword [rsp + 0x20], rax
call fcn.0045c520
mov rdi, qword [rsp + 0x28]
mov rax, qword [rsp + 0x358]
mov rcx, qword [rsp + 0x348]
mov rbx, qword [rsp + 0x340]
movzx esi, byte [rsp + 0x41]
movzx r8d, byte [rsp + 0x43]
mov r9, qword [rsp + 0xe8]
mov r10, qword [rsp + 0x280]
mov r11, qword [rsp + 0xa8]
mov r12, qword [rsp + 0x268]
mov r14, qword [rsp + 0x270]
xorps xmm0, xmm0
jmp 0x45ad14
mov byte [rsp + 0x42], r8b
mov qword [rsp + 0xe0], rdx
mov r15, qword [rsp + 0x2c8]
test rdx, rdx
jle 0x45b66d
cmp qword [r12], r15
jae 0x45ae38
test dil, dil
je 0x45b665
mov qword [rsp + 0x48], r15
mov qword [rsp], r12
mov qword [rsp + 8], r13
mov byte [rsp + 0x10], 3
call fcn.00455b20
mov rax, qword [rsp + 0x18]
test rax, rax
jne 0x45b389
movzx eax, byte [rsp + 0x42]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0x48], rcx
mov rbx, qword [rsp + 0x368]
bt ebx, 0
jae 0x45b32b
mov eax, 1
test al, al
jne 0x45aeeb
mov r12, qword [rsp + 0x268]
movzx r8d, byte [r12 + 0x28]
mov rax, qword [rsp + 0x358]
mov rcx, qword [rsp + 0x348]
mov rbx, qword [rsp + 0x340]
movzx esi, byte [rsp + 0x41]
mov r10, qword [rsp + 0x280]
mov r11, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x270]
xorps xmm0, xmm0
mov r9, rdx
mov rdx, qword [rsp + 0xe0]
jmp 0x45acf0
mov rax, qword [rsp + 0x268]
mov qword [rsp], rax
mov rcx, qword [rsp + 0x250]
mov qword [rsp + 8], rcx
call fcn.004550e0
mov rax, qword [rsp + 0x18]
mov qword [rsp + 0x78], rax
mov rcx, qword [rsp + 0x10]
mov qword [rsp + 0x220], rcx
mov rdx, qword [rsp + 0x268]
mov qword [rsp], rdx
mov rbx, qword [rsp + 0x250]
mov qword [rsp + 8], rbx
mov rbx, qword [rsp + 0x48]
mov qword [rsp + 0x10], rbx
call fcn.004555c0
movsxd rax, dword [rsp + 0x28]
mov qword [rsp + 0xd0], rax
mov rcx, qword [rsp + 0x18]
mov qword [rsp + 0x240], rcx
mov rdx, qword [rsp + 0x20]
mov qword [rsp + 0xa0], rdx
mov rbx, qword [rsp + 0x78]
cmp rbx, 0xf
jne 0x45b31e
movabs rsi, 0x2e656d69746e7572
mov rdi, qword [rsp + 0x220]
cmp qword [rdi], rsi
jne 0x45afb8
cmp dword [rdi + 8], 0x61706f67
jne 0x45afb8
cmp word [rdi + 0xc], 0x696e
jne 0x45afb8
cmp byte [rdi + 0xe], 0x63
jne 0x45afb8
mov ebx, 5
lea rdi, [0x0065a85f]
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x230], rdi
call fcn.0043aa00
mov rax, qword [rsp + 0x230]
mov qword [rsp], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 8], rax
call fcn.0043b480
lea rax, [0x0069e4f6]
mov qword [rsp], rax
mov qword [rsp + 8], 1
call fcn.0043b480
nop
call fcn.0043aaa0
mov rax, qword [rsp + 0x2f8]
mov qword [rsp + 0x2a8], rax
xor ecx, ecx
jmp 0x45b059
test byte [rax], al
mov rdx, qword [rax + rcx*8]
mov qword [rsp + 0xc8], rdx
call fcn.0043aa00
mov rax, qword [rsp + 0xc8]
mov qword [rsp], rax
call fcn.0043b2a0
nop dword [rax]
call fcn.0043aaa0
mov rax, qword [rsp + 0x90]
lea rcx, [rax + 1]
mov rax, qword [rsp + 0x2a8]
mov rdx, qword [rsp + 0x300]
shr rdx, 3
cmp rcx, rdx
jae 0x45b0e0
cmp rcx, 0xa
jae 0x45b0ba
mov qword [rsp + 0x90], rcx
test rcx, rcx
je 0x45b019
nop dword [rax]
call fcn.0043aa00
lea rax, [0x0065a2d2]
mov qword [rsp], rax
mov qword [rsp + 8], 2
call fcn.0043b480
nop
call fcn.0043aaa0
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x90]
jmp 0x45b019
call fcn.0043aa00
lea rax, [0x0065a742]
mov qword [rsp], rax
mov qword [rsp + 8], 5
call fcn.0043b480
call fcn.0043aaa0
nop dword [rax]
call fcn.0043aa00
lea rax, [0x0065a2d0]
mov qword [rsp], rax
mov qword [rsp + 8], 2
call fcn.0043b480
nop
call fcn.0043aaa0
call fcn.0043aa00
lea rax, [0x0066a7f0]
mov qword [rsp], rax
mov qword [rsp + 8], 1
nop
call fcn.0043b480
mov rax, qword [rsp + 0x240]
mov qword [rsp], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 8], rax
nop
call fcn.0043b480
lea rax, [0x0065a2aa]
mov qword [rsp], rax
mov qword [rsp + 8], 1
call fcn.0043b480
mov rax, qword [rsp + 0xd0]
mov qword [rsp], rax
call fcn.0043b220
call fcn.0043aaa0
mov rax, qword [rsp + 0x2c8]
mov rcx, qword [rsp + 0x268]
mov rdx, qword [rcx]
cmp rax, rdx
ja 0x45b2c2
mov rax, qword [rsp + 0x338]
mov rdx, qword [rax + 0x30]
nop dword [rax]
test rdx, rdx
je 0x45b2b2
cmp dword [rdx + 0xc4], 0
jle 0x45b2b2
nop word [rax + rax]
nop
cmp qword [rdx + 0x90], rax
jne 0x45b2b2
mov rax, qword [rsp + 0x2e8]
mov qword [rsp + 0xc8], rax
mov rcx, qword [rsp + 0x2e0]
mov qword [rsp + 0xc0], rcx
mov rdx, qword [rsp + 0x2c8]
mov qword [rsp + 0xb8], rdx
nop dword [rax]
call fcn.0043aa00
lea rax, [0x0065a4fb]
mov qword [rsp], rax
mov qword [rsp + 8], 4
call fcn.0043b480
mov rax, qword [rsp + 0xc8]
mov qword [rsp], rax
call fcn.0043b2a0
lea rax, [0x0065a517]
mov qword [rsp], rax
mov qword [rsp + 8], 4
call fcn.0043b480
mov rax, qword [rsp + 0xc0]
mov qword [rsp], rax
call fcn.0043b2a0
lea rax, [0x0065a50f]
mov qword [rsp], rax
mov qword [rsp + 8], 4
call fcn.0043b480
mov rax, qword [rsp + 0xb8]
mov qword [rsp], rax
nop
call fcn.0043b2a0
call fcn.0043aaa0
call fcn.0043aa00
call fcn.0043ace0
call fcn.0043aaa0
mov rax, qword [rsp + 0xd8]
lea rdx, [rax + 1]
mov rbx, qword [rsp + 0x368]
jmp 0x45ae95
mov edx, dword [rsp + 0x44]
cmp edx, 2
jge 0x45b1cd
nop
jmp 0x45b28a
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xc0], rdx
call fcn.0043aa00
lea rax, [0x0065a2c0]
mov qword [rsp], rax
mov qword [rsp + 8], 2
call fcn.0043b480
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xc0]
sub rax, rcx
mov qword [rsp], rax
call fcn.0043b2a0
call fcn.0043aaa0
mov rcx, qword [rsp + 0x268]
jmp 0x45b190
mov rdi, qword [rsp + 0x220]
jmp 0x45afb8
mov rcx, qword [rsp + 0x268]
movzx ebx, byte [rcx + 0x28]
mov qword [rsp], rcx
mov rsi, qword [rsp + 0x250]
mov qword [rsp + 8], rsi
mov rdi, qword [rsp + 0x338]
mov qword [rsp + 0x10], rdi
test rdx, rdx
sete byte [rsp + 0x18]
mov byte [rsp + 0x19], bl
mov byte [rsp + 0x1a], al
call fcn.0045d660
movzx eax, byte [rsp + 0x20]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0xd8]
mov rbx, qword [rsp + 0x368]
jmp 0x45ae91
mov qword [rsp + 0x2a8], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0xf0], xmm0
movups xmmword [rsp + 0x100], xmm0
movups xmmword [rsp + 0x110], xmm0
mov rcx, qword [rsp + 0x48]
movzx edx, byte [rsp + 0x42]
mov rbx, qword [rsp + 0x60]
jmp 0x45b3ef
mov rax, qword [rsp + 0x2b8]
mov rsi, qword [rsp + 0x2a0]
movzx edx, byte [rsi + 2]
mov rsi, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0x2a8]
lea rsi, [rdi + rsi*4]
lea rsi, [rsi + 0x10]
movsxd rcx, dword [rsi]
add rcx, qword [rax]
mov qword [rsp + 0xd8], rbx
mov byte [rsp + 0x3f], dl
mov qword [rsp + 0x48], rcx
mov rax, qword [rsp + 0x268]
mov qword [rsp], rax
mov rsi, qword [rsp + 0x250]
mov qword [rsp + 8], rsi
mov dword [rsp + 0x10], 2
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], 0
call fcn.004558e0
mov eax, dword [rsp + 0x28]
nop dword [rax + rax]
test eax, eax
jl 0x45b64b
movsxd rax, eax
cmp rax, 0x100000
jae 0x45c292
lea rax, [rax + rax*4]
mov qword [rsp + 0xb0], rax
mov rcx, qword [rsp + 0x2a8]
mov edx, dword [rcx + rax*4 + 0xc]
mov dword [rsp + 0xf8], edx
lea rdx, [rcx + rax*4]
lea rdx, [rdx + 2]
movzx edx, byte [rdx]
mov byte [rsp + 0x118], dl
lea rbx, [rcx + rax*4]
mov qword [rsp + 0x2a0], rbx
mov rsi, qword [rsp + 0x368]
bt esi, 0
jae 0x45b5eb
lea rax, [rsp + 0xf0]
mov qword [rsp], rax
mov rcx, qword [rsp + 0x250]
mov qword [rsp + 8], rcx
nop
call fcn.004550e0
mov rax, qword [rsp + 0x10]
mov qword [rsp + 0x228], rax
mov rcx, qword [rsp + 0x18]
mov qword [rsp + 0x68], rcx
mov rdx, qword [rsp + 0x268]
mov qword [rsp], rdx
mov rbx, qword [rsp + 0x250]
mov qword [rsp + 8], rbx
mov rsi, qword [rsp + 0x48]
mov qword [rsp + 0x10], rsi
nop
call fcn.004555c0
movsxd rax, dword [rsp + 0x28]
mov qword [rsp + 0xd0], rax
mov rcx, qword [rsp + 0x18]
mov qword [rsp + 0x248], rcx
mov rdx, qword [rsp + 0x20]
mov qword [rsp + 0x98], rdx
call fcn.0043aa00
mov rax, qword [rsp + 0x228]
mov qword [rsp], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 8], rax
call fcn.0043b480
lea rax, [0x0065a929]
mov qword [rsp], rax
mov qword [rsp + 8], 6
call fcn.0043b480
call fcn.0043aaa0
call fcn.0043aa00
lea rax, [0x0066a7f0]
mov qword [rsp], rax
mov qword [rsp + 8], 1
call fcn.0043b480
mov rax, qword [rsp + 0x248]
mov qword [rsp], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 8], rax
call fcn.0043b480
lea rax, [0x0065a2aa]
mov qword [rsp], rax
mov qword [rsp + 8], 1
call fcn.0043b480
mov rax, qword [rsp + 0xd0]
mov qword [rsp], rax
call fcn.0043b220
call fcn.0043ace0
call fcn.0043aaa0
mov rax, qword [rsp + 0xd8]
lea rbx, [rax + 1]
jmp 0x45b3bd
lea rax, [rsp + 0xf0]
mov qword [rsp], rax
mov rcx, qword [rsp + 0x250]
mov qword [rsp + 8], rcx
mov rbx, qword [rsp + 0x338]
mov qword [rsp + 0x10], rbx
mov rsi, qword [rsp + 0xd8]
test rsi, rsi
sete byte [rsp + 0x18]
mov byte [rsp + 0x19], dl
movzx edx, byte [rsp + 0x3f]
mov byte [rsp + 0x1a], dl
call fcn.0045d660
cmp byte [rsp + 0x20], 0
jne 0x45b4a6
mov rbx, qword [rsp + 0xd8]
jmp 0x45b3bd
movzx eax, byte [rsp + 0x3f]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0xd8]
nop dword [rax]
jmp 0x45ae6d
dec r15
jmp 0x45ae38
mov rsi, qword [rsp + 0x368]
bt esi, 1
jb 0x45b685
movzx esi, byte [rsp + 0x41]
jmp 0x45ae29
movzx esi, byte [rsp + 0x41]
jmp 0x45ae38
mov rsi, qword [rsp + 0x2c8]
nop word [rax + rax]
test rdx, rdx
jne 0x45b987
mov r15, qword [rsp + 0x368]
bt r15d, 1
jae 0x45b965
lea rdi, [rsi + 1]
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x50], rsi
mov qword [rsp], r12
mov qword [rsp + 8], r13
mov byte [rsp + 0x10], 3
call fcn.00455b20
mov rax, qword [rsp + 0x18]
test rax, rax
jne 0x45b7cd
movzx eax, byte [rsp + 0x3f]
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x340]
mov rsi, qword [rsp + 0x268]
cmp byte [rsi + 0x28], 0x16
jne 0x45b720
cmp al, 0x12
jne 0x45b7b0
nop dword [rax + rax]
test rbx, rbx
jle 0x45b776
dec rbx
movzx r8d, byte [rsi + 0x28]
lea rdx, [rcx - 1]
mov rax, qword [rsp + 0x358]
mov rcx, qword [rsp + 0x348]
movzx edi, byte [rsp + 0x3e]
mov r9, qword [rsp + 0x60]
mov r10, qword [rsp + 0x280]
mov r11, qword [rsp + 0xa8]
mov r12, rsi
mov r13, qword [rsp + 0x250]
mov r14, qword [rsp + 0x270]
xorps xmm0, xmm0
jmp 0x45acda
mov rdi, qword [rsp + 0x350]
nop
cmp rdi, rcx
jle 0x45b7a3
cmp rcx, 0x100000
jae 0x45c29c
mov rax, qword [rsp + 0x348]
mov qword [rax + rcx*8], rdx
inc rcx
jmp 0x45b728
mov rax, qword [rsp + 0x348]
jmp 0x45b728
cmp al, 9
je 0x45b720
nop dword [rax + rax]
cmp al, 0x13
je 0x45b720
jmp 0x45b728
mov qword [rsp + 0x2a8], rax
mov rcx, qword [rsp + 0x50]
movzx edx, byte [rsp + 0x3f]
mov rbx, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x340]
jmp 0x45b81b
mov r8, qword [rsp + 0x2b8]
movzx r9d, byte [rsi + 2]
lea r10, [rbx + rdx*4]
lea r10, [r10 + 0x10]
movsxd rcx, dword [r10]
add rcx, qword [r8]
lea rsi, [rcx + 1]
mov edx, r9d
mov rbx, rax
mov qword [rsp + 0x340], rdi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0xe0], rbx
mov byte [rsp + 0x40], dl
mov rax, qword [rsp + 0x268]
mov qword [rsp], rax
mov r8, qword [rsp + 0x250]
mov qword [rsp + 8], r8
mov dword [rsp + 0x10], 2
mov qword [rsp + 0x18], rcx
lea rcx, [rsp + 0x120]
mov qword [rsp + 0x20], rcx
call fcn.004558e0
mov eax, dword [rsp + 0x28]
test eax, eax
jl 0x45b945
movsxd rax, eax
nop dword [rax + rax]
cmp rax, 0x100000
jae 0x45c2b3
lea rdx, [rax + rax*4]
mov rbx, qword [rsp + 0x2a8]
lea rsi, [rbx + rdx*4]
lea rdi, [rbx + rdx*4]
lea rdi, [rdi + 2]
cmp byte [rdi], 0x16
jne 0x45b8b4
movzx edi, byte [rsp + 0x40]
cmp dil, 0x12
jne 0x45b920
mov rdi, qword [rsp + 0x340]
nop dword [rax]
test rdi, rdi
jle 0x45b8d5
dec rdi
mov rax, qword [rsp + 0xe0]
jmp 0x45b7f6
mov r8, qword [rsp + 0x350]
mov rax, qword [rsp + 0xe0]
cmp r8, rax
jle 0x45b90f
cmp rax, 0x100000
jae 0x45c2a9
mov rcx, qword [rsp + 0x58]
mov r9, qword [rsp + 0x348]
mov qword [r9 + rax*8], rcx
inc rax
jmp 0x45b7f6
mov r9, qword [rsp + 0x348]
jmp 0x45b7f6
cmp dil, 9
je 0x45b8b4
cmp dil, 0x13
je 0x45b8b4
mov rax, qword [rsp + 0xe0]
mov rdi, qword [rsp + 0x340]
nop dword [rax]
jmp 0x45b7f6
movzx eax, byte [rsp + 0x40]
mov rcx, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x340]
nop
jmp 0x45b705
test dil, dil
jne 0x45b6bc
cmp qword [r12], rsi
je 0x45b6bc
lea r15, [rsi - 1]
mov rdi, rsi
mov rsi, r15
jmp 0x45b6c0
test dil, dil
mov r15, qword [rsp + 0x368]
jmp 0x45b968
mov rcx, qword [rax]
lea rbx, [rsp + 0x2b8]
mov qword [rsp], rbx
mov rbx, qword [rsp + 0x360]
mov qword [rsp + 8], rbx
mov rdx, rax
call rcx
cmp byte [rsp + 0x10], 0
je 0x45ba1f
mov rcx, qword [rsp + 0x348]
test rcx, rcx
mov rax, qword [rsp + 0x358]
mov rdx, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x340]
movzx edi, byte [rsp + 0x3e]
movzx r8d, byte [rsp + 0x3f]
mov r9, qword [rsp + 0x60]
mov r10, qword [rsp + 0x280]
mov r11, qword [rsp + 0xa8]
mov r12, qword [rsp + 0x268]
mov r13, qword [rsp + 0x250]
mov r14, qword [rsp + 0x270]
xorps xmm0, xmm0
jmp 0x45acd4
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x370], rax
mov rbp, qword [rsp + 0x310]
add rsp, 0x318
ret
mov qword [rsp + 0x2d0], 0
test rax, rax
jmp 0x45acc3
test rax, rax
jmp 0x45acc3
lea rcx, [rsp + 0x2b8]
mov qword [rsp], rcx
mov qword [rsp + 8], r12
mov qword [rsp + 0x10], r13
test rax, rax
setne byte [rsp + 0x18]
mov qword [rsp + 0x20], rsi
nop
call fcn.0045c340
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x300], rax
mov qword [rsp + 0x308], rcx
mov rax, qword [rsp + 0x358]
mov rdx, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x340]
movzx edi, byte [rsp + 0x3e]
movzx r8d, byte [rsp + 0x3f]
mov r9, qword [rsp + 0x60]
mov r10, qword [rsp + 0x280]
mov r11, qword [rsp + 0xa8]
mov r12, qword [rsp + 0x268]
mov r13, qword [rsp + 0x250]
mov r14, qword [rsp + 0x270]
xorps xmm0, xmm0
jmp 0x45ac7a
xor ecx, ecx
jmp 0x45ac59
movzx ecx, byte [rsp + 0x41]
test cl, cl
je 0x45ac7a
test rax, rax
jmp 0x45ac37
cmp r15b, 6
je 0x45abca
nop dword [rax]
cmp r15b, 4
je 0x45abca
cmp r15b, 5
je 0x45abca
cmp r15b, 7
je 0x45abca
nop
cmp r15b, 0x10
je 0x45abca
test r14b, r14b
je 0x45bb59
cmp r15b, 8
je 0x45abca
cmp qword [rsp + 0x2d8], 0
jne 0x45bdc2
mov r14, qword [rsp + 0x2e8]
add r14, 0xfffffffffffffff8
mov r15, r14
mov r14, qword [r14]
mov qword [rsp + 0x2d8], r14
mov qword [rsp + 0x88], r15
mov rax, qword [rsp + 0x2d8]
mov qword [rsp], rax
call fcn.004548a0
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 8]
test rcx, rcx
je 0x45bc10
mov rdx, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x340]
mov rsi, qword [rsp + 0x278]
movzx edi, byte [rsp + 0x3e]
movzx r8d, byte [rsp + 0x3f]
mov r9, qword [rsp + 0x60]
mov r10, qword [rsp + 0x280]
mov r11, qword [rsp + 0xa8]
mov r12, qword [rsp + 0x268]
mov r13, qword [rsp + 0x250]
xorps xmm0, xmm0
mov r14, rcx
mov r15, rax
mov rax, qword [rsp + 0x350]
mov rcx, qword [rsp + 0x338]
jmp 0x45abdc
movzx ebx, byte [rsp + 0x41]
test bl, bl
je 0x45bdaf
mov rsi, qword [rsp + 0x338]
mov rdi, qword [rsi + 0x30]
cmp byte [rdi + 0xe8], 0
je 0x45bda5
mov rdi, qword [rsp + 0x268]
cmp byte [rdi + 0x28], 9
jne 0x45bd9a
xor edx, edx
mov qword [rsp + 0x298], rcx
mov qword [rsp + 0x290], rax
mov r8, qword [rsp + 0x358]
test r8, r8
jne 0x45bc79
test dl, dl
jne 0x45bc79
test r8, r8
je 0x45bbaa
jmp 0x45c2bd
mov qword [rsp], rdi
mov rax, qword [rsp + 0x250]
mov qword [rsp + 8], rax
call fcn.004550e0
mov rax, qword [rsp + 0x10]
mov qword [rsp + 0x288], rax
mov rcx, qword [rsp + 0x18]
mov qword [rsp + 0xe0], rcx
mov rdx, qword [rsp + 0x2d8]
mov qword [rsp + 0xc8], rdx
call fcn.0043aa00
lea rax, [0x00664354]
mov qword [rsp], rax
mov qword [rsp + 8], 0x22
call fcn.0043b480
mov rax, qword [rsp + 0x288]
mov qword [rsp], rax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 8], rax
call fcn.0043b480
lea rax, [0x0065c31b]
mov qword [rsp], rax
mov qword [rsp + 8], 0xd
call fcn.0043b480
mov rax, qword [rsp + 0xc8]
mov qword [rsp], rax
call fcn.0043b2a0
nop
call fcn.0043ace0
call fcn.0043aaa0
mov rax, qword [rsp + 0x338]
mov rcx, qword [rax + 8]
mov rdx, qword [rax]
mov qword [rsp], rdx
mov qword [rsp + 8], rcx
lea rcx, [rsp + 0x2b8]
mov qword [rsp + 0x10], rcx
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x18], rcx
nop dword [rax]
call fcn.0045dee0
mov r8, qword [rsp + 0x358]
test r8, r8
mov rax, qword [rsp + 0x290]
mov rcx, qword [rsp + 0x298]
movzx ebx, byte [rsp + 0x41]
mov rsi, qword [rsp + 0x338]
mov rdi, qword [rsp + 0x268]
jmp 0x45bc6e
mov edx, ebx
nop dword [rax]
jmp 0x45bc4a
mov rdi, qword [rsp + 0x268]
jmp 0x45bd9a
mov rsi, qword [rsp + 0x338]
mov rdi, qword [rsp + 0x268]
nop
jmp 0x45bd9a
xor r15d, r15d
jmp 0x45bb82
xor r14d, r14d
jmp 0x45ab90
mov r14, qword [rsp + 0x368]
bt r14d, 2
nop
jae 0x45be35
mov r15, qword [rcx + 0x30]
cmp qword [r15], rcx
jne 0x45be35
mov r15, qword [r15 + 0x90]
test r15, r15
je 0x45be35
movzx r14d, byte [r12 + 0x28]
nop dword [rax]
cmp r14b, 5
je 0x45befe
cmp r14b, 0xd
jne 0x45be35
mov r14, qword [r15 + 0x38]
mov qword [rsp + 0x2e0], r14
mov r14, qword [rcx + 0x30]
mov r14, qword [r14 + 0x90]
mov r10, qword [r14 + 0x140]
mov r11, qword [r14 + 0x148]
mov qword [rsp + 0xa8], r11
mov qword [rsp + 0x280], r10
mov qword [rsp + 0x258], r13
mov qword [rsp + 0x260], r12
mov rax, qword [rsp + 0x2c8]
mov qword [rsp], r12
mov qword [rsp + 8], r13
mov qword [rsp + 0x10], rax
lea rax, [rsp + 0x120]
mov qword [rsp + 0x18], rax
call fcn.00455640
movsxd rax, dword [rsp + 0x20]
add rax, qword [rsp + 0x2e0]
mov qword [rsp + 0x2e8], rax
add rax, 8
mov qword [rsp + 0x2e8], rax
mov rax, qword [rsp + 0x350]
mov rcx, qword [rsp + 0x338]
mov rdx, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x340]
mov rsi, qword [rsp + 0x278]
movzx edi, byte [rsp + 0x3e]
movzx r8d, byte [rsp + 0x3f]
mov r9, qword [rsp + 0x60]
xorps xmm0, xmm0
mov r12, qword [rsp + 0x260]
mov r13, qword [rsp + 0x258]
mov r11, qword [rsp + 0xa8]
mov r10, qword [rsp + 0x280]
jmp 0x45ab7c
mov rax, qword [r15 + 0x40]
mov qword [rsp + 0x2c8], rax
mov qword [rsp], rax
call fcn.004548a0
mov r13, qword [rsp + 0x10]
mov r12, qword [rsp + 8]
mov qword [rsp + 0x2b8], r12
mov qword [rsp + 0x2c0], r13
mov rcx, qword [rsp + 0x338]
mov rax, qword [rcx + 0x30]
mov rax, qword [rax + 0x90]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x2e0], rax
mov rax, qword [rcx + 0x30]
mov rax, qword [rax + 0x90]
mov r10, qword [rax + 0x140]
mov r11, qword [rax + 0x148]
mov rax, qword [rsp + 0x350]
mov rdx, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x340]
mov rsi, qword [rsp + 0x278]
movzx edi, byte [rsp + 0x3e]
movzx r8d, byte [rsp + 0x3f]
mov r9, qword [rsp + 0x60]
xorps xmm0, xmm0
jmp 0x45be35
mov rax, qword [rsp + 0x358]
movzx esi, byte [rsp + 0x41]
mov rdi, rdx
jmp 0x45ad29
mov rax, qword [rsp + 0x358]
movzx esi, byte [rsp + 0x41]
mov rdi, rdx
jmp 0x45ad29
mov rax, qword [rsp + 0x358]
test rax, rax
je 0x45c085
mov rax, qword [rsp + 0x2c8]
mov qword [rsp + 0xc8], rax
call fcn.0043aa00
lea rax, [0x0065ec98]
mov qword [rsp], rax
mov qword [rsp + 8], 0x14
call fcn.0043b480
mov rax, qword [rsp + 0xc8]
mov qword [rsp], rax
call fcn.0043b2a0
call fcn.0043ace0
nop dword [rax]
call fcn.0043aaa0
mov rax, qword [rsp + 0x338]
mov rcx, qword [rax + 8]
mov rax, qword [rax]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
lea rax, [rsp + 0x2b8]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], 0
call fcn.0045dee0
mov rax, qword [rsp + 0x358]
test rax, rax
jne 0x45c2d6
mov qword [rsp + 0x370], 0
mov rbp, qword [rsp + 0x310]
add rsp, 0x318
ret
movzx ecx, byte [rsp + 0x41]
test cl, cl
jne 0x45bfd8
test rax, rax
jmp 0x45c063
test rcx, rcx
sete dil
nop
jmp 0x45a9cb
mov r8, qword [rbx + 0x40]
mov rdx, qword [rbx + 0x38]
mov rdi, qword [rbx + 0x50]
jmp 0x45a94f
mov r8, rdx
mov rdx, qword [rsp + 0x328]
xor edi, edi
jmp 0x45a94f
mov r8, qword [rsp + 0x328]
jmp 0x45c0b6
mov rcx, qword [rsp + 0x358]
jmp 0x45a8c9
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0x80], rdi
mov rax, qword [rdx + 0x98]
mov qword [rsp + 0xd0], rax
call fcn.0043aa00
lea rax, [0x0065b8b2]
mov qword [rsp], rax
mov qword [rsp + 8], 0xa
nop
call fcn.0043b480
mov rax, qword [rsp + 0xd0]
mov qword [rsp], rax
call fcn.0043b220
lea rax, [0x0065ba3b]
mov qword [rsp], rax
mov qword [rsp + 8], 0xb
call fcn.0043b480
mov rax, qword [rsp + 0xc8]
mov qword [rsp], rax
nop dword [rax + rax]
call fcn.0043b2a0
lea rax, [0x0065a6fc]
mov qword [rsp], rax
mov qword [rsp + 8], 5
call fcn.0043b480
mov rax, qword [rsp + 0xc0]
mov qword [rsp], rax
call fcn.0043b2a0
call fcn.0043ace0
call fcn.0043aaa0
mov rax, qword [rsp + 0x338]
mov rcx, qword [rax]
mov qword [rsp + 0xc8], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0xc0], rax
call fcn.0043aa00
lea rax, [0x0065b056]
mov qword [rsp], rax
mov qword [rsp + 8], 8
call fcn.0043b480
mov rax, qword [rsp + 0xc8]
mov qword [rsp], rax
call fcn.0043b2a0
lea rax, [0x0065a2a4]
mov qword [rsp], rax
mov qword [rsp + 8], 1
nop dword [rax + rax]
call fcn.0043b480
mov rax, qword [rsp + 0xc0]
mov qword [rsp], rax
call fcn.0043b2a0
lea rax, [0x0065a5d3]
mov qword [rsp], rax
mov qword [rsp + 8], 4
call fcn.0043b480
mov rax, qword [rsp + 0x80]
mov qword [rsp], rax
nop dword [rax + rax]
call fcn.0043b220
lea rax, [0x0065a6e3]
mov qword [rsp], rax
mov qword [rsp + 8], 5
call fcn.0043b480
mov rax, qword [rsp + 0x350]
mov qword [rsp], rax
call fcn.0043b220
call fcn.0043ace0
call fcn.0043aaa0
lea rax, [0x0066494f]
mov qword [rsp], rax
mov qword [rsp + 8], 0x23
call fcn.00439220
mov ecx, 0x100000
call fcn.0046cdc0
mov rax, rcx
mov ecx, 0x100000
call fcn.0046cdc0
mov ecx, 0x100000
call fcn.0046cdc0
mov ecx, 0x100000
call fcn.0046cdc0
lea rax, [0x0065da41]
mov qword [rsp], rax
mov qword [rsp + 8], 0x11
call fcn.00439220
lea rax, [0x0065b920]
mov qword [rsp], rax
mov qword [rsp + 8], 0xa
call fcn.00439220
lea rax, [0x006689be]
mov qword [rsp], rax
mov qword [rsp + 8], 0x39
call fcn.00439220
lea rax, [0x00668723]
mov qword [rsp], rax
mov qword [rsp + 8], 0x37
nop dword [rax]
call fcn.00439220
nop
call fcn.0046abe0
jmp fcn.0045a860