Function at 0x140226830
Capabilities:
Authenticate hmac
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x58]
sub rsp, 0x158
mov r11, qword [rbp + 0xc0]
lea rax, [r8 + 0x68]
mov r13, qword [rcx]
xor r15d, r15d
mov qword [rbp - 0x40], rax
mov r14, rdx
mov edi, r9d
mov qword [rbp - 0x58], r15
movzx eax, byte [r11 + 0x2c]
mov r9, r8
mov rbx, qword [r11 + 0x48]
lea r12d, [r15 + 1]
imul rdx, rax, 0x70
mov rax, qword [r8 + 8]
mov rsi, rcx
movsxd r8, dword [r8 + 0x294]
add rax, 8
add rax, rdx
mov qword [rbp - 0x60], r13
mov qword [rbp - 0x78], rbx
mov edx, r15d
mov qword [rbp - 0x38], rax
mov r10d, dword [rax + 0x44]
mov dword [rsp + 0x40], r10d
test r8, r8
jle 0x1402268dd
mov ecx, r15d
lea rax, [r9 + 0x298]
cmp dword [rax], r10d
je 0x14022697f
inc edx
inc rcx
add rax, 4
cmp rcx, r8
jl 0x1402268c6
mov rax, r15
not rax
mov ecx, edi
and rax, qword [rbp + 0xc8]
mov qword [r11 + 0x50], rax
mov r10, qword [r9 + 0x58]
shr r10, cl
and r10d, r12d
mov r12d, dword [rsi + 0x44]
dec r12d
mov qword [rbp - 0x80], r10
mov dword [rsi + 0x44], r12d
mov dword [r11 + 0x10], r12d
mov dword [r11 + 0xc], r12d
mov eax, dword [rsi + 0x44]
dec eax
mov dword [rsp + 0x60], r12d
mov dword [rsi + 0x44], eax
mov dword [rbp - 0x68], eax
mov dword [r11 + 0x18], eax
cmp byte [r11 + 0x2c], r15b
jbe 0x1402269b7
mov rax, qword [rbp - 0x38]
test byte [rax + 0x3c], 8
je 0x1402269b7
mov edx, dword [rsi + 0x38]
inc edx
mov dword [rsi + 0x38], edx
mov dword [r11], edx
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jg 0x14022698c
xor r8d, r8d
mov dword [rsp + 0x20], r15d
mov r9d, edx
mov rcx, r14
lea edx, [r8 + 0x46]
call fcn.1401c6d10
mov r10, qword [rbp - 0x80]
mov r11, qword [rbp + 0xc0]
mov r9, qword [rbp + 0xb0]
jmp 0x1402269b7
mov ecx, edx
mov rax, r12
shl rax, cl
jmp 0x1402268e0
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov qword [rax + rcx*8], 0x46
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov edx, edi
test edi, edi
jle 0x1402269d7
nop dword [rax]
movsxd rax, edx
imul rcx, rax, 0x58
cmp dword [rcx + r9 + 0x398], r15d
jne 0x1402269d7
dec edx
test edx, edx
jg 0x1402269c0
movsxd rax, edx
imul rcx, rax, 0x58
mov rax, qword [rbp - 0x38]
mov r8d, dword [rax + 0x40]
mov r9d, dword [rcx + r9 + 0x3a4]
test r8b, 0x10
je 0x140226ad7
movsxd rcx, dword [r14 + 0x90]
mov ebx, dword [rax + 0x34]
mov edx, dword [rax + 0x30]
cmp dword [r14 + 0x94], ecx
jg 0x140226a26
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, ebx
mov rcx, r14
lea edx, [r9 + 0xd]
call fcn.1401c6d10
jmp 0x140226a54
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], reloc.WS2_32.dll_listen
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r15
movsxd rdx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], edx
jg 0x140226a93
mov r9d, r12d
mov dword [rsp + 0x20], r15d
mov r8d, ebx
mov edx, reloc.WS2_32.dll_ntohl
mov rcx, r14
call fcn.1401c6d10
mov r11, qword [rbp + 0xc0]
mov edx, eax
mov dword [r11 + 0x34], eax
mov byte [r11 + 0x2d], listen
jmp 0x1402271a0
mov r11, qword [rbp + 0xc0]
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [r14 + 0x90], eax
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], reloc.WS2_32.dll_ntohl
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov dword [r11 + 0x34], edx
mov byte [r11 + 0x2d], listen
jmp 0x1402271a0
mov edx, dword [rbx + 0x28]
mov eax, 0x400
test eax, edx
je 0x140227218
movzx esi, word [rbx + 0x2c]
mov r10, qword [rbp + 0xa0]
lea ecx, [rsi + 2]
cmp ecx, 1
jne 0x140226b2c
movzx eax, byte [r10 + 0x1f]
test al, al
jne 0x140226b13
inc dword [r10 + 0x38]
mov eax, dword [r10 + 0x38]
mov dword [rbp + 0xb8], eax
jmp 0x140226b62
dec al
movzx eax, al
mov byte [r10 + 0x1f], al
mov eax, dword [r10 + rax*4 + 0xcc]
mov dword [rbp + 0xb8], eax
jmp 0x140226b62
mov edx, dword [r10 + 0x28]
mov r8d, dword [r10 + 0x2c]
mov dword [rbp + 0xb8], r8d
cmp ecx, edx
jg 0x140226b4f
lea eax, [rcx + r8]
sub edx, ecx
mov dword [r10 + 0x2c], eax
mov dword [r10 + 0x28], edx
jmp 0x140226b62
mov eax, dword [r10 + 0x38]
lea edx, [rax + 1]
add eax, ecx
mov dword [r10 + 0x38], eax
mov dword [rbp + 0xb8], edx
mov r12d, dword [r11 + 0xc]
mov ebx, r15d
test esi, esi
je 0x140226c00
mov r13d, dword [rbp + 0xb8]
mov rdi, r15
mov r14, qword [rbp - 0x80]
add r13d, 2
mov r15, qword [rbp - 0x78]
nop word [rax + rax]
mov rax, qword [r15 + 0x38]
mov rdx, qword [rdi + rax]
test rdx, rdx
je 0x140226be5
test byte [rdx + 0x14], 1
lea r8d, [rbx + r13]
mov rcx, r10
je 0x140226bcc
mov dword [rsp + 0x28], r8d
mov r9d, ebx
mov r8, r11
mov dword [rsp + 0x20], r14d
call fcn.1401a54a0
mov r11, qword [rbp + 0xc0]
mov r12d, dword [r11 + 0x10]
jmp 0x140226be5
mov rdx, qword [rdx]
mov r9d, 1
mov rdx, qword [rdx + 0x18]
call fcn.1401a5b90
mov r11, qword [rbp + 0xc0]
mov r10, qword [rbp + 0xa0]
inc ebx
add rdi, 8
cmp ebx, esi
jl 0x140226b90
mov r14, qword [rbp + 0xa8]
xor r15d, r15d
mov rdi, qword [rbp - 0x78]
movsxd rcx, dword [r14 + 0x90]
mov edx, dword [rdi + 0x18]
cmp dword [r14 + 0x94], ecx
jg 0x140226c3c
mov r9d, dword [rbp + 0xb8]
mov r8d, edx
mov edx, 0x46
mov dword [rsp + 0x20], r15d
mov rcx, r14
call fcn.1401c6d10
mov r8d, dword [rbp + 0xb8]
jmp 0x140226c72
mov r8d, dword [rbp + 0xb8]
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x46
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
movsxd rcx, dword [r14 + 0x90]
lea edx, [r8 + 1]
cmp dword [r14 + 0x94], ecx
jg 0x140226ca7
mov r9d, edx
mov dword [rsp + 0x20], r15d
mov edx, 0x46
mov r8d, esi
mov rcx, r14
call fcn.1401c6d10
mov r8d, dword [rbp + 0xb8]
jmp 0x140226cd5
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x46
mov dword [rax + rcx*8 + 4], esi
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
cmp byte [rdi + 0x1c], 0
mov ebx, 0xffffffff
movsxd rdx, dword [r14 + 0x90]
mov eax, 0xfffffff9
mov rdi, qword [rdi + 0x20]
cmovne ebx, eax
cmp dword [r14 + 0x94], edx
jg 0x140226d19
mov r9d, r12d
mov dword [rsp + 0x20], r8d
mov r12d, dword [rsp + 0x40]
lea edx, [rax + 0x10]
mov r8d, r12d
mov rcx, r14
call fcn.1401c6d10
mov edx, eax
jmp 0x140226d51
mov r9d, dword [rsp + 0x40]
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [r14 + 0x90], eax
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8 + 8], r12d
mov r12d, r9d
mov dword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 4], r9d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r15
mov rcx, qword [r14]
cmp byte [rcx + 0x61], 0
je 0x140226d66
mov r8, rdi
mov edx, ebx
call fcn.1401b1ff0
jmp 0x140226da8
test edx, edx
jns 0x140226d73
mov edx, dword [r14 + 0x90]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
jne 0x140226d9a
test rdi, rdi
je 0x140226da8
mov qword [rdx + 0x10], rdi
mov byte [rdx + 1], bl
jmp 0x140226da8
mov r9d, ebx
mov r8, rdi
mov rcx, r14
call fcn.140231240
mov r11, qword [rbp + 0xc0]
mov eax, 0x3c
mov rdx, qword [rbp - 0x78]
mov ecx, 0xaa
mov r8, qword [rbp + 0xb0]
mov byte [rdx + 0x1c], 0
mov dword [r11 + 0x30], r12d
lea r12d, [rsi - 1]
cmp byte [r8 + 0x45], 0
cmovne eax, ecx
mov byte [r11 + 0x2d], al
mov eax, dword [r14 + 0x90]
mov dword [r11 + 0x34], eax
test r12d, r12d
js 0x140228a92
movsxd rax, dword [r11 + 0x38]
lea rsi, [rsi*8 - 8]
lea r8d, [rcx - 0x62]
lea r13, [rax + rax*4]
shl r13, 2
nop dword [rax + rax]
mov rbx, qword [rdx + 0x38]
mov rbx, qword [rsi + rbx]
cmp r12d, 0x10
jge 0x140226eba
movzx eax, word [rdx + 0x1e]
movzx ecx, r12w
shr ax, cl
test al, 1
je 0x140226eba
test byte [rbx + 0x12], 4
mov edx, r15d
jne 0x14022717a
cmp dword [r11], 0
je 0x140226e55
mov rax, qword [rbx]
test byte [rax + 4], 1
je 0x14022717a
mov rax, qword [rbx + 0x38]
test qword [r11 + 0x50], rax
jne 0x14022717a
test edx, edx
je 0x140226e83
movzx eax, word [rbx + 0x12]
mov ecx, 0x400
test cx, ax
je 0x140226e83
mov ecx, 0x200
or ax, cx
mov word [rbx + 0x12], ax
jmp 0x140226e88
or word [rbx + 0x12], 4
movsxd rcx, dword [rbx + 0x18]
test ecx, ecx
js 0x14022717a
mov rax, qword [rbx + 8]
mov rbx, rcx
shl rbx, 6
add rbx, qword [rax + 0x20]
add byte [rbx + 0x16], 0xff
jne 0x14022717a
inc edx
test byte [rbx + 0x12], 4
je 0x140226e42
jmp 0x14022717a
test byte [rbx + 0x14], 1
je 0x14022717a
mov rax, qword [rbp - 0x60]
cmp byte [rax + 0x61], 0
jne 0x140226f7e
mov rax, qword [r11 + 0x40]
sub r13, 0x14
mov ecx, dword [rax + r13 + 4]
test ecx, ecx
jns 0x140226eec
mov ecx, dword [r14 + 0x90]
dec ecx
mov rax, qword [r14]
cmp byte [rax + 0x61], 0
je 0x140226efe
lea rax, [0x1403dbb90]
jmp 0x140226f10
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
lea rax, [rax + rcx*8]
movsxd rcx, dword [r14 + 0x90]
mov r10d, dword [rax + 0xc]
mov r9d, dword [rax + 8]
mov r8d, dword [rax + 4]
movzx edx, byte [rax]
cmp dword [r14 + 0x94], ecx
jg 0x140226f41
movzx edx, dl
mov rcx, r14
mov dword [rsp + 0x20], r10d
call fcn.1401c6d10
jmp 0x140226f78
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov byte [rax + rcx*8], dl
mov word [rax + rcx*8 + 2], r15w
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r15
mov byte [rax + rcx*8 + 1], 0
mov r8d, 0x48
mov rax, qword [rbp + 0xa0]
mov rcx, qword [rax]
cmp dword [rcx + 0x170], 0
jne 0x140226fe7
cmp r8w, word [rcx + 0x174]
jbe 0x140226fa3
inc dword [rcx + 0x180]
jmp 0x140226ff1
mov rdi, qword [rcx + 0x190]
test rdi, rdi
je 0x140226fc1
mov rax, qword [rdi]
mov qword [rcx + 0x190], rax
inc dword [rcx + 0x17c]
jmp 0x140226ffc
mov rdi, qword [rcx + 0x188]
test rdi, rdi
je 0x140226fdf
mov rax, qword [rdi]
mov qword [rcx + 0x188], rax
inc dword [rcx + 0x17c]
jmp 0x140226ffc
inc dword [rcx + 0x184]
jmp 0x140226ff1
cmp byte [rcx + 0x61], 0
jne 0x14022717a
mov rdx, r8
call fcn.1401a9e70
mov rdi, rax
test rdi, rdi
je 0x14022717a
xor eax, eax
mov rcx, rdi
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], rax
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], rax
mov qword [rdi + 0x30], rax
mov qword [rdi + 0x38], rax
mov qword [rdi + 0x40], rax
mov eax, 0xffffffff
mov word [rdi + 0x32], ax
mov byte [rdi], 0x35
call fcn.1401ae6c0
mov rcx, qword [rbp + 0xa0]
mov rax, qword [rcx]
mov r8d, dword [rax + 0x88]
cmp dword [rdi + 0x28], r8d
jle 0x140227061
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
call fcn.1401ee830
mov rax, qword [rbx]
mov rbx, qword [rbp - 0x60]
mov rcx, qword [rax + 0x10]
mov qword [rdi + 0x10], rcx
cmp dword [rbx + 0x170], 0
jne 0x1402270d3
mov eax, 0x49
cmp ax, word [rbx + 0x174]
jbe 0x14022708f
inc dword [rbx + 0x180]
jmp 0x1402270e3
mov rcx, qword [rbx + 0x190]
test rcx, rcx
je 0x1402270ad
mov rax, qword [rcx]
mov qword [rbx + 0x190], rax
inc dword [rbx + 0x17c]
jmp 0x1402270f1
mov rcx, qword [rbx + 0x188]
test rcx, rcx
je 0x1402270cb
mov rax, qword [rcx]
mov qword [rbx + 0x188], rax
inc dword [rbx + 0x17c]
jmp 0x1402270f1
inc dword [rbx + 0x184]
jmp 0x1402270e3
cmp byte [rbx + 0x61], 0
je 0x1402270de
mov rcx, r15
jmp 0x140227136
mov eax, 0x49
mov rdx, rax
mov rcx, rbx
call fcn.1401a9e70
mov rcx, rax
test rcx, rcx
je 0x140227136
xor eax, eax
mov qword [rcx], rax
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], rax
mov qword [rcx + 0x20], rax
mov qword [rcx + 0x28], rax
mov qword [rcx + 0x30], rax
mov qword [rcx + 0x38], rax
mov qword [rcx + 0x40], rax
mov eax, 0xffffffff
mov word [rcx + 0x32], ax
lea rax, [rcx + 0x48]
mov qword [rcx + 8], rax
mov byte [rcx], 0xa8
mov byte [rax], 0
mov eax, 1
mov dword [rcx + 0x28], eax
mov qword [rdi + 0x18], rcx
test rcx, rcx
je 0x14022716b
mov eax, dword [rbp + 0xb8]
xor r9d, r9d
add eax, 2
mov rdx, rdi
add eax, r12d
mov dword [rcx + 0x2c], eax
mov rcx, qword [rbp + 0xc0]
mov r8d, dword [rcx + 0x18]
mov rcx, qword [rbp + 0xa0]
call fcn.1401f2940
mov rdx, rdi
mov qword [rdi + 0x10], r15
mov rcx, rbx
call fcn.1401f24f0
mov r11, qword [rbp + 0xc0]
sub rsi, 8
sub r12d, 1
mov rdx, qword [rbp - 0x78]
mov r8d, 0x48
jns 0x140226e10
mov rsi, qword [rbp + 0xa0]
mov r8, qword [rbp + 0xb0]
mov r10, qword [rbp - 0x58]
lea r9, [0x1401adeb0]
mov rax, r10
neg rax
lea rax, [r8 + 0x68]
sbb edx, edx
add edx, 2
mov dword [rbp + 0xb8], edx
nop word [rax + rax]
mov r12d, dword [rax + 0x14]
mov r13d, r15d
mov rbx, qword [rax + 0x20]
test r12d, r12d
jle 0x140228bac
nop dword [rax]
nop dword [rax + rax]
movzx ecx, word [rbx + 0x12]
mov edi, r15d
test cl, 6
jne 0x140228b6a
mov rax, qword [rbx + 0x38]
test qword [r11 + 0x50], rax
je 0x140228af8
mov byte [r8 + 0x46], 1
jmp 0x140228b6a
test dl, 5
setne cl
bt edx, 8
setb al
test al, cl
je 0x140227301
mov rax, qword [rbx + 0x38]
xor r9d, r9d
mov r8, r11
mov rcx, rsi
mov rbx, qword [rax]
inc dword [rsi + 0x38]
mov rdx, rbx
mov edi, dword [rsi + 0x38]
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], r10d
call fcn.1401a54a0
mov edx, eax
cmp eax, edi
je 0x140227273
test edi, edi
je 0x140227273
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x140227273
movzx eax, al
mov dword [rsi + rax*4 + 0xcc], edi
inc byte [rsi + 0x1f]
mov r11, qword [rbp + 0xc0]
movsxd rcx, dword [r14 + 0x90]
mov r8d, dword [r11 + 0x10]
cmp dword [r14 + 0x94], ecx
jg 0x1402272b0
mov dword [rsp + 0x20], edx
mov r9d, r8d
mov r8d, dword [rsp + 0x40]
mov edx, 0x1e
mov rcx, r14
call fcn.1401c6d10
mov r11, qword [rbp + 0xc0]
jmp 0x1402272e4
mov r9d, dword [rsp + 0x40]
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x1e
mov dword [rax + rcx*8 + 4], r9d
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r15
mov byte [r11 + 0x2d], 0xaa
mov rax, qword [rbx + 0x38]
test qword [r11 + 0x50], rax
jne 0x1402271a0
or word [rbx + 0x12], 4
jmp 0x1402271a0
mov eax, edx
and eax, 0x102
cmp eax, 0x102
jne 0x1402275cd
mov r11, qword [rbp - 0x78]
mov edi, 0xaa
mov dword [rsp + 0x54], r15d
mov r13d, edi
mov rbx, r15
mov rcx, r15
test dl, 0x20
je 0x14022733e
mov rax, qword [r11 + 0x38]
mov r8d, 8
mov rcx, qword [rax]
jmp 0x140227341
mov r8, r15
test dl, 0x10
je 0x14022734e
mov rax, qword [r11 + 0x38]
mov rbx, qword [r8 + rax]
test r10d, r10d
mov rsi, rcx
cmove rsi, rbx
cmove rbx, rcx
test rbx, rbx
je 0x14022745f
mov rdi, qword [rbx]
mov dword [rbp + 0xb8], 0x18161719
mov rdx, qword [rdi + 0x18]
movzx eax, byte [rdx]
cmp al, 0xa8
jne 0x140227381
movzx eax, byte [rdx + 0x36]
cmp al, 0xa9
jne 0x14022738b
lea rax, [rdx + 0x20]
jmp 0x140227393
cmp al, 0x83
jne 0x1402273ed
mov rax, qword [rdx + 0x20]
mov rax, qword [rax]
cmp dword [rax], 1
jle 0x1402273ed
mov rcx, qword [rbp + 0xa0]
movzx eax, byte [rcx + 0x1f]
test al, al
jne 0x1402273b2
inc dword [rcx + 0x38]
mov ebx, dword [rcx + 0x38]
jmp 0x1402273c1
dec al
movzx eax, al
mov byte [rcx + 0x1f], al
mov ebx, dword [rcx + rax*4 + 0xcc]
mov rdx, qword [rdi + 0x18]
mov r9d, 1
mov r8d, ebx
call fcn.1401a5b90
movzx eax, byte [rdi]
mov r12d, ebx
inc rax
and eax, 2
or rax, 1
movzx ecx, byte [rbp + rax + 0xb8]
jmp 0x14022741d
mov rcx, qword [rbp + 0xa0]
lea r8, [rbp - 0x64]
call fcn.1401f1e60
mov rcx, qword [rbp + 0xc0]
mov rdx, rbx
mov r12d, eax
call fcn.1401aaee0
movzx eax, byte [rdi]
mov ebx, dword [rbp - 0x64]
movzx ecx, byte [rbp + rax + 0x82]
mov r8d, dword [rsp + 0x40]
movzx edx, cl
mov rcx, r14
mov dword [rsp + 0x20], r12d
mov r12d, dword [rsp + 0x60]
mov r9d, r12d
call fcn.1402171b0
mov rcx, qword [rbp + 0xa0]
mov edi, r13d
test ebx, ebx
je 0x140227480
movzx eax, byte [rcx + 0x1f]
cmp al, 8
jae 0x140227480
movzx eax, al
mov dword [rcx + rax*4 + 0xcc], ebx
inc byte [rcx + 0x1f]
jmp 0x140227480
mov r8d, dword [rsp + 0x40]
mov edx, r10d
xor edx, 1
mov rcx, r14
lea edx, [rdx*4 + 0x20]
call fcn.140217140
mov rcx, qword [rbp + 0xa0]
test rsi, rsi
je 0x14022752f
mov rbx, qword [rsi]
mov r9d, 1
inc dword [rcx + 0x38]
mov eax, dword [rcx + 0x38]
mov r8d, eax
mov dword [rsp + 0x54], eax
mov rdx, qword [rbx + 0x18]
call fcn.1401a5b90
mov rcx, qword [rbx + 0x18]
movzx edx, byte [rcx]
movzx eax, dl
cmp dl, 0xa8
jne 0x1402274bb
movzx eax, byte [rcx + 0x36]
cmp al, 0xa9
jne 0x1402274c5
lea rax, [rcx + 0x20]
jmp 0x1402274cd
cmp al, 0x83
jne 0x1402274d5
mov rax, qword [rcx + 0x20]
mov rax, qword [rax]
cmp dword [rax], 1
jg 0x1402274ef
movzx eax, byte [rbx]
sub al, 0x36
test al, 0xfd
jne 0x1402274ef
mov rax, qword [rbp - 0x80]
xor eax, 1
lea r13d, [rax*2 + 0x37]
jmp 0x1402274fb
mov r8, qword [rbp - 0x80]
lea r13d, [r8*2 + 0x36]
cmp dl, 0xa8
jne 0x140227504
movzx edx, byte [rcx + 0x36]
cmp dl, 0xa9
jne 0x14022750f
lea rax, [rcx + 0x20]
jmp 0x140227518
cmp dl, 0x83
jne 0x140227520
mov rax, qword [rcx + 0x20]
mov rax, qword [rax]
cmp dword [rax], 1
jg 0x14022752f
mov rcx, qword [rbp + 0xc0]
mov rdx, rsi
call fcn.1401aaee0
mov r11, qword [rbp + 0xc0]
mov ecx, dword [r14 + 0x90]
cmp dword [rbp - 0x80], r15d
mov rsi, qword [rbp + 0xa0]
sete al
mov dword [r11 + 0x34], ecx
add al, 4
mov byte [r11 + 0x2d], al
mov eax, dword [rsp + 0x40]
mov dword [r11 + 0x30], eax
cmp r13d, edi
je 0x1402271a0
inc dword [rsi + 0x38]
mov r8d, eax
mov ebx, dword [rsi + 0x38]
mov edx, 0x80
mov r9d, ebx
mov rcx, r14
call fcn.140217140
mov r8d, dword [rsp + 0x54]
mov r9d, r12d
mov edx, r13d
mov dword [rsp + 0x20], ebx
mov rcx, r14
call fcn.1402171b0
movsxd rax, dword [r14 + 0x90]
mov r11, qword [rbp + 0xc0]
mov r8, qword [rbp + 0xb0]
test eax, eax
jle 0x1402271a7
lea rcx, [rax + rax*2]
mov edx, 0x53
mov rax, qword [r14 + 0x88]
mov word [rax + rcx*8 - 0x16], dx
jmp 0x1402271a7
mov eax, 0x200
test eax, edx
je 0x14022801e
mov rcx, qword [rbp + 0xc0]
xor sil, sil
movzx r10d, word [rbx + 0x1a]
mov r13, r15
movzx r12d, word [rbx + 0x1c]
mov r11, r15
mov rax, qword [rbx + 0x20]
mov r9d, r15d
mov ecx, dword [rcx + 8]
movzx edi, word [rbx + 0x18]
mov dword [rsp + 0x4c], ecx
mov rcx, qword [rbp + 0xb0]
mov word [rsp + 0x58], r10w
mov word [rsp + 0x50], r12w
mov qword [rsp + 0x68], r15
test byte [rcx + 0x40], 1
mov qword [rbp - 0x70], r15
mov byte [rbp + 0xb8], sil
mov byte [rsp + 0x48], sil
mov qword [rsp + 0x78], rax
je 0x140227655
cmp byte [rcx + 0x43], r9b
jle 0x140227655
cmp word [rax + 0x5e], di
jbe 0x140227655
mov sil, 1
mov r9d, 1
mov byte [rbp + 0xb8], sil
movzx eax, di
mov dword [rsp + 0x44], eax
mov r8d, eax
test dl, 0x20
je 0x14022767a
mov rax, qword [rbx + 0x38]
mov r13, qword [rax + r8*8]
inc r8d
movzx eax, r10w
cmp r9d, eax
cmovbe r9d, eax
test dl, 0x10
je 0x14022775f
mov rax, qword [rbx + 0x38]
movzx ebx, r12w
cmp r9d, ebx
mov ecx, r8d
cmova ebx, r9d
mov r11, qword [rax + rcx*8]
mov eax, 0x100
mov qword [rsp + 0x68], r11
test word [r11 + 0x12], ax
je 0x140227718
mov rcx, qword [rbp + 0xa0]
mov edx, 0x46
mov rax, qword [rbp + 0xc0]
mov r9d, dword [rcx + 0x38]
lea r8d, [rdx - 0x45]
inc r9d
mov dword [rcx + 0x38], r9d
mov rcx, r14
mov dword [rax + 0x24], r9d
call fcn.140217140
mov eax, dword [r14 + 0x90]
mov ecx, r15d
mov r8, qword [rbp + 0xc0]
movzx r10d, word [rsp + 0x58]
mov r11, qword [rsp + 0x68]
movzx edx, di
shl dword [r8 + 0x24], 1
mov dword [r8 + 0x28], eax
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x38]
cmp byte [rdx + rax], 1
sete cl
xor ecx, dword [rbp - 0x80]
or dword [r8 + 0x24], ecx
jmp 0x14022771b
movzx edx, di
mov r9d, ebx
test r13, r13
jne 0x14022775f
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx + 8]
movsx r8, word [rax + rdx*2]
test r8d, r8d
js 0x14022774c
mov rax, qword [rcx + 0x18]
mov rdx, r8
shl rdx, 5
mov rcx, qword [rax + 8]
cmp byte [rdx + rcx + 0x18], r15b
je 0x140227752
cmp r8d, 0xfffffffe
jne 0x14022775f
mov sil, 1
mov r9d, ebx
mov byte [rbp + 0xb8], sil
mov rax, qword [rsp + 0x78]
movzx r8d, word [rax + 0x5e]
cmp di, r8w
jae 0x14022778a
mov rax, qword [rax + 0x38]
mov edx, r15d
movzx ecx, di
cmp byte [rcx + rax], r15b
mov rcx, qword [rbp - 0x80]
sete dl
cmp ecx, edx
je 0x140227798
jmp 0x14022778e
mov rcx, qword [rbp - 0x80]
test ecx, ecx
je 0x1402277bb
cmp r8w, di
jne 0x1402277bb
movzx eax, r10b
xor bl, bl
mov qword [rsp + 0x68], r13
mov r13, r11
mov byte [rsp + 0x48], sil
movzx esi, ax
mov word [rsp + 0x50], ax
mov word [rsp + 0x58], r12w
jmp 0x1402277c7
movzx esi, word [rsp + 0x50]
movzx ebx, byte [rbp + 0xb8]
mov rdx, qword [rbp + 0xc0]
lea rax, [rbp - 0x58]
mov r8d, ecx
mov qword [rsp + 0x20], rax
mov rcx, qword [rbp + 0xa0]
call fcn.1401a4920
mov r12, qword [rbp - 0x58]
mov edx, eax
mov dword [rbp + 0xb8], eax
test r12, r12
je 0x140227815
test si, si
je 0x140227815
mov rcx, qword [rbp - 0x60]
movzx edx, di
add rdx, r12
call fcn.1401ec5a0
mov edx, dword [rbp + 0xb8]
mov qword [rbp - 0x70], rax
mov rax, qword [rbp + 0xc0]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x5c], eax
test r13, r13
je 0x14022783b
test byte [r13 + 0x14], 0x28
jne 0x14022783b
mov dword [rsp + 0x70], r15d
mov ecx, 1
jmp 0x140227844
mov ecx, 1
mov dword [rsp + 0x70], ecx
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x140227859
test byte [rax + 0x14], 0x28
mov dword [rsp + 0x54], r15d
je 0x14022785d
mov dword [rsp + 0x54], ecx
test r13, r13
jne 0x1402278a2
test di, di
jne 0x1402278a2
mov ecx, dword [rsp + 0x44]
mov dword [rsp + 0x60], r15d
mov esi, ecx
test bl, bl
je 0x1402279ba
lea r9d, [rcx + rdx]
xor r8d, r8d
mov rcx, r14
lea edx, [r8 + 0x49]
call fcn.140217140
mov esi, dword [rsp + 0x44]
mov edi, 1
inc esi
mov dword [rsp + 0x70], r15d
jmp 0x1402279be
mov dword [rsp + 0x60], ecx
movzx ecx, di
mov esi, ecx
test r13, r13
je 0x140227870
mov rax, qword [r13]
lea r8d, [rcx + rdx]
movzx r12d, word [rsp + 0x58]
mov rcx, qword [rbp + 0xa0]
mov r9d, r12d
mov rbx, qword [rax + 0x18]
mov rdx, rbx
call fcn.1401a5b90
mov eax, 0x100
test word [r13 + 0x12], ax
je 0x140227929
mov rax, qword [r14]
mov ecx, dword [r14 + 0x90]
dec ecx
cmp byte [rax + 0x61], r15b
je 0x1402278fb
lea rcx, [0x1403dbb90]
jmp 0x14022790d
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
lea rcx, [rax + rcx*8]
mov rdx, qword [rbp + 0xc0]
mov eax, dword [rdx + 0x24]
shr eax, 1
mov dword [rcx + 0xc], eax
movzx eax, byte [rdx + 0x24]
and al, 1
movzx eax, al
mov word [rcx + 2], ax
mov rcx, rbx
call fcn.1401ef410
test eax, eax
je 0x140227952
mov r9d, dword [rsp + 0x5c]
mov edx, 0x32
movzx r8d, di
mov rcx, r14
add r8d, dword [rbp + 0xb8]
call fcn.140217140
mov rax, qword [rbp - 0x58]
test rax, rax
je 0x14022796d
movzx r8d, di
mov edx, r12d
add r8, rax
mov rcx, rbx
call fcn.140230220
movzx eax, byte [rbx]
add esi, r12d
cmp al, 0xa8
jne 0x14022797b
movzx eax, byte [rbx + 0x36]
cmp al, 0xa9
jne 0x140227985
lea rax, [rbx + 0x20]
jmp 0x14022798d
cmp al, 0x83
jne 0x1402279a5
mov rax, qword [rbx + 0x20]
mov rax, qword [rax]
cmp dword [rax], 1
jle 0x1402279a5
mov r12, qword [rbp - 0x58]
xor bl, bl
mov dword [rsp + 0x70], 1
jmp 0x1402279ba
mov rcx, qword [rbp + 0xc0]
mov rdx, r13
call fcn.1401aaee0
mov r12, qword [rbp - 0x58]
xor bl, bl
mov edi, dword [rsp + 0x60]
mov rcx, qword [rbp + 0xa0]
mov r8d, esi
movzx eax, bl
mov r9, r12
mov ebx, dword [rbp + 0xb8]
sub r8d, eax
mov edx, ebx
call fcn.1401a4dc0
mov rcx, qword [rbp - 0x78]
lea r13, [0x140000000]
movzx eax, word [rcx + 0x2e]
test ax, ax
je 0x1402279f9
movzx eax, ax
cmp esi, eax
je 0x140227a46
test dword [rcx + 0x28], 0x40000
je 0x140227a14
mov r8d, dword [rsp + 0x4c]
mov edx, 0x77
mov rcx, r14
call fcn.1402170d0
mov r8, qword [rbp - 0x80]
mov eax, dword [rsp + 0x70]
mov r9d, dword [rsp + 0x5c]
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], ebx
lea eax, [rax + rdi*2]
lea ecx, [r8 + rax*2]
mov r8d, dword [rsp + 0x4c]
movzx edx, byte [rcx + r13 + 0x3308c0]
mov rcx, r14
call fcn.1402172b0
mov rax, qword [rsp + 0x68]
mov esi, dword [rsp + 0x44]
test rax, rax
je 0x140227b73
mov rax, qword [rax]
movzx edi, word [rsp + 0x50]
add esi, dword [rbp + 0xb8]
mov r9d, edi
mov rcx, qword [rbp + 0xa0]
mov r8d, esi
mov rbx, qword [rax + 0x18]
mov rdx, rbx
call fcn.1401a5b90
mov rax, qword [rsp + 0x68]
mov ecx, 0x100
test word [rax + 0x12], cx
je 0x140227ad8
mov rax, qword [r14]
mov ecx, dword [r14 + 0x90]
dec ecx
cmp byte [rax + 0x61], r15b
je 0x140227aaa
lea rcx, [0x1403dbb90]
jmp 0x140227abc
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
lea rcx, [rax + rcx*8]
mov rdx, qword [rbp + 0xc0]
mov eax, dword [rdx + 0x24]
shr eax, 1
mov dword [rcx + 0xc], eax
movzx eax, byte [rdx + 0x24]
and al, 1
movzx eax, al
mov word [rcx + 2], ax
mov rcx, rbx
call fcn.1401ef410
test eax, eax
je 0x140227af9
mov r9d, dword [rsp + 0x5c]
mov r8d, esi
mov edx, 0x32
mov rcx, r14
call fcn.140217140
mov rax, qword [rbp - 0x70]
test rax, rax
je 0x140227b27
mov r8, rax
mov edx, edi
mov rcx, rbx
call fcn.140230220
mov rax, qword [rbp - 0x70]
mov r8d, edi
mov rcx, qword [rbp + 0xa0]
mov r9, rax
mov edx, esi
call fcn.1401a4dc0
mov esi, dword [rsp + 0x44]
movzx eax, byte [rbx]
add esi, edi
cmp al, 0xa8
jne 0x140227b38
movzx eax, byte [rbx + 0x36]
cmp al, 0xa9
jne 0x140227b42
lea rax, [rbx + 0x20]
jmp 0x140227b4a
cmp al, 0x83
jne 0x140227b59
mov rax, qword [rbx + 0x20]
mov rax, qword [rax]
cmp dword [rax], 1
jle 0x140227b59
mov ebx, 1
jmp 0x140227b98
mov rdi, qword [rbp + 0xc0]
mov rdx, qword [rsp + 0x68]
mov rcx, rdi
call fcn.1401aaee0
mov ebx, dword [rsp + 0x54]
jmp 0x140227b9f
cmp byte [rsp + 0x48], r15b
je 0x140227b94
xor r8d, r8d
lea r9d, [rsi + rbx]
mov rcx, r14
lea edx, [r8 + 0x49]
call fcn.140217140
inc esi
mov ebx, r15d
jmp 0x140227b98
mov ebx, dword [rsp + 0x54]
mov rdi, qword [rbp + 0xc0]
mov r8, qword [rbp - 0x60]
test r12, r12
je 0x140227bf5
test r8, r8
je 0x140227be9
cmp qword [r8 + 0x2b0], r15
je 0x140227bc3
mov rdx, r12
mov rcx, r8
call fcn.1401ca810
jmp 0x140227bf1
cmp r12, qword [r8 + 0x198]
jb 0x140227be9
cmp r12, qword [r8 + 0x1a0]
jae 0x140227be9
mov rax, qword [r8 + 0x190]
mov qword [r12], rax
mov qword [r8 + 0x190], r12
jmp 0x140227bf5
mov rcx, r12
call fcn.1401890d0
mov r8, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x140227c43
test r8, r8
je 0x140227c3e
cmp qword [r8 + 0x2b0], r15
je 0x140227c19
mov rdx, rcx
mov rcx, r8
call fcn.1401ca810
jmp 0x140227c43
cmp rcx, qword [r8 + 0x198]
jb 0x140227c3e
cmp rcx, qword [r8 + 0x1a0]
jae 0x140227c3e
mov rax, qword [r8 + 0x190]
mov qword [rcx], rax
mov qword [r8 + 0x190], rcx
jmp 0x140227c43
call fcn.1401890d0
mov eax, dword [r14 + 0x90]
mov r12d, dword [rsp + 0x4c]
mov dword [rdi + 0x34], eax
test esi, esi
je 0x140227c84
mov rax, qword [rbp - 0x80]
mov r8d, r12d
mov r9d, dword [rsp + 0x5c]
mov rcx, r14
mov dword [rsp + 0x28], esi
lea eax, [rbx + rax*2]
movzx edx, byte [rax + r13 + 0x3308bc]
mov eax, dword [rbp + 0xb8]
mov dword [rsp + 0x20], eax
call fcn.1402172b0
mov r13, qword [rbp - 0x78]
test dword [r13 + 0x28], 0x40000
je 0x140227cbd
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jg 0x140227ce1
mov eax, 1
mov dword [rsp + 0x20], r15d
mov r9d, eax
mov r8d, r12d
mov rcx, r14
lea edx, [rax + 0x76]
call fcn.1401c6d10
mov edx, 1
test byte [r13 + 0x28], 0x40
mov rcx, qword [rbp + 0xb0]
je 0x140227d13
test byte [rcx + 0x40], 0x20
jne 0x140227d13
mov dword [rbp + 0xb8], edx
jmp 0x140227e7b
lea eax, [rcx + 1]
mov edx, 1
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x77
mov dword [rax + rcx*8 + 4], r12d
mov qword [rax + rcx*8 + 8], rdx
mov qword [rax + rcx*8 + 0x10], r15
jmp 0x140227cc2
mov r10, qword [rsp + 0x78]
mov dword [rbp + 0xb8], r15d
mov rbx, qword [r10 + 0x18]
test byte [rbx + 0x40], 0x20
jne 0x140227d99
movzx eax, word [rcx + 0x40]
mov edx, 0x400
test dx, ax
jne 0x140227d5c
mov edx, 0x1000
test dx, ax
je 0x140227d47
cmp byte [rcx + 0x45], 1
je 0x140227d5c
mov r8d, dword [rsp + 0x40]
mov r9d, r12d
mov rdx, r10
call fcn.1401a51d0
jmp 0x140227e7b
mov rax, qword [rbp + 0xa0]
mov r8d, r12d
mov edx, 0x87
mov rcx, r14
inc dword [rax + 0x38]
mov ebx, dword [rax + 0x38]
mov r9d, ebx
call fcn.140217140
mov r8d, dword [rsp + 0x40]
xor r9d, r9d
mov rcx, r14
mov dword [rsp + 0x20], ebx
lea edx, [r9 + 0x1f]
call fcn.1402171b0
jmp 0x140227e7b
mov ecx, dword [rsp + 0x40]
cmp ecx, r12d
je 0x140227e84
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x140227dc2
nop
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x140227dc2
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x140227db0
movzx edx, word [rbx + 0x5e]
mov rcx, qword [rbp + 0xa0]
call fcn.1401fe760
mov esi, eax
mov edi, r15d
movzx eax, word [rbx + 0x5e]
cmp r15w, ax
jae 0x140227e53
mov r13d, 0xffffffff
nop word [rax + rax]
movzx r8d, word [r10 + 0x60]
mov edx, r15d
test r8d, r8d
je 0x140227e21
mov rax, qword [rbx + 8]
mov r9, qword [r10 + 8]
movsxd rcx, edi
movzx r10d, word [rax + rcx*2]
nop dword [rax]
movsxd rax, edx
cmp r10w, word [r9 + rax*2]
je 0x140227e25
inc edx
cmp edx, r8d
jl 0x140227e10
movzx edx, r13w
lea eax, [rdi + rsi]
movsx r9d, dx
mov edx, 0x5a
mov dword [rsp + 0x20], eax
mov r8d, r12d
mov rcx, r14
call fcn.1402171b0
movzx eax, word [rbx + 0x5e]
inc edi
mov r10, qword [rsp + 0x78]
cmp edi, eax
jl 0x140227df0
mov r13, qword [rbp - 0x78]
mov r9d, dword [rbp - 0x68]
mov edx, 0x1c
mov r8d, dword [rsp + 0x40]
mov rcx, r14
movzx eax, ax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], esi
call fcn.1402172b0
mov rdi, qword [rbp + 0xc0]
mov ecx, dword [rsp + 0x40]
mov r10, qword [rsp + 0x78]
cmp dword [rdi], r15d
jne 0x140227fa7
mov r11, qword [rbp + 0xb0]
test byte [r11 + 0x40], 0x20
jne 0x140227fa7
mov rax, qword [r10 + 0x50]
test rax, rax
je 0x140227fa7
lea rdx, [0x140238120]
mov qword [rbp], r15
mov qword [rbp + 8], rdx
xorps xmm0, xmm0
lea rdx, [rbp - 0x18]
mov qword [rbp + 0x20], r15
mov qword [rbp + 0x28], rdx
mov esi, r15d
movdqu xmmword [rbp + 0x10], xmm0
mov dword [rbp - 0x10], ecx
mov dword [rbp - 0xc], r12d
cmp dword [rax], r15d
jle 0x140227fa7
mov r12, r15
lea r13, [rax + 8]
mov r15, r11
mov r14, rax
nop
mov rax, qword [r10 + 8]
cmp word [r12 + rax], 0xfffe
jne 0x140227f86
mov rdx, qword [r15 + 0x20]
mov dword [rbp - 8], esi
mov rax, qword [r13]
mov qword [rbp - 0x18], rax
test rdx, rdx
je 0x140227f1d
lea rcx, [rbp]
call fcn.140237b60
mov rdi, qword [r15 + 0x10]
test rdi, rdi
je 0x140227f4f
mov ebx, dword [rdi]
add rdi, 8
test ebx, ebx
jle 0x140227f4f
mov rdx, qword [rdi]
test rdx, rdx
je 0x140227f45
lea rcx, [rbp]
call fcn.140237b60
test eax, eax
jne 0x140227f4f
dec ebx
add rdi, 0x28
test ebx, ebx
jg 0x140227f30
mov rdi, qword [r15 + 0x18]
test rdi, rdi
je 0x140227f81
mov ebx, dword [rdi]
add rdi, 8
test ebx, ebx
jle 0x140227f81
mov rdx, qword [rdi]
test rdx, rdx
je 0x140227f77
lea rcx, [rbp]
call fcn.140237b60
test eax, eax
jne 0x140227f81
dec ebx
add rdi, 0x28
test ebx, ebx
jg 0x140227f62
mov r10, qword [rsp + 0x78]
inc esi
add r12, 2
add r13, 0x28
cmp esi, dword [r14]
jl 0x140227ef0
mov r14, qword [rbp + 0xa8]
xor r15d, r15d
mov r13, qword [rbp - 0x78]
mov rcx, qword [r10 + 0x48]
test rcx, rcx
je 0x140227fc2
mov r8, qword [rbp - 0x40]
mov edx, dword [rsp + 0x40]
call fcn.140237d10
mov r10, qword [rsp + 0x78]
mov r11, qword [rbp + 0xc0]
mov eax, 0x1000
test dword [r13 + 0x28], eax
je 0x140227fdb
mov byte [r11 + 0x2d], 0xaa
jmp 0x140227fe8
cmp dword [rbp - 0x80], 0
sete al
add al, 4
mov byte [r11 + 0x2d], al
mov eax, dword [rsp + 0x4c]
mov dword [r11 + 0x30], eax
movzx eax, byte [r13 + 0x2a]
and al, 1
mov byte [r11 + 0x2e], al
test byte [r13 + 0x28], 0xf
jne 0x140228007
mov byte [r11 + 0x2f], 1
cmp dword [rbp + 0xb8], 0
mov rax, r15
cmove rax, r10
mov qword [rbp - 0x58], rax
jmp 0x140227199
bt edx, 0xd
jae 0x140228a9e
dec dword [rsi + 0x44]
inc dword [rsi + 0x38]
mov eax, dword [rsi + 0x34]
mov ecx, dword [rsi + 0x38]
mov dword [rsp + 0x70], eax
inc eax
mov dword [rsi + 0x34], eax
mov eax, dword [rsi + 0x44]
mov dword [rsp + 0x54], eax
mov rax, qword [rbp - 0x38]
mov qword [rbp - 0x28], r15
mov dword [rsp + 0x5c], ecx
mov dword [rsp + 0x58], r15d
mov r12, qword [rax + 0x20]
mov rax, qword [rbx + 0x38]
mov dword [rsp + 0x50], r15d
mov dword [rsp + 0x60], r15d
mov qword [rbp - 0x70], r15
mov rsi, qword [rax]
mov qword [rsp + 0x68], r12
mov qword [rbp - 0x18], rsi
mov rax, qword [rsi + 0x28]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp + 0xb0]
mov byte [r11 + 0x2d], 0x42
mov dword [r11 + 0x30], ecx
movzx eax, byte [rax + 0x42]
cmp al, 1
jbe 0x1402281ae
movzx ebx, al
sub ebx, edi
dec ebx
movsxd rax, ebx
imul rcx, rax, 0x70
add rcx, 0x78
test r13, r13
je 0x1402280bf
mov rdx, rcx
mov rcx, r13
call fcn.1401ec300
jmp 0x1402280c4
call fcn.140203f00
mov qword [rbp - 0x20], rax
mov rdx, rax
test rax, rax
jne 0x1402280dc
mov rax, qword [rbp + 0xc8]
jmp 0x140228eaf
mov r11, qword [rbp + 0xb0]
lea eax, [rbx + 1]
movzx ecx, al
mov rax, qword [rbp - 0x38]
mov dword [rdx + 4], ecx
mov dword [rdx], ecx
movups xmm0, xmmword [rax]
movups xmmword [rdx + 8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdx + 0x18], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdx + 0x28], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdx + 0x38], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rdx + 0x48], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rdx + 0x58], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rdx + 0x68], xmm0
mov r10, qword [r11 + 8]
cmp ebx, 1
jl 0x1402281c4
mov r8, qword [rbp + 0xc0]
add rdx, 0x78
add r8, 0x84
mov r9d, ebx
nop dword [rax + rax]
movzx eax, byte [r8]
lea rdx, [rdx + 0x70]
imul rcx, rax, 0x70
lea r8, [r8 + 0x58]
movups xmm0, xmmword [rcx + r10 + 8]
movups xmmword [rdx - 0x70], xmm0
movups xmm1, xmmword [rcx + r10 + 0x18]
movups xmmword [rdx - 0x60], xmm1
movups xmm0, xmmword [rcx + r10 + 0x28]
movups xmmword [rdx - 0x50], xmm0
movups xmm1, xmmword [rcx + r10 + 0x38]
movups xmmword [rdx - 0x40], xmm1
movups xmm0, xmmword [rcx + r10 + 0x48]
movups xmmword [rdx - 0x30], xmm0
movups xmm1, xmmword [rcx + r10 + 0x58]
movups xmmword [rdx - 0x20], xmm1
movups xmm0, xmmword [rcx + r10 + 0x68]
movups xmmword [rdx - 0x10], xmm0
sub r9, 1
jne 0x140228150
jmp 0x1402281c4
mov rax, qword [rbp + 0xb0]
mov r11, qword [rbp + 0xb0]
mov rax, qword [rax + 8]
mov qword [rbp - 0x20], rax
test byte [r11 + 0x40], 0x10
jne 0x14022827a
test byte [r12 + 0x40], 0x20
jne 0x14022820e
mov r12, qword [rbp + 0xa0]
xor r8d, r8d
mov rcx, r14
inc dword [r12 + 0x38]
lea edx, [r8 + 0x49]
mov eax, dword [r12 + 0x38]
mov r9d, eax
mov dword [rsp + 0x58], eax
call fcn.140217140
inc dword [r12 + 0x38]
mov eax, dword [r12 + 0x38]
mov dword [rsp + 0x50], eax
jmp 0x140228281
mov rbx, qword [r12 + 0x10]
test rbx, rbx
je 0x140228232
nop dword [rax + rax]
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x140228232
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x140228220
mov r12, qword [rbp + 0xa0]
mov edx, WSAStartup
mov rcx, r14
mov edi, dword [r12 + 0x34]
mov r8d, edi
mov dword [rsp + 0x58], edi
lea eax, [rdi + 1]
mov dword [r12 + 0x34], eax
movzx r9d, word [rbx + 0x5e]
call fcn.140217140
mov rdx, rbx
mov rcx, r12
call fcn.140223220
inc dword [r12 + 0x38]
mov eax, dword [r12 + 0x38]
mov dword [rsp + 0x50], eax
jmp 0x140228281
mov r12, qword [rbp + 0xa0]
movsxd rdx, dword [r14 + 0x90]
mov dword [rbp - 0x64], edx
cmp dword [r14 + 0x94], edx
jg 0x1402282b2
mov r9d, dword [rsp + 0x5c]
xor r8d, r8d
mov rcx, r14
mov dword [rsp + 0x20], r15d
lea edx, [r8 + 0x46]
call fcn.1401c6d10
mov dword [rbp - 0x64], eax
jmp 0x1402282e1
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov edx, dword [rsp + 0x5c]
mov dword [r14 + 0x90], eax
mov rax, qword [r14 + 0x88]
mov qword [rax + rcx*8], 0x46
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov rax, qword [rbp - 0x40]
mov eax, dword [rax + 0x14]
cmp eax, 1
jle 0x1402283a0
mov ebx, r15d
test eax, eax
jle 0x1402283a0
mov r12, qword [rbp - 0x40]
mov rdi, r15
mov edx, 0x1fff
mov r14, r15
nop dword [rax + rax]
mov rcx, qword [r12 + 0x20]
movsxd rax, ebx
shl rax, 6
add rax, rcx
cmp rax, rsi
je 0x140228364
test byte [rcx + rdi + 0x12], 6
jne 0x140228364
test word [rcx + rdi + 0x14], dx
je 0x140228364
mov rdx, qword [rcx + rdi]
test rdx, rdx
je 0x14022834b
xor r9d, r9d
xor r8d, r8d
mov rcx, r13
call fcn.1401ada40
jmp 0x14022834e
mov rax, r15
mov r8, rax
mov rdx, r14
mov rcx, r13
call fcn.1401ef000
mov r14, rax
mov edx, 0x1fff
inc ebx
add rdi, 0x40
cmp ebx, dword [r12 + 0x14]
jl 0x140228310
mov r12, qword [rbp + 0xa0]
test r14, r14
mov qword [rbp - 0x70], r14
mov r14, qword [rbp + 0xa8]
je 0x1402283a0
mov r9, qword [rbp - 0x70]
xor r8d, r8d
mov edx, 0x1002c
mov rcx, r12
call fcn.140204f50
mov qword [rbp - 0x70], rax
mov rax, qword [rbp + 0xb0]
lea r8, str.MULTI_INDEX_OR
mov ebx, 0x400
mov edx, 1
mov rcx, r12
movzx eax, word [rax + 0x40]
and ax, bx
or ax, 0x20
mov word [rbp + 0xb8], ax
call fcn.14021f840
mov rax, qword [rbp - 0x30]
mov edi, r15d
mov dword [rsp + 0x44], r15d
cmp dword [rax + 0x14], r15d
jle 0x14022886a
mov ecx, dword [rsp + 0x40]
mov r12, r15
mov qword [rbp - 0x48], r15
mov rax, qword [rax + 0x20]
cmp dword [r12 + rax + 0x1c], ecx
je 0x14022840a
test word [r12 + rax + 0x14], bx
je 0x140228840
mov rbx, qword [r12 + rax]
mov esi, r15d
mov rax, qword [rbp - 0x70]
mov dword [rsp + 0x78], r15d
test rax, rax
je 0x140228426
mov qword [rax + 0x10], rbx
mov rbx, rax
mov rcx, qword [rbp + 0xa0]
lea r9d, [rdi + 1]
lea r8, str.INDEX__d
mov edx, 1
call fcn.14021f840
mov eax, dword [rsp + 0x70]
xor r9d, r9d
mov r13, qword [rbp - 0x20]
mov r8, rbx
mov rcx, qword [rbp + 0xa0]
mov rdx, r13
mov dword [rsp + 0x30], eax
movzx eax, word [rbp + 0xb8]
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], r15
call fcn.140225a00
mov qword [rbp - 0x50], rax
mov rbx, rax
test rax, rax
je 0x140228837
mov rcx, qword [rbp + 0xa0]
lea r8, [rax + 0x398]
xor r9d, r9d
mov rdx, r13
call fcn.140229970
mov rax, qword [rbp + 0xb0]
mov r13, qword [rsp + 0x68]
test byte [rax + 0x40], 0x10
jne 0x1402286e6
mov rax, qword [rbp - 0x30]
mov ebx, edi
mov ecx, dword [rax + 0x14]
mov eax, 0xffffffff
dec ecx
cmp edi, ecx
cmove ebx, eax
test byte [r13 + 0x40], 0x20
mov dword [rbp - 0x80], ebx
jne 0x140228510
mov esi, dword [rsp + 0x50]
mov r9d, eax
mov r8d, dword [rsp + 0x40]
mov rdx, r13
mov rcx, r14
mov dword [rsp + 0x20], esi
call fcn.1401ef9c0
mov r8d, dword [rsp + 0x58]
xor r9d, r9d
mov dword [rsp + 0x28], ebx
mov rcx, r14
mov dword [rsp + 0x20], esi
lea edx, [r9 + 0x2a]
call fcn.1402172b0
mov esi, eax
jmp 0x1402286e2
mov rcx, r13
call fcn.14020be60
mov rdx, qword [rbp + 0xa0]
mov rsi, rax
movzx r13d, word [rax + 0x5e]
cmp r13d, 1
jne 0x14022854e
movzx ecx, byte [rdx + 0x1f]
test cl, cl
jne 0x14022853d
inc dword [rdx + 0x38]
mov edi, dword [rdx + 0x38]
jmp 0x140228578
dec cl
movzx eax, cl
mov byte [rdx + 0x1f], al
mov edi, dword [rdx + rax*4 + 0xcc]
jmp 0x140228578
mov ecx, dword [rdx + 0x28]
mov edi, dword [rdx + 0x2c]
mov dword [rsp + 0x4c], edi
cmp r13d, ecx
jg 0x14022856c
lea eax, [rdi + r13]
sub ecx, r13d
mov dword [rdx + 0x2c], eax
mov dword [rdx + 0x28], ecx
jmp 0x14022857c
mov eax, dword [rdx + 0x38]
lea edi, [rax + 1]
add eax, r13d
mov dword [rdx + 0x38], eax
mov dword [rsp + 0x4c], edi
mov rbx, r15
mov r12, r13
test r13d, r13d
je 0x1402285bc
mov r15, qword [rsp + 0x68]
mov r13d, dword [rsp + 0x40]
mov rax, qword [rsi + 8]
mov r8d, r13d
mov rdx, r15
mov dword [rsp + 0x20], edi
mov rcx, r14
movsx r9d, word [rax + rbx*2]
call fcn.1401ef9c0
inc edi
inc rbx
cmp rbx, r12
jl 0x140228591
xor r15d, r15d
mov r13d, r12d
mov edi, dword [rbp - 0x80]
mov ebx, dword [rsp + 0x4c]
mov r12d, dword [rsp + 0x58]
test edi, edi
je 0x1402285eb
xor r9d, r9d
mov dword [rsp + 0x28], r13d
mov r8d, r12d
mov dword [rsp + 0x20], ebx
mov rcx, r14
lea edx, [r9 + 0x1d]
call fcn.1402172b0
mov esi, eax
jmp 0x1402285ef
mov esi, dword [rsp + 0x78]
test edi, edi
js 0x140228694
movsxd rcx, dword [r14 + 0x90]
mov edx, dword [rsp + 0x50]
cmp dword [r14 + 0x94], ecx
jg 0x140228624
mov dword [rsp + 0x20], edx
mov r9d, r13d
mov edx, 0x5c
mov r8d, ebx
mov rcx, r14
call fcn.1401c6d10
jmp 0x140228652
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x5c
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r15
mov r9d, dword [rsp + 0x50]
mov r8d, r12d
mov dword [rsp + 0x28], r13d
mov edx, 0x84
mov rcx, r14
mov dword [rsp + 0x20], ebx
call fcn.1402172b0
test edi, edi
je 0x140228694
movsxd rax, dword [r14 + 0x90]
test eax, eax
jle 0x140228694
lea rcx, [rax + rax*2]
mov edx, InitCommonControls
mov rax, qword [r14 + 0x88]
mov word [rax + rcx*8 - 0x16], dx
mov edi, dword [rsp + 0x44]
mov r12, qword [rbp - 0x48]
cmp r13d, 1
jne 0x1402286c9
mov r13, qword [rsp + 0x68]
test ebx, ebx
je 0x1402286e2
mov rdx, qword [rbp + 0xa0]
movzx eax, byte [rdx + 0x1f]
cmp al, 8
jae 0x1402286e2
movzx eax, al
mov dword [rdx + rax*4 + 0xcc], ebx
inc byte [rdx + 0x1f]
jmp 0x1402286e2
mov rdx, qword [rbp + 0xa0]
cmp r13d, dword [rdx + 0x28]
jle 0x1402286dd
mov dword [rdx + 0x28], r13d
mov dword [rdx + 0x2c], ebx
mov r13, qword [rsp + 0x68]
mov rbx, qword [rbp - 0x50]
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jg 0x140228714
mov r9d, dword [rsp + 0x54]
mov edx, listen
mov r8d, dword [rsp + 0x5c]
mov rcx, r14
mov dword [rsp + 0x20], r15d
call fcn.1401c6d10
jmp 0x14022874a
mov edx, dword [rsp + 0x5c]
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x54]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], listen
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
test esi, esi
je 0x140228783
mov rax, qword [r14]
mov edx, dword [r14 + 0x90]
cmp byte [rax + 0x61], 0
je 0x140228767
lea rax, [0x1403dbb90]
jmp 0x140228780
lea eax, [rdx - 1]
test esi, esi
cmovns eax, esi
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
cmp byte [rbx + 0x46], 0
mov ecx, 1
mov eax, dword [rsp + 0x60]
mov rdx, qword [rbx + 0x3e0]
cmovne eax, ecx
mov dword [rsp + 0x60], eax
mov eax, 0x200
test dword [rdx + 0x28], eax
je 0x1402287d6
test edi, edi
je 0x1402287b6
mov rax, qword [rbp - 0x28]
cmp qword [rdx + 0x20], rax
jne 0x1402287d6
test byte [r13 + 0x40], 0x20
je 0x1402287cc
mov rax, qword [rdx + 0x20]
mov ecx, dword [rax + 0x64]
and cl, 3
cmp cl, 2
je 0x1402287d6
mov rsi, qword [rdx + 0x20]
mov qword [rbp - 0x28], rsi
jmp 0x1402287da
mov qword [rbp - 0x28], r15
mov rcx, rbx
call fcn.140228ed0
mov r8, qword [rbp + 0xa0]
mov ecx, dword [r8 + 0x120]
test ecx, ecx
jne 0x1402287f9
mov eax, r15d
jmp 0x140228830
mov rdx, qword [r8 + 0x10]
test ecx, ecx
jns 0x140228809
mov ecx, dword [rdx + 0x90]
dec ecx
mov rax, qword [rdx]
cmp byte [rax + 0x61], 0
je 0x14022881b
lea rax, [0x1403dbb90]
jmp 0x14022882d
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x88]
lea rax, [rax + rcx*8]
mov eax, dword [rax + 8]
mov dword [r8 + 0x120], eax
mov ecx, dword [rsp + 0x40]
mov ebx, 0x400
mov rax, qword [rbp - 0x30]
inc edi
add r12, 0x40
mov dword [rsp + 0x44], edi
mov qword [rbp - 0x48], r12
cmp edi, dword [rax + 0x14]
jl 0x1402283f3
mov rsi, qword [rbp - 0x18]
mov r13, qword [rbp - 0x60]
mov r12, qword [rbp + 0xa0]
mov ecx, dword [r12 + 0x120]
test ecx, ecx
jne 0x14022887b
mov eax, r15d
jmp 0x1402288b3
mov rdx, qword [r12 + 0x10]
test ecx, ecx
jns 0x14022888c
mov ecx, dword [rdx + 0x90]
dec ecx
mov rax, qword [rdx]
cmp byte [rax + 0x61], 0
je 0x14022889e
lea rax, [0x1403dbb90]
jmp 0x1402288b0
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x88]
lea rax, [rax + rcx*8]
mov eax, dword [rax + 8]
mov r8, qword [rbp + 0xc0]
mov dword [r12 + 0x120], eax
mov rax, qword [rbp - 0x28]
mov qword [r8 + 0x38], rax
test rax, rax
je 0x1402288d7
mov eax, dword [rsp + 0x70]
mov dword [r8 + 8], eax
mov rax, qword [rbp - 0x70]
test rax, rax
je 0x1402288f6
mov rdx, rax
mov qword [rax + 0x10], r15
mov rcx, r13
call fcn.1401f24f0
mov r8, qword [rbp + 0xc0]
mov rax, qword [r14]
mov edx, dword [r14 + 0x90]
cmp byte [rax + 0x61], 0
je 0x14022890f
lea rax, [0x1403dbb90]
jmp 0x14022892b
mov ecx, dword [rbp - 0x64]
lea eax, [rdx - 1]
test ecx, ecx
cmovns eax, ecx
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 4], edx
movsxd rcx, dword [r14 + 0x90]
mov edx, dword [r8 + 0xc]
cmp dword [r14 + 0x94], ecx
jg 0x14022895b
xor r8d, r8d
mov dword [rsp + 0x20], r15d
mov r9d, edx
mov rcx, r14
lea edx, [r8 + 0xb]
call fcn.1401c6d10
jmp 0x140228986
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov qword [rax + rcx*8], listen
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov rcx, qword [r14 + 0x18]
mov edx, dword [rsp + 0x54]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1402289a5
mov r8d, edx
mov rdx, r14
call fcn.1401d7da0
jmp 0x1402289b6
mov rcx, qword [rcx + 0x50]
mov eax, dword [r14 + 0x90]
movsxd rdx, edx
mov dword [rcx + rdx*4], eax
mov r8, qword [rbp + 0xb0]
cmp byte [r8 + 0x42], 1
jbe 0x140228a1a
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x140228a1a
test r13, r13
je 0x140228a0e
cmp qword [r13 + 0x2b0], 0
je 0x1402289e9
mov rdx, rcx
mov rcx, r13
call fcn.1401ca810
jmp 0x140228a13
cmp rcx, qword [r13 + 0x198]
jb 0x140228a0e
cmp rcx, qword [r13 + 0x1a0]
jae 0x140228a0e
mov rax, qword [r13 + 0x190]
mov qword [rcx], rax
mov qword [r13 + 0x190], rcx
jmp 0x140228a1a
call fcn.1401890d0
mov r8, qword [rbp + 0xb0]
cmp dword [rsp + 0x60], 0
mov r11, qword [rbp + 0xc0]
jne 0x140228a92
test byte [rsi + 0x12], 4
mov edx, r15d
jne 0x140228a92
cmp dword [r11], 0
je 0x140228a40
mov rax, qword [rsi]
test byte [rax + 4], 1
je 0x140228a92
mov rax, qword [rsi + 0x38]
test qword [r11 + 0x50], rax
jne 0x140228a92
test edx, edx
je 0x140228a65
movzx eax, word [rsi + 0x12]
test bx, ax
je 0x140228a65
mov ecx, 0x200
or ax, cx
mov word [rsi + 0x12], ax
jmp 0x140228a6a
or word [rsi + 0x12], 4
movsxd rax, dword [rsi + 0x18]
test eax, eax
js 0x140228a92
mov rcx, rax
mov rax, qword [rsi + 8]
shl rcx, 6
mov rsi, rcx
add rsi, qword [rax + 0x20]
add byte [rsi + 0x16], 0xff
jne 0x140228a92
inc edx
test byte [rsi + 0x12], 4
je 0x140228a31
mov rsi, qword [rbp + 0xa0]
jmp 0x1402271a7
test r8b, 0x20
je 0x140228aae
mov byte [r11 + 0x2d], 0xaa
jmp 0x1402271a0
mov ecx, r10d
lea r13, [0x140000000]
movzx eax, byte [rcx + r13 + 0x3308c8]
movzx edx, byte [rcx + r13 + 0x3308cc]
mov rcx, r14
mov byte [r11 + 0x2d], al
mov eax, dword [rsp + 0x40]
mov r8d, eax
mov dword [r11 + 0x30], eax
call fcn.140217140
mov r11, qword [rbp + 0xc0]
inc eax
mov dword [r11 + 0x34], eax
mov byte [r11 + 0x2f], 1
jmp 0x1402271a0
mov rax, qword [rbp - 0x38]
mov rsi, qword [rbx]
test byte [rax + 0x3c], 8
je 0x140228b0b
test byte [rsi + 4], 1
je 0x140228b63
cmp edx, 1
jne 0x140228d1c
mov eax, dword [r11 + 4]
xorps xmm0, xmm0
mov dword [rbp - 0x10], eax
lea rax, [rbp - 0x18]
mov qword [rbp + 0x28], rax
mov qword [rbp], r15
mov qword [rbp + 0x20], r15
mov qword [rbp - 0x18], r10
mov qword [rbp + 8], r9
movdqu xmmword [rbp + 0x10], xmm0
test rsi, rsi
je 0x140228b53
mov rdx, rsi
lea rcx, [rbp]
call fcn.140237b60
mov r11, qword [rbp + 0xc0]
cmp byte [rbp + 0x24], 0
je 0x140228d21
mov r13d, 2
mov rsi, qword [rbp + 0xa0]
mov edx, dword [rbp + 0xb8]
lea r9, [0x1401adeb0]
mov r11, qword [rbp + 0xc0]
dec r12d
mov r10, qword [rbp - 0x58]
add rbx, 0x40
mov r8, qword [rbp + 0xb0]
test r12d, r12d
jg 0x1402271f0
mov rax, qword [rbp - 0x40]
lea r9, [0x1401adeb0]
mov rbx, qword [rax + 0x20]
mov r12d, dword [rax + 0x14]
mov r11, qword [rbp + 0xc0]
mov edx, r13d
mov r8, qword [rbp + 0xb0]
mov dword [rbp + 0xb8], edx
test r13d, r13d
jg 0x1402271d0
test r12d, r12d
jle 0x140228cd0
mov r13, qword [rbp + 0xc8]
add rbx, 0x14
mov r14, r11
test byte [rbx - 2], 6
jne 0x140228cb9
movzx eax, word [rbx]
mov edx, listen
test al, 0x82
setne cl
bt ax, dx
setb al
test al, cl
je 0x140228cb9
mov eax, dword [rsp + 0x40]
cmp dword [rbx + 8], eax
jne 0x140228cb9
cmp dword [r14], 0
jne 0x140228cb9
mov r8d, dword [rbx + 0x14]
mov r9, r13
mov rcx, qword [rbp - 0x40]
mov edx, eax
mov rdi, qword [rbx - 0x14]
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], 0x83
call fcn.140229fd0
mov rdx, rax
test rax, rax
je 0x140228cb9
test byte [rax + 0x12], 4
jne 0x140228cb9
test byte [rax + 0x14], 1
je 0x140228c6f
mov rax, qword [rax]
test dword [rax + 4], 0x800
je 0x140228c6f
mov rax, qword [rax + 0x20]
mov rcx, qword [rax]
cmp dword [rcx], 1
jg 0x140228cb9
mov rax, qword [rdx]
mov r9d, setsockopt
mov r8d, dword [rbp - 0x68]
lea rdx, [rbp]
mov rcx, rsi
movups xmm0, xmmword [rax]
movaps xmmword [rbp], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp + 0x30], xmm1
movsd xmm0, qword [rax + 0x40]
movsd qword [rbp + 0x40], xmm0
mov rax, qword [rdi + 0x10]
mov qword [rbp + 0x10], rax
call fcn.1401f2940
dec r12d
add rbx, 0x40
test r12d, r12d
jg 0x140228be3
mov r14, qword [rbp + 0xa8]
mov rdi, qword [rbp + 0xc0]
mov r9d, dword [rdi]
test r9d, r9d
je 0x140228eab
mov eax, dword [r14 + 0x90]
mov dword [rdi + 0x1c], eax
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jg 0x140228e31
mov edx, 0x46
mov dword [rsp + 0x20], r15d
mov rcx, r14
lea r8d, [rdx - 0x45]
call fcn.1401c6d10
jmp 0x140228e65
cmp edx, 3
jge 0x140228d4a
movzx ecx, word [rbx + 0x12]
mov eax, 0x1000
test ax, cx
je 0x140228d4a
mov rsi, qword [rbp + 0xa0]
test r13d, r13d
jne 0x140228b6a
mov r13d, 3
jmp 0x140228b6a
mov eax, 0x200
test ax, cx
je 0x140228dc6
mov eax, dword [r11 + 0x24]
test eax, eax
je 0x140228dc6
movsxd rdi, dword [r14 + 0x90]
mov r8d, eax
and eax, 1
shr r8d, 1
lea edx, [rax*2 + 0x12]
cmp dword [r14 + 0x94], edi
jg 0x140228d90
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov rcx, r14
call fcn.1401c6d10
mov edi, eax
jmp 0x140228dc6
lea rcx, [rdi + rdi*2]
lea eax, [rdi + 1]
mov dword [r14 + 0x90], eax
mov rax, qword [r14 + 0x88]
mov byte [rax + rcx*8], dl
mov word [rax + rcx*8 + 2], r15w
mov dword [rax + rcx*8 + 4], r8d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r15
mov byte [rax + rcx*8 + 1], 0
mov r8d, dword [rbp - 0x68]
mov rdx, rsi
mov rsi, qword [rbp + 0xa0]
mov r9d, setsockopt
mov rcx, rsi
call fcn.1401f2940
test edi, edi
je 0x140228e27
mov rax, qword [r14]
mov edx, dword [r14 + 0x90]
cmp byte [rax + 0x61], 0
je 0x140228e0a
lea rax, [0x1403dbb90]
mov dword [rax + 8], edx
or word [rbx + 0x12], 4
jmp 0x140228b6a
lea eax, [rdx - 1]
test edi, edi
cmovns eax, edi
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8 + 8], edx
lea rax, [rax + rcx*8]
or word [rbx + 0x12], 4
jmp 0x140228b6a
lea eax, [rcx + 1]
mov edx, 1
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x46
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov r14, qword [rbp - 0x40]
cmp dword [r14 + 0x14], 0
mov rbx, qword [r14 + 0x20]
jle 0x140228eab
test byte [rbx + 0x12], 6
jne 0x140228e9e
mov rax, qword [rbx + 0x38]
test qword [rdi + 0x50], rax
jne 0x140228e9e
mov r8d, dword [rbp - 0x68]
mov r9d, setsockopt
mov rdx, qword [rbx]
mov rcx, rsi
call fcn.1401f2940
or word [rbx + 0x12], 4
inc r15d
add rbx, 0x40
cmp r15d, dword [r14 + 0x14]
jl 0x140228e74
mov rax, qword [rdi + 0x50]
add rsp, 0x158
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret