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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r13
push r14
lea rbp, [rsp - 0x38]
sub rsp, 0x138
mov r10, qword [rbp + 0x98]
mov rsi, qword [rbp + 0xb0]
mov rax, rcx
mov ecx, dword [r10 + 8]
mov rsi, qword [rsi]
mov r14, r8
mov r8d, 1
mov r13, r9
mov r9, qword [rbp + 0xb8]
shl r8, cl
mov rcx, qword [r10 + 0x10]
lea r11, [rax + rdx]
sub r8, 0x10
mov rbx, rdx
mov qword [rbp - 0x28], r9
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x28], rsi
mov qword [rbp - 0x78], r11
mov qword [rsp + 0x78], r8
cmp rax, 8
jb 0x140070927
lea rax, [r11 - 7]
mov qword [rbp - 0x40], rax
jmp 0x14007092b
mov qword [rbp - 0x40], rdx
cmp dword [r10 + 4], 9
mov rdi, qword [rbp + 0xa0]
mov edx, 0x40
mov eax, 0x200
cmovl eax, edx
mov edx, dword [rdi + 0x70]
mov qword [rbp - 0x38], rax
add rax, rbx
mov qword [rbp - 0x80], rax
mov rax, qword [r10 + 0x60]
mov qword [rbp - 0x50], rax
cmp edx, 4
jle 0x1400709d0
mov r8, qword [rbp + 0xa8]
mov ecx, dword [r8]
lea eax, [rcx - 1]
mov dword [r8 + 0x10], eax
lea eax, [rcx + 1]
mov dword [r8 + 0x14], eax
lea eax, [rcx - 2]
mov dword [r8 + 0x18], eax
lea eax, [rcx + 2]
mov dword [r8 + 0x1c], eax
lea eax, [rcx - 3]
mov dword [r8 + 0x20], eax
lea eax, [rcx + 3]
mov dword [r8 + 0x24], eax
cmp edx, 0xa
jle 0x1400709c6
mov ecx, dword [r8 + 4]
lea eax, [rcx - 1]
mov dword [r8 + 0x28], eax
lea eax, [rcx + 1]
mov dword [r8 + 0x2c], eax
lea eax, [rcx - 2]
mov dword [r8 + 0x30], eax
lea eax, [rcx + 2]
mov dword [r8 + 0x34], eax
lea eax, [rcx - 3]
mov dword [r8 + 0x38], eax
lea eax, [rcx + 3]
mov dword [r8 + 0x3c], eax
mov rcx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x78]
lea rax, [rbx + 8]
cmp rax, r11
jae 0x140071b17
mov qword [rsp + 0x130], r12
mov qword [rsp + 0x128], r15
nop dword [rax]
lea rax, [rcx + rbx]
mov r15, r11
mov r9, r8
sub r15, rbx
cmp rbx, r8
mov rcx, r8
cmovb r9, rbx
cmp rax, r8
mov qword [rsp + 0x30], r15
cmovb rcx, rax
mov qword [rsp], r9
mov qword [rsp + 0x68], rcx
xor ecx, ecx
mov dword [rsp + 0x38], ecx
mov byte [rbp + 0x70], cl
cmp dword [r10 + 0x270], ecx
je 0x140070a85
cmp rbx, 1
jb 0x140070a42
lea rax, [rbx - 1]
and rax, r13
movzx r8d, byte [rax + r14]
jmp 0x140070a45
xor r8b, r8b
mov byte [rbp + 0x70], r8b
cmp rbx, 2
jb 0x140070a5b
lea rax, [rbx - 2]
and rax, r13
movzx ecx, byte [rax + r14]
movzx eax, cl
mov rcx, qword [rbp + 0x90]
movzx edx, byte [rax + rcx + 0x100]
movzx eax, r8b
movzx ecx, byte [rax + rcx]
or rdx, rcx
movzx ecx, byte [rdx + r10 + 0x275]
mov dword [rsp + 0x38], ecx
movsxd rsi, dword [rdi + 0x70]
mov r11, qword [rdi + 0x80]
mov r12, qword [rdi + 0x88]
xor eax, eax
xor edx, edx
mov r8, rbx
mov qword [rbp - 0x68], rax
mov eax, 0x7e4
and r8, r13
mov qword [rsp + 0x20], rax
mov rax, qword [r10 + 0x48]
xor ebx, ebx
mov qword [rbp - 0x48], rax
movsxd rax, ecx
mov qword [rsp + 0x60], r11
mov rcx, qword [r10 + rax*8 + 0x2b8]
xor r10d, r10d
mov eax, 0x7e4
mov qword [rsp + 0x10], r8
mov qword [rbp - 0x70], rdx
mov dword [rbp - 0x58], edx
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x18], rax
mov qword [rsp + 8], r10
test rsi, rsi
je 0x140070c4d
mov rax, qword [rbp + 0x78]
mov rcx, qword [rbp + 0xa8]
movsxd rdi, dword [rcx + rbx*4]
mov rdx, rax
sub rdx, rdi
cmp rdx, rax
jae 0x140070c35
cmp rdi, r9
ja 0x140070c35
lea rax, [r10 + r8]
and rdx, r13
cmp rax, r13
ja 0x140070c31
lea rax, [rdx + r10]
cmp rax, r13
ja 0x140070c31
movzx eax, byte [rax + r14]
lea rcx, [r8 + r14]
cmp byte [rcx + r10], al
jne 0x140070c2a
lea r10, [rcx + r15]
xor r8d, r8d
lea r11, [rdx + r14]
lea r9, [r10 - 4]
cmp rcx, r9
ja 0x140070b7a
mov rdx, r11
sub rdx, rcx
mov eax, dword [rcx + rdx]
cmp dword [rcx], eax
jne 0x140070b7a
add rcx, 4
add r8, 4
cmp rcx, r9
jbe 0x140070b66
cmp rcx, r10
jae 0x140070b94
nop
movzx eax, byte [rcx]
cmp byte [r8 + r11], al
jne 0x140070b94
inc rcx
inc r8
cmp rcx, r10
jb 0x140070b80
cmp r8, 3
jae 0x140070ba5
cmp r8, 2
jne 0x140070c1c
cmp rbx, r8
jae 0x140070c1c
mov r11, qword [rsp + 0x18]
mov r9, r8
imul r9, r9, 0x87
add r9, 0x78f
cmp r11, r9
jae 0x140070c1c
test rbx, rbx
je 0x140070be3
movzx ecx, bl
mov edx, 0x1ca10
mov rax, 0xffffffffffffffd9
and cl, 0xe
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r9, rax
mov rax, qword [rbp + 0x78]
mov rcx, qword [rbp + 0xa8]
cmp r11, r9
jae 0x140070c8f
mov qword [rsp + 0x18], r9
mov r10, r8
mov qword [rsp + 8], r8
mov qword [rbp - 0x70], r8
mov r8, qword [rsp + 0x10]
mov qword [rsp + 0x20], r9
mov r9, qword [rsp]
mov qword [rbp - 0x68], rdi
jmp 0x140070c35
mov r10, qword [rsp + 8]
mov r8, qword [rsp + 0x10]
mov r9, qword [rsp]
mov rcx, qword [rbp + 0xa8]
mov rax, qword [rbp + 0x78]
inc rbx
cmp rbx, rsi
jb 0x140070b00
mov r11, qword [rsp + 0x60]
mov rdi, qword [rbp + 0xa0]
mov ecx, dword [rdi + 0x6c]
lea rdx, [r8 + r14]
mov r14, qword [r8 + r14]
mov qword [rsp + 0x40], rdx
imul r14, qword [rdi + 0x60]
shr r14, 0x31
mov rax, r14
mov qword [rsp + 0x48], r14
shl rax, cl
movzx ecx, word [r11 + r14*2]
lea r15, [r12 + rax*4]
mov rax, qword [rdi + 0x58]
mov qword [rsp + 0x50], rcx
cmp rcx, rax
jbe 0x140070c9f
mov esi, ecx
sub rsi, rax
jmp 0x140070ca1
mov r10, qword [rsp + 8]
mov r8, qword [rsp + 0x10]
mov r9, qword [rsp]
jmp 0x140070c35
xor esi, esi
mov r13d, dword [rdx]
mov rdi, rcx
cmp rcx, rsi
jbe 0x140070def
mov rax, qword [rbp + 0xa0]
mov r14, rdx
mov r12d, dword [rax + 0x68]
nop
mov rbx, qword [rbp + 0x78]
dec rdi
mov rax, r12
and rax, rdi
mov edx, dword [r15 + rax*4]
sub rbx, rdx
cmp rbx, r9
ja 0x140070ddb
mov rcx, qword [rbp + 0x88]
lea rax, [r10 + r8]
and rdx, rcx
cmp rax, rcx
ja 0x140070dd2
lea rax, [rdx + r10]
cmp rax, rcx
ja 0x140070dd2
mov r11, qword [rbp + 0x80]
movzx eax, byte [rax + r11]
cmp byte [r14 + r10], al
jne 0x140070dd2
cmp r13d, dword [rdx + r11]
jne 0x140070dd2
mov rax, qword [rsp + 0x30]
lea rcx, [r14 + 4]
lea r11, [rdx + r11 + 4]
lea r10, [rcx + rax - 4]
xor edx, edx
lea r9, [r10 - 4]
cmp rcx, r9
ja 0x140070d5f
mov r8, r11
sub r8, rcx
mov eax, dword [r8 + rcx]
cmp dword [rcx], eax
jne 0x140070d5a
add rcx, 4
add rdx, 4
cmp rcx, r9
jbe 0x140070d45
mov r8, qword [rsp + 0x10]
cmp rcx, r10
jae 0x140070d78
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x140070d78
inc rcx
inc rdx
cmp rcx, r10
jb 0x140070d64
mov rax, rbx
add rdx, 4
xor ecx, ecx
shr rax, 1
je 0x140070d8d
inc ecx
shr rax, 1
jne 0x140070d86
mov r9, qword [rsp]
imul ecx, ecx, 0x1e
mov eax, ecx
mov rcx, rdx
imul rcx, rcx, 0x87
sub rcx, rax
add rcx, 0x780
cmp qword [rsp + 0x18], rcx
jae 0x140070dcd
mov qword [rsp + 0x18], rcx
mov r10, rdx
mov qword [rsp + 8], rdx
mov qword [rbp - 0x70], rdx
mov qword [rbp - 0x68], rbx
mov qword [rsp + 0x20], rcx
jmp 0x140070dd2
mov r10, qword [rsp + 8]
cmp rdi, rsi
ja 0x140070cc0
mov r14, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x40]
mov r11, qword [rsp + 0x60]
mov rdi, qword [rbp + 0xa0]
mov rbx, qword [rbp + 0x78]
mov r8, qword [rsp + 0x20]
mov eax, dword [rdi + 0x68]
and rax, rcx
mov dword [r15 + rax*4], ebx
inc word [r11 + r14*2]
cmp r8, 0x7e4
jne 0x140070fc3
mov r12, qword [rdi + 0x78]
mov r13, qword [r12 + 0x28]
mov rax, r13
shr rax, 7
cmp qword [r12 + 0x30], rax
jb 0x140071b49
mov esi, dword [rdx]
mov r15, qword [rsp + 0x58]
mov r14d, 2
imul esi, esi, 0x1e35a7bd
shr rsi, 0x11
and esi, 0x7ffe
nop word [rax + rax]
inc r13
mov qword [r12 + 0x28], r13
mov rax, qword [r15 + 0x20]
movzx ecx, byte [rsi + rax]
test cl, cl
je 0x140070fa0
mov rax, qword [r15 + 0x18]
movzx r11d, cl
movzx edi, word [rax + rsi*2]
cmp r11, qword [rsp + 0x30]
ja 0x140070fa0
mov rbx, qword [r15]
mov eax, r11d
xor r9d, r9d
mov ecx, dword [rbx + r11*4 + 0x20]
imul rax, rdi
add rcx, rax
add rcx, qword [rbx + 0xa8]
lea r10, [rcx + r11]
lea r8, [r10 - 4]
cmp rcx, r8
ja 0x140070ed9
sub rdx, rcx
nop dword [rax + rax]
mov eax, dword [rdx + rcx]
cmp dword [rcx], eax
jne 0x140070ed4
add rcx, 4
add r9, 4
cmp rcx, r8
jbe 0x140070ec0
mov rdx, qword [rsp + 0x40]
cmp rcx, r10
jae 0x140070ef4
nop
movzx eax, byte [rcx]
cmp byte [rdx + r9], al
jne 0x140070ef4
inc rcx
inc r9
cmp rcx, r10
jb 0x140070ee0
mov eax, dword [r15 + 0xc]
add rax, r9
cmp rax, r11
jbe 0x140070f9b
test r9, r9
je 0x140070f9b
mov rax, qword [r15 + 0x10]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [rbx + r11]
and eax, 0x3f
lea rdx, [rax + r8*4]
mov rax, qword [rbp - 0x50]
shl rdx, cl
add rdx, rdi
add rdx, qword [rsp + 0x68]
lea r8, [rdx + rax + 1]
cmp r8, qword [rbp - 0x48]
ja 0x140070f9b
mov rax, r8
xor ecx, ecx
shr rax, 1
je 0x140070f5d
inc ecx
shr rax, 1
jne 0x140070f56
imul ecx, ecx, 0x1e
mov eax, ecx
mov rcx, r9
imul rcx, rcx, 0x87
sub rcx, rax
add rcx, 0x780
cmp rcx, qword [rsp + 0x20]
jb 0x140070f9b
sub r11d, r9d
inc qword [r12 + 0x30]
mov qword [rbp - 0x68], r8
mov dword [rbp - 0x58], r11d
mov qword [rbp - 0x70], r9
mov r8, rcx
mov qword [rsp + 0x20], rcx
jmp 0x140070fa0
mov r8, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x40]
inc rsi
dec r14
jne 0x140070e60
mov rbx, qword [rbp + 0x78]
mov rdi, qword [rbp + 0xa0]
cmp r8, 0x7e4
jbe 0x140071b49
mov r15, qword [rsp + 0x30]
mov r13, qword [rbp - 0x70]
xor esi, esi
dec r15
mov dword [rsp + 0x40], esi
mov r11, qword [rbp + 0x98]
mov qword [rsp + 0x30], r15
cmp dword [r11 + 4], 5
jge 0x140070ffe
lea rax, [r13 - 1]
mov r10, r15
cmp rax, r15
cmovb r10, rax
jmp 0x140071001
mov r10, rsi
mov rdx, qword [rsp + 0x78]
mov r14, qword [rbp + 0x80]
lea r13, [rbx + 1]
cmp r13, rdx
mov eax, 0x7e4
mov r9, rdx
cmovb r9, r13
mov qword [rsp], rax
mov rax, qword [rsp + 0x70]
lea rax, [rax + rbx + 1]
mov rcx, rdx
mov qword [rsp + 8], r10
cmp rax, rdx
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x60], r13
cmovb rcx, rax
cmp dword [r11 + 0x270], 0
mov qword [rsp + 0x10], r9
mov qword [rbp - 0x20], rcx
je 0x140071099
movzx ecx, byte [rbp + 0x70]
mov rax, rbx
and rax, qword [rbp + 0x88]
movzx r8d, byte [rax + r14]
mov eax, ecx
mov rcx, qword [rbp + 0x90]
movzx edx, byte [rax + rcx + 0x100]
movzx ecx, byte [r8 + rcx]
mov byte [rbp + 0x70], r8b
or rdx, rcx
xor esi, esi
movzx eax, byte [rdx + r11 + 0x275]
mov dword [rsp + 0x38], eax
mov rax, qword [r11 + 0x48]
mov r12, qword [rdi + 0x88]
mov qword [rsp + 0x50], rsi
mov qword [rbp - 0x30], rax
movsxd rax, dword [rsp + 0x38]
mov dword [rbp + 0x10], esi
mov rcx, qword [r11 + rax*8 + 0x2b8]
mov r11, qword [rdi + 0x80]
mov rbx, rsi
movsxd rsi, dword [rdi + 0x70]
mov qword [rbp - 0x18], rcx
mov rcx, qword [rbp + 0x88]
mov r8, r13
mov eax, 0x7e4
mov qword [rbp - 0x80], r11
and r8, rcx
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x18], r8
test rsi, rsi
je 0x140071259
mov rax, qword [rbp + 0xa8]
nop
movsxd rdi, dword [rax + rbx*4]
mov rdx, r13
sub rdx, rdi
cmp rdx, r13
jae 0x140071242
cmp rdi, r9
ja 0x140071242
lea rax, [r10 + r8]
and rdx, rcx
cmp rax, rcx
ja 0x14007123b
lea rax, [rdx + r10]
cmp rax, rcx
ja 0x14007123b
movzx eax, byte [rax + r14]
lea rcx, [r8 + r14]
cmp byte [r10 + rcx], al
jne 0x140071234
lea r10, [rcx + r15]
xor r8d, r8d
lea r11, [rdx + r14]
lea r9, [r10 - 4]
cmp rcx, r9
ja 0x14007117a
mov rdx, r11
sub rdx, rcx
mov eax, dword [rcx + rdx]
cmp dword [rcx], eax
jne 0x14007117a
add rcx, 4
add r8, 4
cmp rcx, r9
jbe 0x140071166
cmp rcx, r10
jae 0x140071194
nop
movzx eax, byte [rcx]
cmp byte [r8 + r11], al
jne 0x140071194
inc rcx
inc r8
cmp rcx, r10
jb 0x140071180
cmp r8, 3
jae 0x1400711a9
cmp r8, 2
jne 0x140071225
cmp rbx, r8
jae 0x140071225
mov r11, qword [rsp + 0x68]
mov r9, r8
imul r9, r9, 0x87
add r9, 0x78f
cmp r11, r9
jae 0x140071225
test rbx, rbx
je 0x1400711e7
movzx ecx, bl
mov edx, 0x1ca10
mov rax, 0xffffffffffffffd9
and cl, 0xe
sar rdx, cl
and edx, 0xe
sub rax, rdx
add r9, rax
mov rcx, qword [rbp + 0x88]
mov rax, qword [rbp + 0xa8]
cmp r11, r9
jae 0x140071299
mov qword [rsp + 0x68], r9
mov r10, r8
mov qword [rsp + 8], r8
mov qword [rsp + 0x50], r8
mov r8, qword [rsp + 0x18]
mov qword [rsp], r9
mov r9, qword [rsp + 0x10]
mov qword [rsp + 0x48], rdi
jmp 0x140071242
mov r10, qword [rsp + 8]
mov r8, qword [rsp + 0x18]
mov r9, qword [rsp + 0x10]
mov rcx, qword [rbp + 0x88]
mov rax, qword [rbp + 0xa8]
inc rbx
cmp rbx, rsi
jb 0x140071100
mov r11, qword [rbp - 0x80]
mov rdi, qword [rbp + 0xa0]
mov ecx, dword [rdi + 0x6c]
mov r15, qword [r8 + r14]
lea rdx, [r8 + r14]
imul r15, qword [rdi + 0x60]
shr r15, 0x31
mov qword [rsp + 0x58], rdx
mov rax, r15
mov qword [rbp - 0x48], r15
shl rax, cl
movzx ecx, word [r11 + r15*2]
lea r14, [r12 + rax*4]
mov rax, qword [rdi + 0x58]
mov qword [rbp - 0x10], rcx
cmp rcx, rax
jbe 0x1400712aa
mov esi, ecx
sub rsi, rax
jmp 0x1400712ac
mov r10, qword [rsp + 8]
mov r8, qword [rsp + 0x18]
mov r9, qword [rsp + 0x10]
jmp 0x140071242
xor esi, esi
mov r13d, dword [rdx]
mov rdi, rcx
cmp rcx, rsi
jbe 0x1400713ff
mov rax, qword [rbp + 0xa0]
mov r15, rdx
mov r12d, dword [rax + 0x68]
nop dword [rax]
mov rbx, qword [rsp + 0x60]
dec rdi
mov rax, r12
and rax, rdi
mov edx, dword [r14 + rax*4]
sub rbx, rdx
cmp rbx, r9
ja 0x1400713ee
mov rcx, qword [rbp + 0x88]
lea rax, [r10 + r8]
and rdx, rcx
cmp rax, rcx
ja 0x1400713e5
lea rax, [rdx + r10]
cmp rax, rcx
ja 0x1400713e5
mov r11, qword [rbp + 0x80]
movzx eax, byte [rax + r11]
cmp byte [r10 + r15], al
jne 0x1400713e5
cmp r13d, dword [rdx + r11]
jne 0x1400713e5
mov rax, qword [rsp + 0x30]
lea rcx, [r15 + 4]
lea r11, [rdx + r11 + 4]
lea r10, [rcx + rax - 4]
xor edx, edx
lea r9, [r10 - 4]
cmp rcx, r9
ja 0x140071370
mov r8, r11
sub r8, rcx
mov eax, dword [rcx + r8]
cmp dword [rcx], eax
jne 0x14007136b
add rcx, 4
add rdx, 4
cmp rcx, r9
jbe 0x140071356
mov r8, qword [rsp + 0x18]
cmp rcx, r10
jae 0x140071389
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x140071389
inc rcx
inc rdx
cmp rcx, r10
jb 0x140071375
mov rax, rbx
add rdx, 4
xor ecx, ecx
shr rax, 1
je 0x14007139e
inc ecx
shr rax, 1
jne 0x140071397
mov r9, qword [rsp + 0x10]
imul ecx, ecx, 0x1e
mov eax, ecx
mov rcx, rdx
imul rcx, rcx, 0x87
sub rcx, rax
add rcx, 0x780
cmp qword [rsp + 0x68], rcx
jae 0x1400713e0
mov qword [rsp + 0x68], rcx
mov r10, rdx
mov qword [rsp + 8], rdx
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x48], rbx
mov qword [rsp], rcx
jmp 0x1400713e5
mov r10, qword [rsp + 8]
cmp rdi, rsi
ja 0x1400712d0
mov r15, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rsp + 0x58]
mov r11, qword [rbp - 0x80]
mov rdi, qword [rbp + 0xa0]
mov r8, qword [rsp]
mov eax, dword [rdi + 0x68]
and rax, rcx
mov rcx, qword [rsp + 0x60]
mov dword [r14 + rax*4], ecx
inc word [r11 + r15*2]
cmp r8, 0x7e4
jne 0x1400715cb
mov r12, qword [rdi + 0x78]
mov r13, qword [r12 + 0x28]
mov rax, r13
shr rax, 7
cmp qword [r12 + 0x30], rax
jb 0x1400715cb
mov esi, dword [rdx]
mov r15, qword [rbp - 0x18]
mov r14d, 2
imul esi, esi, 0x1e35a7bd
shr rsi, 0x11
and esi, 0x7ffe
nop word [rax + rax]
inc r13
mov qword [r12 + 0x28], r13
mov rax, qword [r15 + 0x20]
movzx ecx, byte [rsi + rax]
test cl, cl
je 0x1400715ae
mov rax, qword [r15 + 0x18]
movzx r11d, cl
movzx edi, word [rax + rsi*2]
cmp r11, qword [rsp + 0x30]
ja 0x1400715ae
mov rbx, qword [r15]
mov eax, r11d
xor r9d, r9d
mov ecx, dword [rbx + r11*4 + 0x20]
imul rax, rdi
add rcx, rax
add rcx, qword [rbx + 0xa8]
lea r10, [rcx + r11]
lea r8, [r10 - 4]
cmp rcx, r8
ja 0x1400714e9
sub rdx, rcx
nop dword [rax + rax]
mov eax, dword [rcx + rdx]
cmp dword [rcx], eax
jne 0x1400714e4
add rcx, 4
add r9, 4
cmp rcx, r8
jbe 0x1400714d0
mov rdx, qword [rsp + 0x58]
cmp rcx, r10
jae 0x140071504
nop
movzx eax, byte [rcx]
cmp byte [r9 + rdx], al
jne 0x140071504
inc rcx
inc r9
cmp rcx, r10
jb 0x1400714f0
mov eax, dword [r15 + 0xc]
add rax, r9
cmp rax, r11
jbe 0x1400715aa
test r9, r9
je 0x1400715aa
mov rax, qword [r15 + 0x10]
mov r8, r11
sub r8, r9
movzx edx, r8b
add dl, dl
lea ecx, [rdx + r8]
add cl, cl
shr rax, cl
movzx ecx, byte [r11 + rbx]
and eax, 0x3f
lea rdx, [rax + r8*4]
mov rax, qword [rbp - 0x50]
shl rdx, cl
add rdx, rdi
add rdx, qword [rbp - 0x20]
lea r8, [rdx + rax + 1]
cmp r8, qword [rbp - 0x30]
ja 0x1400715aa
mov rax, r8
xor ecx, ecx
shr rax, 1
je 0x14007156c
inc ecx
shr rax, 1
jne 0x140071565
imul ecx, ecx, 0x1e
mov eax, ecx
mov rcx, r9
imul rcx, rcx, 0x87
sub rcx, rax
add rcx, 0x780
cmp rcx, qword [rsp]
jb 0x1400715aa
sub r11d, r9d
inc qword [r12 + 0x30]
mov qword [rsp + 0x48], r8
mov dword [rbp + 0x10], r11d
mov qword [rsp + 0x50], r9
mov r8, rcx
mov qword [rsp], rcx
jmp 0x1400715ae
mov r8, qword [rsp]
mov rdx, qword [rsp + 0x58]
inc rsi
dec r14
jne 0x140071470
mov rcx, qword [rsp + 0x60]
mov rdi, qword [rbp + 0xa0]
mov rax, qword [rsp + 0x20]
mov r15, qword [rsp + 0x28]
add rax, 0xaf
cmp r8, rax
jb 0x140071636
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
mov rax, qword [rbp + 0x10]
mov rbx, rcx
mov qword [rbp + 0x78], rcx
mov ecx, dword [rsp + 0x40]
inc ecx
inc r15
mov qword [rbp - 0x70], r13
mov qword [rbp - 0x68], r14
mov qword [rsp + 0x20], r8
mov qword [rbp - 0x58], rax
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x40], ecx
cmp ecx, 4
jge 0x140071642
lea rax, [rbx + 8]
cmp rax, qword [rbp - 0x78]
jae 0x140071642
mov r15, qword [rsp + 0x30]
dec r15
xor esi, esi
jmp 0x140070fdb
mov rbx, qword [rbp + 0x78]
mov r13, qword [rbp - 0x70]
mov r14, qword [rbp - 0x68]
mov rax, qword [rbp - 0x38]
mov rdx, qword [rsp + 0x78]
mov r10, qword [rbp + 0xa8]
lea r12, [rax + r13*2]
mov rax, qword [rsp + 0x70]
mov r9, rdx
add rax, rbx
add r12, rbx
cmp rax, rdx
mov qword [rbp - 0x80], r12
cmovb r9, rax
add r9, qword [rbp - 0x50]
cmp r14, r9
ja 0x1400716f6
movsxd rax, dword [r10]
movsxd r8, dword [r10 + 4]
lea rcx, [r14 + 3]
mov rdx, rcx
sub rcx, r8
sub rdx, rax
cmp r14, rax
jne 0x140071696
xor r8d, r8d
jmp 0x1400716fa
cmp r14, r8
jne 0x1400716a3
mov r8d, 1
jmp 0x1400716fa
cmp rdx, 7
jae 0x1400716be
movzx ecx, dl
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x1400716fa
cmp rcx, 7
jae 0x1400716d6
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x1400716fa
movsxd rax, dword [r10 + 8]
cmp r14, rax
jne 0x1400716e7
mov r8d, 2
jmp 0x1400716fa
movsxd rax, dword [r10 + 0xc]
mov r8d, 3
cmp r14, rax
je 0x1400716fa
lea r8, [r14 + 0xf]
cmp r14, r9
ja 0x14007178d
test r8, r8
je 0x14007178d
mov eax, dword [r10 + 8]
mov edx, dword [r10]
mov ecx, dword [rbp - 0x68]
mov dword [r10 + 0xc], eax
mov eax, dword [r10 + 4]
mov dword [r10], ecx
mov dword [r10 + 8], eax
mov dword [r10 + 4], edx
mov r9d, dword [rdi + 0x70]
cmp r9d, 4
jle 0x14007178d
lea eax, [rcx - 1]
mov dword [r10 + 0x10], eax
lea eax, [rcx + 1]
mov dword [r10 + 0x14], eax
lea eax, [rcx - 2]
mov dword [r10 + 0x18], eax
lea eax, [rcx + 2]
mov dword [r10 + 0x1c], eax
lea eax, [rcx - 3]
mov dword [r10 + 0x20], eax
lea eax, [rcx + 3]
mov dword [r10 + 0x24], eax
cmp r9d, 0xa
jle 0x14007178d
lea eax, [rdx - 1]
mov dword [r10 + 0x28], eax
lea eax, [rdx + 1]
mov dword [r10 + 0x2c], eax
lea eax, [rdx - 2]
mov dword [r10 + 0x30], eax
lea eax, [rdx + 2]
mov dword [r10 + 0x34], eax
lea eax, [rdx - 3]
mov dword [r10 + 0x38], eax
lea eax, [rdx + 3]
mov dword [r10 + 0x3c], eax
movzx eax, byte [rbp - 0x58]
mov r12, qword [rbp + 0xb8]
mov esi, dword [rbp - 0x70]
shl eax, 0x19
mov dword [r12], r15d
or eax, esi
mov dword [r12 + 4], eax
mov rax, qword [rbp + 0x98]
mov r11d, dword [rax + 0x3c]
mov edi, dword [rax + 0x38]
lea rax, [r11 + 0x10]
cmp r8, rax
jae 0x1400717d4
mov word [r12 + 0xe], r8w
mov dword [r12 + 8], 0
jmp 0x140071865
lea ecx, [rdi + 2]
mov edx, 1
shl rdx, cl
xor ecx, ecx
sub rdx, r11
lea rbx, [rdx + r8 - 0x10]
mov rax, rbx
shr rax, 1
je 0x1400717f8
inc ecx
shr rax, 1
jne 0x1400717f1
lea eax, [rcx - 1]
mov r9, rbx
mov ecx, eax
mov r8d, eax
mov r10d, eax
shr r9, cl
sub r8, rdi
mov rcx, rdi
and r9d, 1
lea edx, [r8 - 1]
mov eax, 1
add dx, dx
shl ax, cl
shl r8w, 0xa
add dx, r9w
dec ax
shl dx, cl
and ax, bx
mov ecx, r10d
add dx, ax
lea rax, [r9 + 2]
add dx, r11w
shl rax, cl
mov rcx, rdi
add dx, 0x10
sub rbx, rax
or dx, r8w
shr rbx, cl
mov word [r12 + 0xe], dx
mov dword [r12 + 8], ebx
mov rbx, qword [rbp + 0x78]
mov ecx, dword [rbp - 0x58]
mov eax, 0x3ff
mov r10d, 0
test word [r12 + 0xe], ax
sete r10b
add ecx, esi
movsxd r8, ecx
cmp r15, 6
jae 0x140071896
movzx r9d, r15w
mov eax, reloc.WS2_32.dll_socket
jmp 0x14007191c
cmp r15, 0x82
jae 0x1400718cd
lea r9, [r15 - 2]
xor ecx, ecx
mov rax, r9
shr rax, 1
je 0x1400718b7
nop dword [rax]
inc ecx
shr rax, 1
jne 0x1400718b0
dec ecx
mov eax, reloc.WS2_32.dll_socket
shr r9, cl
inc cx
add cx, cx
add r9w, cx
jmp 0x14007191c
cmp r15, 0x842
jae 0x1400718f3
lea rcx, [r15 - 0x42]
xor eax, eax
shr rcx, 1
je 0x1400718e8
inc eax
shr rcx, 1
jne 0x1400718e1
lea r9d, [rax + 0xa]
mov eax, reloc.WS2_32.dll_socket
jmp 0x14007191c
mov eax, reloc.WS2_32.dll_socket
cmp r15, 0x1842
jae 0x140071907
lea r9d, [rax - 2]
jmp 0x14007191c
cmp r15, 0x5842
jae 0x140071918
mov r9d, reloc.WS2_32.dll_shutdown
jmp 0x14007191c
movzx r9d, ax
cmp r8, 0xa
jae 0x140071929
sub r8w, 2
jmp 0x140071981
cmp r8, 0x86
jae 0x140071959
add r8, 0xfffffffffffffffa
xor ecx, ecx
mov rax, r8
shr rax, 1
je 0x140071947
inc ecx
shr rax, 1
jne 0x140071940
dec ecx
shr r8, cl
add cx, 2
add cx, cx
add r8w, cx
jmp 0x140071981
cmp r8, 0x846
jae 0x14007197d
lea rcx, [r8 - 0x46]
xor eax, eax
shr rcx, 1
je 0x140071977
nop dword [rax]
inc eax
shr rcx, 1
jne 0x140071970
lea r8d, [rax + 0xc]
jmp 0x140071981
movzx r8d, ax
movzx edx, r9w
movzx eax, r8w
and dx, 7
and ax, 7
shl dx, 3
or dx, ax
test r10d, r10d
je 0x1400719b8
cmp r9w, 8
jae 0x1400719b8
cmp r8w, 0x10
jae 0x1400719b8
cmp r8w, 8
jb 0x1400719ec
or dx, 0x40
jmp 0x1400719ec
movzx eax, r9w
shr eax, 3
lea ecx, [rax + rax*2]
movzx eax, r8w
mov r8d, 0xc0
shr eax, 3
add ecx, eax
mov eax, 0x520d40
add ecx, ecx
shr eax, cl
add cx, 2
shl cx, 5
and ax, r8w
add ax, cx
or dx, ax
mov rax, qword [rbp + 0xc8]
lea rdi, [r13 + rbx]
xor esi, esi
mov word [r12 + 0xc], dx
add qword [rax], r15
mov rax, qword [rbp - 0x40]
add r12, 0x10
cmp rdi, rax
lea r11, [rbx + 2]
mov rbx, rax
mov rax, r13
mov qword [rbp + 0xb8], r12
cmovb rbx, rdi
shr rax, 2
mov qword [rsp + 0x28], rsi
cmp r14, rax
jae 0x140071a51
lea rax, [r14*4]
sub r13, rax
add r13, qword [rbp + 0x78]
cmp r11, r13
cmova r13, r11
mov r11, r13
cmp rbx, r13
cmovb r11, rbx
cmp r11, rbx
jae 0x140071ac2
mov rsi, qword [rbp + 0x88]
mov r12, qword [rbp + 0x80]
mov r13, qword [rbp + 0xa0]
nop dword [rax + rax]
mov rcx, qword [r13 + 0x80]
mov edx, dword [r13 + 0x68]
mov r10, qword [r13 + 0x88]
mov rax, r11
and rax, rsi
mov r9, qword [rax + r12]
imul r9, qword [r13 + 0x60]
shr r9, 0x31
lea r8, [rcx + r9*2]
mov ecx, dword [r13 + 0x6c]
movzx eax, word [r8]
shl r9, cl
and rdx, rax
inc ax
add rdx, r9
mov word [r8], ax
mov dword [r10 + rdx*4], r11d
inc r11
cmp r11, rbx
jb 0x140071a70
mov rsi, qword [rsp + 0x28]
mov rbx, rdi
mov qword [rbp + 0x78], rbx
mov r13, qword [rbp + 0x88]
mov r14, qword [rbp + 0x80]
mov r11, qword [rbp - 0x78]
mov rdi, qword [rbp + 0xa0]
mov r10, qword [rbp + 0x98]
mov r8, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
lea rax, [rbx + 8]
cmp rax, r11
jb 0x1400709f0
mov r9, qword [rbp + 0xb8]
mov r15, qword [rsp + 0x128]
mov r12, qword [rsp + 0x130]
mov rax, qword [rbp + 0xb0]
sub r9, qword [rbp - 0x28]
sub r11, rbx
add r11, rsi
sar r9, 4
mov qword [rax], r11
mov rax, qword [rbp + 0xc0]
add qword [rax], r9
add rsp, 0x138
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rsi, qword [rsp + 0x28]
mov r12, qword [rbp - 0x80]
inc rbx
inc rsi
mov qword [rbp + 0x78], rbx
mov qword [rbp + 0x70], rbx
mov qword [rsp + 0x28], rsi
cmp rbx, r12
jbe 0x140071ac9
mov rax, qword [rbp - 0x38]
mov r11, qword [rbp - 0x78]
lea rax, [r12 + rax*4]
add r11, 0xfffffffffffffff9
cmp rbx, rax
jbe 0x140071c15
mov r13, qword [rbp + 0x88]
mov r14, qword [rbp + 0x80]
lea rax, [rbx + 0x10]
cmp rax, r11
cmovb r11, rax
cmp rbx, r11
jae 0x140071ad7
mov rax, r11
sub rax, rbx
dec rax
shr rax, 2
lea rsi, [rsi + rax*4 + 4]
mov qword [rsp + 0x28], rsi
mov rcx, qword [rdi + 0x80]
mov edx, dword [rdi + 0x68]
mov r10, qword [rdi + 0x88]
mov rax, rbx
and rax, r13
mov r9, qword [rax + r14]
imul r9, qword [rdi + 0x60]
shr r9, 0x31
lea r8, [rcx + r9*2]
mov ecx, dword [rdi + 0x6c]
movzx eax, word [r8]
shl r9, cl
and rdx, rax
inc ax
add rdx, r9
mov word [r8], ax
mov dword [r10 + rdx*4], ebx
add rbx, 4
cmp rbx, r11
jb 0x140071bc0
mov qword [rbp + 0x78], rbx
jmp 0x140071ad7
lea rax, [rbx + 8]
cmp rax, r11
cmovb r11, rax
cmp rbx, r11
jae 0x140071ac9
mov r13, qword [rbp + 0x88]
mov r14, qword [rbp + 0x80]
mov rax, r11
sub rax, rbx
dec rax
shr rax, 1
lea rsi, [rsi + rax*2 + 2]
mov qword [rsp + 0x28], rsi
nop dword [rax]
mov rcx, qword [rdi + 0x80]
mov edx, dword [rdi + 0x68]
mov r10, qword [rdi + 0x88]
mov rax, rbx
and rax, r13
mov r9, qword [rax + r14]
imul r9, qword [rdi + 0x60]
shr r9, 0x31
lea r8, [rcx + r9*2]
mov ecx, dword [rdi + 0x6c]
movzx eax, word [r8]
shl r9, cl
and rdx, rax
inc ax
add rdx, r9
mov word [r8], ax
mov dword [r10 + rdx*4], ebx
add rbx, 2
cmp rbx, r11
jb 0x140071c50
mov qword [rbp + 0x78], rbx
jmp 0x140071ad7