Function at 0x140070850
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 0x1400708d7
lea rax, [r11 - 7]
mov qword [rbp - 0x40], rax
jmp 0x1400708db
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 0x140070980
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 0x140070976
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 0x140071ac7
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 0x140070a35
cmp rbx, 1
jb 0x1400709f2
lea rax, [rbx - 1]
and rax, r13
movzx r8d, byte [rax + r14]
jmp 0x1400709f5
xor r8b, r8b
mov byte [rbp + 0x70], r8b
cmp rbx, 2
jb 0x140070a0b
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 0x140070bfd
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 0x140070be5
cmp rdi, r9
ja 0x140070be5
lea rax, [r10 + r8]
and rdx, r13
cmp rax, r13
ja 0x140070be1
lea rax, [rdx + r10]
cmp rax, r13
ja 0x140070be1
movzx eax, byte [rax + r14]
lea rcx, [r8 + r14]
cmp byte [rcx + r10], al
jne 0x140070bda
lea r10, [rcx + r15]
xor r8d, r8d
lea r11, [rdx + r14]
lea r9, [r10 - 4]
cmp rcx, r9
ja 0x140070b2a
mov rdx, r11
sub rdx, rcx
mov eax, dword [rcx + rdx]
cmp dword [rcx], eax
jne 0x140070b2a
add rcx, 4
add r8, 4
cmp rcx, r9
jbe 0x140070b16
cmp rcx, r10
jae 0x140070b44
nop
movzx eax, byte [rcx]
cmp byte [r8 + r11], al
jne 0x140070b44
inc rcx
inc r8
cmp rcx, r10
jb 0x140070b30
cmp r8, 3
jae 0x140070b55
cmp r8, 2
jne 0x140070bcc
cmp rbx, r8
jae 0x140070bcc
mov r11, qword [rsp + 0x18]
mov r9, r8
imul r9, r9, 0x87
add r9, 0x78f
cmp r11, r9
jae 0x140070bcc
test rbx, rbx
je 0x140070b93
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 0x140070c3f
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 0x140070be5
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 0x140070ab0
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 0x140070c4f
mov esi, ecx
sub rsi, rax
jmp 0x140070c51
mov r10, qword [rsp + 8]
mov r8, qword [rsp + 0x10]
mov r9, qword [rsp]
jmp 0x140070be5
xor esi, esi
mov r13d, dword [rdx]
mov rdi, rcx
cmp rcx, rsi
jbe 0x140070d9f
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 0x140070d8b
mov rcx, qword [rbp + 0x88]
lea rax, [r10 + r8]
and rdx, rcx
cmp rax, rcx
ja 0x140070d82
lea rax, [rdx + r10]
cmp rax, rcx
ja 0x140070d82
mov r11, qword [rbp + 0x80]
movzx eax, byte [rax + r11]
cmp byte [r14 + r10], al
jne 0x140070d82
cmp r13d, dword [rdx + r11]
jne 0x140070d82
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 0x140070d0f
mov r8, r11
sub r8, rcx
mov eax, dword [r8 + rcx]
cmp dword [rcx], eax
jne 0x140070d0a
add rcx, 4
add rdx, 4
cmp rcx, r9
jbe 0x140070cf5
mov r8, qword [rsp + 0x10]
cmp rcx, r10
jae 0x140070d28
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x140070d28
inc rcx
inc rdx
cmp rcx, r10
jb 0x140070d14
mov rax, rbx
add rdx, 4
xor ecx, ecx
shr rax, 1
je 0x140070d3d
inc ecx
shr rax, 1
jne 0x140070d36
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 0x140070d7d
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 0x140070d82
mov r10, qword [rsp + 8]
cmp rdi, rsi
ja 0x140070c70
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 0x140070f73
mov r12, qword [rdi + 0x78]
mov r13, qword [r12 + 0x28]
mov rax, r13
shr rax, 7
cmp qword [r12 + 0x30], rax
jb 0x140071af9
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 0x140070f50
mov rax, qword [r15 + 0x18]
movzx r11d, cl
movzx edi, word [rax + rsi*2]
cmp r11, qword [rsp + 0x30]
ja 0x140070f50
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 0x140070e89
sub rdx, rcx
nop dword [rax + rax]
mov eax, dword [rdx + rcx]
cmp dword [rcx], eax
jne 0x140070e84
add rcx, 4
add r9, 4
cmp rcx, r8
jbe 0x140070e70
mov rdx, qword [rsp + 0x40]
cmp rcx, r10
jae 0x140070ea4
nop
movzx eax, byte [rcx]
cmp byte [rdx + r9], al
jne 0x140070ea4
inc rcx
inc r9
cmp rcx, r10
jb 0x140070e90
mov eax, dword [r15 + 0xc]
add rax, r9
cmp rax, r11
jbe 0x140070f4b
test r9, r9
je 0x140070f4b
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 0x140070f4b
mov rax, r8
xor ecx, ecx
shr rax, 1
je 0x140070f0d
inc ecx
shr rax, 1
jne 0x140070f06
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 0x140070f4b
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 0x140070f50
mov r8, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x40]
inc rsi
dec r14
jne 0x140070e10
mov rbx, qword [rbp + 0x78]
mov rdi, qword [rbp + 0xa0]
cmp r8, 0x7e4
jbe 0x140071af9
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 0x140070fae
lea rax, [r13 - 1]
mov r10, r15
cmp rax, r15
cmovb r10, rax
jmp 0x140070fb1
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 0x140071049
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 0x140071209
mov rax, qword [rbp + 0xa8]
nop
movsxd rdi, dword [rax + rbx*4]
mov rdx, r13
sub rdx, rdi
cmp rdx, r13
jae 0x1400711f2
cmp rdi, r9
ja 0x1400711f2
lea rax, [r10 + r8]
and rdx, rcx
cmp rax, rcx
ja 0x1400711eb
lea rax, [rdx + r10]
cmp rax, rcx
ja 0x1400711eb
movzx eax, byte [rax + r14]
lea rcx, [r8 + r14]
cmp byte [r10 + rcx], al
jne 0x1400711e4
lea r10, [rcx + r15]
xor r8d, r8d
lea r11, [rdx + r14]
lea r9, [r10 - 4]
cmp rcx, r9
ja 0x14007112a
mov rdx, r11
sub rdx, rcx
mov eax, dword [rcx + rdx]
cmp dword [rcx], eax
jne 0x14007112a
add rcx, 4
add r8, 4
cmp rcx, r9
jbe 0x140071116
cmp rcx, r10
jae 0x140071144
nop
movzx eax, byte [rcx]
cmp byte [r8 + r11], al
jne 0x140071144
inc rcx
inc r8
cmp rcx, r10
jb 0x140071130
cmp r8, 3
jae 0x140071159
cmp r8, 2
jne 0x1400711d5
cmp rbx, r8
jae 0x1400711d5
mov r11, qword [rsp + 0x68]
mov r9, r8
imul r9, r9, 0x87
add r9, 0x78f
cmp r11, r9
jae 0x1400711d5
test rbx, rbx
je 0x140071197
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 0x140071249
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 0x1400711f2
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 0x1400710b0
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 0x14007125a
mov esi, ecx
sub rsi, rax
jmp 0x14007125c
mov r10, qword [rsp + 8]
mov r8, qword [rsp + 0x18]
mov r9, qword [rsp + 0x10]
jmp 0x1400711f2
xor esi, esi
mov r13d, dword [rdx]
mov rdi, rcx
cmp rcx, rsi
jbe 0x1400713af
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 0x14007139e
mov rcx, qword [rbp + 0x88]
lea rax, [r10 + r8]
and rdx, rcx
cmp rax, rcx
ja 0x140071395
lea rax, [rdx + r10]
cmp rax, rcx
ja 0x140071395
mov r11, qword [rbp + 0x80]
movzx eax, byte [rax + r11]
cmp byte [r10 + r15], al
jne 0x140071395
cmp r13d, dword [rdx + r11]
jne 0x140071395
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 0x140071320
mov r8, r11
sub r8, rcx
mov eax, dword [rcx + r8]
cmp dword [rcx], eax
jne 0x14007131b
add rcx, 4
add rdx, 4
cmp rcx, r9
jbe 0x140071306
mov r8, qword [rsp + 0x18]
cmp rcx, r10
jae 0x140071339
movzx eax, byte [rcx]
cmp byte [rdx + r11], al
jne 0x140071339
inc rcx
inc rdx
cmp rcx, r10
jb 0x140071325
mov rax, rbx
add rdx, 4
xor ecx, ecx
shr rax, 1
je 0x14007134e
inc ecx
shr rax, 1
jne 0x140071347
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 0x140071390
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 0x140071395
mov r10, qword [rsp + 8]
cmp rdi, rsi
ja 0x140071280
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 0x14007157b
mov r12, qword [rdi + 0x78]
mov r13, qword [r12 + 0x28]
mov rax, r13
shr rax, 7
cmp qword [r12 + 0x30], rax
jb 0x14007157b
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 0x14007155e
mov rax, qword [r15 + 0x18]
movzx r11d, cl
movzx edi, word [rax + rsi*2]
cmp r11, qword [rsp + 0x30]
ja 0x14007155e
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 0x140071499
sub rdx, rcx
nop dword [rax + rax]
mov eax, dword [rcx + rdx]
cmp dword [rcx], eax
jne 0x140071494
add rcx, 4
add r9, 4
cmp rcx, r8
jbe 0x140071480
mov rdx, qword [rsp + 0x58]
cmp rcx, r10
jae 0x1400714b4
nop
movzx eax, byte [rcx]
cmp byte [r9 + rdx], al
jne 0x1400714b4
inc rcx
inc r9
cmp rcx, r10
jb 0x1400714a0
mov eax, dword [r15 + 0xc]
add rax, r9
cmp rax, r11
jbe 0x14007155a
test r9, r9
je 0x14007155a
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 0x14007155a
mov rax, r8
xor ecx, ecx
shr rax, 1
je 0x14007151c
inc ecx
shr rax, 1
jne 0x140071515
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 0x14007155a
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 0x14007155e
mov r8, qword [rsp]
mov rdx, qword [rsp + 0x58]
inc rsi
dec r14
jne 0x140071420
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 0x1400715e6
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 0x1400715f2
lea rax, [rbx + 8]
cmp rax, qword [rbp - 0x78]
jae 0x1400715f2
mov r15, qword [rsp + 0x30]
dec r15
xor esi, esi
jmp 0x140070f8b
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 0x1400716a6
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 0x140071646
xor r8d, r8d
jmp 0x1400716aa
cmp r14, r8
jne 0x140071653
mov r8d, 1
jmp 0x1400716aa
cmp rdx, 7
jae 0x14007166e
movzx ecx, dl
mov r8d, 0x9750468
shl cl, 2
sar r8, cl
and r8d, 0xf
jmp 0x1400716aa
cmp rcx, 7
jae 0x140071686
shl cl, 2
mov r8d, 0xfdb1ace
sar r8, cl
and r8d, 0xf
jmp 0x1400716aa
movsxd rax, dword [r10 + 8]
cmp r14, rax
jne 0x140071697
mov r8d, 2
jmp 0x1400716aa
movsxd rax, dword [r10 + 0xc]
mov r8d, 3
cmp r14, rax
je 0x1400716aa
lea r8, [r14 + 0xf]
cmp r14, r9
ja 0x14007173d
test r8, r8
je 0x14007173d
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 0x14007173d
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 0x14007173d
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 0x140071784
mov word [r12 + 0xe], r8w
mov dword [r12 + 8], 0
jmp 0x140071815
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 0x1400717a8
inc ecx
shr rax, 1
jne 0x1400717a1
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 0x140071846
movzx r9d, r15w
mov eax, reloc.WS2_32.dll_socket
jmp 0x1400718cc
cmp r15, 0x82
jae 0x14007187d
lea r9, [r15 - 2]
xor ecx, ecx
mov rax, r9
shr rax, 1
je 0x140071867
nop dword [rax]
inc ecx
shr rax, 1
jne 0x140071860
dec ecx
mov eax, reloc.WS2_32.dll_socket
shr r9, cl
inc cx
add cx, cx
add r9w, cx
jmp 0x1400718cc
cmp r15, 0x842
jae 0x1400718a3
lea rcx, [r15 - 0x42]
xor eax, eax
shr rcx, 1
je 0x140071898
inc eax
shr rcx, 1
jne 0x140071891
lea r9d, [rax + 0xa]
mov eax, reloc.WS2_32.dll_socket
jmp 0x1400718cc
mov eax, reloc.WS2_32.dll_socket
cmp r15, 0x1842
jae 0x1400718b7
lea r9d, [rax - 2]
jmp 0x1400718cc
cmp r15, 0x5842
jae 0x1400718c8
mov r9d, reloc.WS2_32.dll_shutdown
jmp 0x1400718cc
movzx r9d, ax
cmp r8, 0xa
jae 0x1400718d9
sub r8w, 2
jmp 0x140071931
cmp r8, 0x86
jae 0x140071909
add r8, 0xfffffffffffffffa
xor ecx, ecx
mov rax, r8
shr rax, 1
je 0x1400718f7
inc ecx
shr rax, 1
jne 0x1400718f0
dec ecx
shr r8, cl
add cx, 2
add cx, cx
add r8w, cx
jmp 0x140071931
cmp r8, 0x846
jae 0x14007192d
lea rcx, [r8 - 0x46]
xor eax, eax
shr rcx, 1
je 0x140071927
nop dword [rax]
inc eax
shr rcx, 1
jne 0x140071920
lea r8d, [rax + 0xc]
jmp 0x140071931
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 0x140071968
cmp r9w, 8
jae 0x140071968
cmp r8w, 0x10
jae 0x140071968
cmp r8w, 8
jb 0x14007199c
or dx, 0x40
jmp 0x14007199c
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 0x140071a01
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 0x140071a72
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 0x140071a20
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 0x1400709a0
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 0x140071a79
mov rax, qword [rbp - 0x38]
mov r11, qword [rbp - 0x78]
lea rax, [r12 + rax*4]
add r11, 0xfffffffffffffff9
cmp rbx, rax
jbe 0x140071bc5
mov r13, qword [rbp + 0x88]
mov r14, qword [rbp + 0x80]
lea rax, [rbx + 0x10]
cmp rax, r11
cmovb r11, rax
cmp rbx, r11
jae 0x140071a87
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 0x140071b70
mov qword [rbp + 0x78], rbx
jmp 0x140071a87
lea rax, [rbx + 8]
cmp rax, r11
cmovb r11, rax
cmp rbx, r11
jae 0x140071a79
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 0x140071c00
mov qword [rbp + 0x78], rbx
jmp 0x140071a87