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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x60]
cmp rax, qword [rcx + 0x10]
jbe 0x4e5d7a
sub rsp, 0xe0
mov qword [rsp + 0xd8], rbp
lea rbp, [rsp + 0xd8]
xorps xmm0, xmm0
movups xmmword [rsp + 0xc8], xmm0
mov rdi, qword [rsp + 0xe8]
mov byte [rdi + 0xb0], 0
mov rcx, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0xf0]
xor eax, eax
xor ebx, ebx
jmp 0x4e4cc4
inc rax
cmp rax, rcx
jge 0x4e4ba2
jae 0x4e5d73
movzx r8d, byte [rdx + rax]
cmp r8b, 0x25
jne 0x4e4b89
mov qword [rsp + 0x68], rbx
cmp rax, rsi
jg 0x4e5b63
cmp rax, rcx
jge 0x4e5b5b
lea rsi, [rdi + 0x40]
test byte [rsi], al
mov qword [rdi + 0x48], 0
mov qword [rdi + 0x49], 0
inc rax
jmp 0x4e4bd7
inc rax
cmp rax, rcx
jge 0x4e5b4e
jae 0x4e5d5e
movzx esi, byte [rdx + rax]
cmp sil, 0x23
ja 0x4e5b12
cmp sil, 0x20
jne 0x4e4c00
mov byte [rdi + 0x4d], 1
jmp 0x4e4bd4
cmp sil, 0x23
jne 0x4e4c0c
mov byte [rdi + 0x4c], 1
jmp 0x4e4bd4
lea r8d, [rsi - 0x61]
cmp r8b, 0x19
ja 0x4e5b05
mov r8, qword [rsp + 0x108]
cmp rbx, r8
jge 0x4e4ce4
cmp sil, 0x76
jne 0x4e4cdc
movzx r9d, byte [rdi + 0x4c]
mov byte [rdi + 0x50], r9b
mov byte [rdi + 0x4c], 0
movzx r9d, byte [rdi + 0x4b]
mov byte [rdi + 0x4f], r9b
mov byte [rdi + 0x4b], 0
cmp rbx, r8
jae 0x4e5d57
mov qword [rsp + 0x60], rax
shl rbx, 4
mov rcx, qword [rsp + 0x100]
mov rdx, qword [rcx + rbx + 8]
mov rbx, qword [rcx + rbx]
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
mov qword [rsp], rdi
movzx edx, sil
mov dword [rsp + 0x18], edx
call fcn.004e0d40
mov rax, qword [rsp + 0x68]
inc rax
mov rcx, qword [rsp + 0x60]
inc rcx
mov rsi, qword [rsp + 0xf8]
mov r8, qword [rsp + 0xe8]
mov r9, qword [rsp + 0xf0]
mov rdx, r9
mov rdi, r8
mov rbx, rax
mov rax, rcx
mov rcx, rsi
cmp rax, rcx
jge 0x4e5cf4
mov byte [rdi + 0xb1], 1
mov rsi, rax
jmp 0x4e4b8c
cmp rbx, r8
jmp 0x4e4c52
mov qword [rsp], rdi
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], r8
call fcn.004e4680
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x38]
movzx edx, byte [rsp + 0x40]
mov byte [rsp + 0x4f], dl
mov rbx, qword [rsp + 0xf8]
cmp rcx, rbx
jge 0x4e5af8
jae 0x4e5d50
mov rsi, qword [rsp + 0xf0]
movzx edi, byte [rsi + rcx]
cmp dil, 0x2a
je 0x4e59a9
mov qword [rsp], rsi
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rbx
call fcn.004ddea0
mov rax, qword [rsp + 0x20]
movzx ecx, byte [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0xe8]
mov qword [rdi + 0x58], rax
mov byte [rdi + 0x48], cl
movzx eax, byte [rsp + 0x4f]
test al, al
je 0x4e4d98
test cl, cl
je 0x4e4d98
mov byte [rdi + 0xb1], 0
mov rcx, qword [rsp + 0x98]
lea rbx, [rdx + 1]
mov rsi, qword [rsp + 0xf8]
cmp rbx, rsi
jge 0x4e599c
cmp rdx, rsi
jae 0x4e5d42
mov r8, qword [rsp + 0xf0]
movzx r9d, byte [r8 + rdx]
cmp r9b, 0x2e
je 0x4e5760
test al, al
je 0x4e570f
mov qword [rsp + 0x98], rcx
cmp rdx, rsi
jge 0x4e5031
jae 0x4e5d26
movzx ebx, byte [r8 + rdx]
cmp ebx, 0x80
jge 0x4e4fd7
mov eax, 1
add rdx, rax
mov qword [rsp + 0x60], rdx
cmp ebx, 0x25
jne 0x4e4ec1
mov rbx, qword [rdi + 8]
mov r9, qword [rdi]
mov r10, qword [rdi + 0x10]
lea r11, [rbx + 1]
cmp r11, r10
jg 0x4e4e47
lea r10, [rbx + 1]
mov qword [rdi + 8], r10
mov byte [r9 + rbx], 0x25
mov rax, rcx
mov rcx, rdx
jmp 0x4e4c9d
lea rax, [0x008569c0]
mov qword [rsp], rax
mov qword [rsp + 8], r9
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r10
mov qword [rsp + 0x20], r11
call fcn.004400c0
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
mov rdi, qword [rsp + 0xe8]
mov qword [rdi + 0x10], rdx
cmp dword [0x00d857e0], 0
jne 0x4e4eba
mov qword [rdi], rax
mov rdx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0xf8]
mov r8, qword [rsp + 0xf0]
mov rbx, rcx
mov r9, rax
mov rcx, qword [rsp + 0x98]
jmp 0x4e4e2f
call fcn.00457490
jmp 0x4e4e92
lea rax, [rdi + 0xb1]
cmp byte [rax], 0
je 0x4e4fa0
mov rax, qword [rsp + 0x108]
cmp rcx, rax
jge 0x4e4f69
cmp ebx, 0x76
jne 0x4e4f64
movzx r9d, byte [rdi + 0x4c]
mov byte [rdi + 0x50], r9b
mov byte [rdi + 0x4c], 0
movzx r9d, byte [rdi + 0x4b]
mov byte [rdi + 0x4f], r9b
mov byte [rdi + 0x4b], 0
cmp rcx, rax
jae 0x4e5d1f
shl rcx, 4
mov rdx, qword [rsp + 0x100]
mov rsi, qword [rdx + rcx + 8]
mov rcx, qword [rdx + rcx]
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rsi
mov qword [rsp], rdi
mov dword [rsp + 0x18], ebx
call fcn.004e0d40
mov rax, qword [rsp + 0x98]
lea rcx, [rax + 1]
mov rdx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0xf8]
mov rdi, qword [rsp + 0xe8]
mov r8, qword [rsp + 0xf0]
jmp 0x4e4e3c
cmp rcx, rax
jmp 0x4e4f04
mov qword [rsp], rdi
mov dword [rsp + 8], ebx
call fcn.004e4960
mov rdx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0xf8]
mov rdi, qword [rsp + 0xe8]
mov r8, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0x98]
jmp 0x4e4e3c
mov qword [rsp], rdi
mov dword [rsp + 8], ebx
call fcn.004e47a0
mov rdx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0xf8]
mov rdi, qword [rsp + 0xe8]
mov r8, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0x98]
jmp 0x4e4e3c
mov qword [rsp + 0x60], rdx
sub rsi, rdx
mov rcx, rsi
neg rsi
sar rsi, 0x3f
and rsi, rdx
lea rbx, [r8 + rsi]
mov qword [rsp], rbx
mov qword [rsp + 8], rcx
call fcn.0048ad50
mov ebx, dword [rsp + 0x10]
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0xf8]
mov rdi, qword [rsp + 0xe8]
mov r8, qword [rsp + 0xf0]
jmp 0x4e4e0a
mov rdx, qword [rdi + 8]
lea rbx, [rdx + 0xa]
mov rsi, qword [rdi + 0x10]
mov r8, qword [rdi]
cmp rbx, rsi
ja 0x4e56ac
test rbx, rbx
jl 0x4e5d2d
cmp rbx, rsi
ja 0x4e5d2d
mov r9, qword [0x00909274]
mov r10, qword [0x00909272]
mov qword [r8 + rdx], r10
mov qword [r8 + rdx + 2], r9
mov qword [rdi + 8], rbx
mov qword [rdi + 0x10], rsi
cmp dword [0x00d857e0], 0
jne 0x4e569f
mov qword [rdi], r8
lea rdx, [rdi + 0xb0]
cmp byte [rdx], 0
jne 0x4e526b
mov rdx, qword [rsp + 0x108]
cmp rcx, rdx
jge 0x4e526b
lea rbx, [rdi + 0x40]
test byte [rbx], al
mov qword [rdi + 0x48], 0
mov qword [rdi + 0x49], 0
mov rbx, qword [rdi + 8]
lea rsi, [rbx + 9]
mov r8, qword [rdi + 0x10]
mov r9, qword [rdi]
cmp rsi, r8
ja 0x4e5632
test rsi, rsi
jl 0x4e5d18
cmp rsi, r8
ja 0x4e5d18
mov r10, qword [0x00908d01]
mov r11, qword [0x00908d00]
mov qword [r9 + rbx], r11
mov qword [r9 + rbx + 1], r10
mov qword [rdi + 8], rsi
mov qword [rdi + 0x10], r8
cmp dword [0x00d857e0], 0
jne 0x4e5622
mov qword [rdi], r9
cmp rcx, rdx
ja 0x4e5d11
sub rdx, rcx
mov rbx, qword [rsp + 0x110]
sub rbx, rcx
neg rbx
sar rbx, 0x3f
shl rcx, 4
and rcx, rbx
mov rbx, qword [rsp + 0x100]
add rcx, rbx
test rdx, rdx
jle 0x4e524b
mov qword [rsp + 0x98], rdx
xor eax, eax
jmp 0x4e5166
add rcx, 0x10
mov rax, rbx
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0x58], rax
mov rbx, qword [rcx + 8]
mov qword [rsp + 0xb0], rbx
mov rsi, qword [rcx]
mov qword [rsp + 0x70], rsi
test rax, rax
jle 0x4e51db
mov r8, qword [rdi + 8]
lea r9, [r8 + 2]
mov r10, qword [rdi + 0x10]
mov r11, qword [rdi]
cmp r9, r10
ja 0x4e55a5
test r9, r9
jl 0x4e5d0a
cmp r9, r10
ja 0x4e5d0a
movzx r12d, word [0x00907218]
mov word [r11 + r8], r12w
mov qword [rdi + 8], r9
mov qword [rdi + 0x10], r10
cmp dword [0x00d857e0], 0
jne 0x4e5592
mov qword [rdi], r11
test rsi, rsi
jne 0x4e5358
mov rbx, qword [rdi + 8]
lea rsi, [rbx + 5]
mov r8, qword [rdi]
mov r9, qword [rdi + 0x10]
cmp rsi, r9
ja 0x4e52e8
test rsi, rsi
jl 0x4e5d03
cmp rsi, r9
ja 0x4e5d03
movzx r10d, byte [0x00907ab6]
mov r11d, dword [0x00907ab2]
mov dword [r8 + rbx], r11d
mov byte [r8 + rbx + 4], r10b
mov qword [rdi + 8], rsi
mov qword [rdi + 0x10], r9
cmp dword [0x00d857e0], 0
jne 0x4e52d5
mov qword [rdi], r8
lea rbx, [rax + 1]
cmp rbx, rdx
jl 0x4e515f
mov rax, qword [rdi + 8]
lea rcx, [rax + 1]
mov rdx, qword [rdi + 0x10]
mov rbx, qword [rdi]
cmp rcx, rdx
jg 0x4e527b
lea rcx, [rax + 1]
mov qword [rdi + 8], rcx
mov byte [rbx + rax], 0x29
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
lea rsi, [0x008569c0]
mov qword [rsp], rsi
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], rdx
mov qword [rsp + 0x20], rcx
call fcn.004400c0
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
mov rdi, qword [rsp + 0xe8]
mov qword [rdi + 0x10], rdx
cmp dword [0x00d857e0], 0
jne 0x4e52ce
mov qword [rdi], rax
mov rbx, rax
mov rax, rcx
jmp 0x4e525f
call fcn.00457490
jmp 0x4e52c6
mov rbx, rax
mov rax, r8
call fcn.00457490
mov rax, rbx
jmp 0x4e523e
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x88], rsi
lea rax, [0x008569c0]
mov qword [rsp], rax
mov qword [rsp + 8], r8
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r9
mov qword [rsp + 0x20], rsi
call fcn.004400c0
mov r9, qword [rsp + 0x38]
mov r8, qword [rsp + 0x28]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x88]
mov rdi, qword [rsp + 0xe8]
jmp 0x4e51fc
mov qword [rsp + 0xc8], rsi
mov qword [rsp + 0xd0], rbx
mov r8, qword [rsp + 0xc8]
test r8, r8
je 0x4e5587
lea r9, [0x00a34720]
mov rax, qword [r9 + 0xf8]
mov qword [rsp], r8
call rax
mov rax, qword [rsp + 0x10]
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 8]
mov rdx, qword [rsp + 0xe8]
mov rbx, qword [rdx + 8]
mov qword [rsp + 0x90], rbx
lea rsi, [rbx + rax]
mov qword [rsp + 0x88], rsi
mov rdi, qword [rdx + 0x10]
mov r8, qword [rdx]
cmp rsi, rdi
ja 0x4e5527
test rsi, rsi
jl 0x4e5cfc
cmp rsi, rdi
ja 0x4e5cfc
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0xb8], r8
lea rdx, [r8 + rbx]
mov qword [rsp], rdx
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rax
call fcn.004585b0
mov rax, qword [rsp + 0x88]
mov rdi, qword [rsp + 0xe8]
mov qword [rdi + 8], rax
mov rcx, qword [rsp + 0x80]
mov qword [rdi + 0x10], rcx
mov rdx, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x50]
lea rdx, [rbx + rdx + 1]
cmp dword [0x00d857e0], 0
jne 0x4e5507
mov rbx, qword [rsp + 0xb8]
mov qword [rdi], rbx
cmp rdx, rcx
jg 0x4e54aa
lea rcx, [rax + 1]
mov qword [rdi + 8], rcx
mov byte [rbx + rax], 0x3d
mov qword [rsp], rdi
mov rax, qword [rsp + 0x70]
mov qword [rsp + 8], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x10], rax
mov dword [rsp + 0x18], 0x76
call fcn.004e0d40
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xe8]
jmp 0x4e523e
lea rsi, [0x008569c0]
mov qword [rsp], rsi
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdx
call fcn.004400c0
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
mov rdi, qword [rsp + 0xe8]
mov qword [rdi + 0x10], rdx
cmp dword [0x00d857e0], 0
jne 0x4e5500
mov qword [rdi], rax
mov rbx, rax
mov rax, rcx
jmp 0x4e5454
call fcn.00457490
jmp 0x4e54f5
mov rbx, rax
mov rax, qword [rsp + 0xb8]
call fcn.00457490
mov rax, rbx
mov rbx, qword [rsp + 0xb8]
jmp 0x4e544f
mov qword [rsp + 0xa0], rcx
lea rax, [0x008569c0]
mov qword [rsp], rax
mov qword [rsp + 8], r8
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], rsi
call fcn.004400c0
mov r8, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x38]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x88]
jmp 0x4e53cc
xor r9d, r9d
xor r8d, r8d
jmp 0x4e5380
mov r8, rax
mov rax, r11
call fcn.00457490
mov rax, r8
jmp 0x4e51db
mov qword [rsp + 0x90], r8
mov qword [rsp + 0x88], r9
lea rax, [0x008569c0]
mov qword [rsp], rax
mov qword [rsp + 8], r11
mov qword [rsp + 0x10], r8
mov qword [rsp + 0x18], r10
mov qword [rsp + 0x20], r9
call fcn.004400c0
mov r10, qword [rsp + 0x38]
mov r11, qword [rsp + 0x28]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x98]
mov rbx, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0xe8]
mov r8, qword [rsp + 0x90]
mov r9, qword [rsp + 0x88]
jmp 0x4e51a4
mov rax, r9
call fcn.00457490
cmp rcx, rdx
jmp 0x4e511d
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x68], rcx
lea rax, [0x008569c0]
mov qword [rsp], rax
mov qword [rsp + 8], r9
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], rsi
call fcn.004400c0
mov r8, qword [rsp + 0x38]
mov r9, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x90]
mov rdi, qword [rsp + 0xe8]
jmp 0x4e50d9
mov rax, r8
call fcn.00457490
jmp 0x4e508a
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x88], rbx
lea rax, [0x008569c0]
mov qword [rsp], rax
mov qword [rsp + 8], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rbx
call fcn.004400c0
mov r8, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x88]
mov rdi, qword [rsp + 0xe8]
jmp 0x4e5049
mov qword [rsp], rdi
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], r8
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdx
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x28], rax
call fcn.004e4680
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0xf8]
mov rdi, qword [rsp + 0xe8]
mov r8, qword [rsp + 0xf0]
jmp 0x4e4ddd
test al, al
je 0x4e576b
mov byte [rdi + 0xb1], 0
mov qword [rsp], rdi
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], r8
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rbx
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x28], rax
call fcn.004e4680
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x38]
movzx edx, byte [rsp + 0x40]
mov byte [rsp + 0x4f], dl
mov rbx, qword [rsp + 0xf8]
cmp rcx, rbx
jge 0x4e598f
jae 0x4e5d3b
mov rsi, qword [rsp + 0xf0]
movzx edi, byte [rsi + rcx]
cmp dil, 0x2a
je 0x4e5843
mov qword [rsp], rsi
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rbx
call fcn.004ddea0
mov rax, qword [rsp + 0x20]
movzx ecx, byte [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0xe8]
mov qword [rdi + 0x60], rax
mov byte [rdi + 0x49], cl
test cl, cl
je 0x4e5835
movzx eax, byte [rsp + 0x4f]
mov rcx, qword [rsp + 0x98]
mov rsi, qword [rsp + 0xf8]
mov r8, qword [rsp + 0xf0]
jmp 0x4e4dd5
mov qword [rdi + 0x60], 0
mov byte [rdi + 0x49], 1
jmp 0x4e5813
mov qword [rsp + 0x60], rcx
mov rcx, qword [rsp + 0x100]
mov qword [rsp], rcx
mov rdx, qword [rsp + 0x108]
mov qword [rsp + 8], rdx
mov rbx, qword [rsp + 0x110]
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rax
call fcn.004e4240
mov rax, qword [rsp + 0x20]
movzx ecx, byte [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0xe8]
mov qword [rdi + 0x60], rax
mov byte [rdi + 0x49], cl
cmp qword [rdi + 0x60], 0
jge 0x4e58a9
mov qword [rdi + 0x60], 0
mov byte [rdi + 0x49], 0
lea rcx, [rdi + 0x49]
cmp byte [rcx], 0
je 0x4e58c7
mov rbx, qword [rsp + 0x60]
inc rbx
xor eax, eax
mov rcx, rdx
mov rdx, rbx
jmp 0x4e5820
mov rcx, qword [rdi + 8]
lea rbx, [rcx + 0xb]
mov rsi, qword [rdi + 0x10]
mov r8, qword [rdi]
cmp rbx, rsi
ja 0x4e5924
test rbx, rbx
jl 0x4e5d34
cmp rbx, rsi
ja 0x4e5d34
mov r9, qword [0x009099ca]
mov r10, qword [0x009099cd]
mov qword [r8 + rcx], r9
mov qword [r8 + rcx + 3], r10
mov qword [rdi + 8], rbx
mov qword [rdi + 0x10], rsi
cmp dword [0x00d857e0], 0
jne 0x4e591a
mov qword [rdi], r8
jmp 0x4e58b2
mov rax, r8
call fcn.00457490
jmp 0x4e58b2
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0x88], rbx
lea rax, [0x008569c0]
mov qword [rsp], rax
mov qword [rsp + 8], r8
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rbx
call fcn.004400c0
mov rsi, qword [rsp + 0x38]
mov r8, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x88]
mov rdi, qword [rsp + 0xe8]
jmp 0x4e58db
mov rsi, qword [rsp + 0xf0]
jmp 0x4e57d9
mov r8, qword [rsp + 0xf0]
jmp 0x4e4dd5
mov qword [rsp + 0x60], rcx
mov rcx, qword [rsp + 0x100]
mov qword [rsp], rcx
mov rdx, qword [rsp + 0x108]
mov qword [rsp + 8], rdx
mov rbx, qword [rsp + 0x110]
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rax
call fcn.004e4240
mov rax, qword [rsp + 0x20]
movzx ecx, byte [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0xe8]
mov qword [rdi + 0x58], rax
mov byte [rdi + 0x48], cl
test cl, cl
je 0x4e5a2d
mov rcx, qword [rdi + 0x58]
test rcx, rcx
jge 0x4e5a18
neg rcx
mov qword [rdi + 0x58], rcx
mov byte [rdi + 0x4a], 1
mov byte [rdi + 0x4e], 0
mov rbx, qword [rsp + 0x60]
inc rbx
xor eax, eax
mov rcx, rdx
mov rdx, rbx
jmp 0x4e4da0
mov rcx, qword [rdi + 8]
lea rbx, [rcx + 0xc]
mov rsi, qword [rdi + 0x10]
mov r8, qword [rdi]
cmp rbx, rsi
ja 0x4e5a8d
test rbx, rbx
jl 0x4e5d49
cmp rbx, rsi
ja 0x4e5d49
mov r9, qword [0x00909fb5]
mov r10, qword [0x00909fb1]
mov qword [r8 + rcx], r10
mov qword [r8 + rcx + 4], r9
mov qword [rdi + 8], rbx
mov qword [rdi + 0x10], rsi
cmp dword [0x00d857e0], 0
jne 0x4e5a80
mov qword [rdi], r8
jmp 0x4e5a00
mov rax, r8
call fcn.00457490
jmp 0x4e5a00
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0x88], rcx
lea rax, [0x008569c0]
mov qword [rsp], rax
mov qword [rsp + 8], r8
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rbx
call fcn.004400c0
mov rsi, qword [rsp + 0x38]
mov r8, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xe8]
jmp 0x4e5a41
mov rsi, qword [rsp + 0xf0]
jmp 0x4e4d4e
mov r8, qword [rsp + 0x108]
jmp 0x4e4ce4
cmp sil, 0x2b
jne 0x4e5b21
mov byte [rdi + 0x4b], 1
jmp 0x4e4bd4
cmp sil, 0x2d
jne 0x4e5b34
mov byte [rdi + 0x4a], 1
mov byte [rdi + 0x4e], 0
jmp 0x4e4bd4
cmp sil, 0x30
jne 0x4e4c0c
movzx esi, byte [rdi + 0x4a]
xor esi, 1
mov byte [rdi + 0x4e], sil
jmp 0x4e4bd4
mov r8, qword [rsp + 0x108]
jmp 0x4e4ce4
mov rcx, rbx
jmp 0x4e508a
test rax, rax
jl 0x4e5d6c
cmp rsi, rax
ja 0x4e5d6c
cmp rax, rcx
ja 0x4e5d6c
mov qword [rsp + 0x60], rax
mov r8, rax
sub rax, rsi
mov r9, rax
neg rax
sar rax, 0x3f
and rax, rsi
add rax, rdx
mov rsi, qword [rdi + 8]
lea r10, [r9 + rsi]
mov qword [rsp + 0x98], r10
mov r11, qword [rdi]
mov r12, qword [rdi + 0x10]
cmp r10, r12
ja 0x4e5c6d
test r10, r10
jl 0x4e5d65
cmp r10, r12
ja 0x4e5d65
mov qword [rsp + 0x88], r12
mov qword [rsp + 0xb8], r11
lea rcx, [r11 + rsi]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], r9
call fcn.004585b0
mov rax, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xe8]
mov qword [rdi + 8], rax
mov rax, qword [rsp + 0x88]
mov qword [rdi + 0x10], rax
cmp dword [0x00d857e0], 0
jne 0x4e5c4e
mov rcx, qword [rsp + 0xb8]
mov qword [rdi], rcx
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0xf8]
cmp rcx, rdx
mov rax, rcx
mov rcx, rdx
mov rdx, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0x68]
jmp 0x4e4bb3
mov rax, qword [rsp + 0xb8]
call fcn.00457490
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0xf8]
cmp rcx, rdx
jmp 0x4e5c36
mov qword [rsp + 0x88], r9
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x78], rsi
lea rax, [0x008569c0]
mov qword [rsp], rax
mov qword [rsp + 8], r11
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], r12
mov qword [rsp + 0x20], r10
call fcn.004400c0
mov r12, qword [rsp + 0x38]
mov r11, qword [rsp + 0x28]
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x78]
mov rdi, qword [rsp + 0xe8]
mov r8, qword [rsp + 0x60]
mov r9, qword [rsp + 0x88]
mov r10, qword [rsp + 0x98]
jmp 0x4e5bb9
mov rcx, rbx
jmp 0x4e508a
call fcn.0042bba0
ud2
call fcn.0042bba0
ud2
call fcn.0042bba0
ud2
call fcn.0042bba0
ud2
call fcn.0042bba0
ud2
call fcn.0042ba70
ud2
call fcn.0042ba70
ud2
call fcn.0042bba0
ud2
call fcn.0042bba0
ud2
call fcn.0042ba70
ud2
call fcn.0042ba70
ud2
call fcn.0042bba0
ud2
call fcn.0042ba70
ud2
call fcn.0042ba70
ud2
call fcn.0042ba70
ud2
call fcn.0042bba0
ud2
call fcn.0042bba0
ud2
call fcn.0042ba70
ud2
call fcn.004555f0
jmp fcn.004e4b20