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

Disassembly:
push rbx
sub rsp, 0xc0
xor eax, eax
mov qword [rsp + 0xb8], rdx
mov qword [rsp + 0xb0], rcx
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0xa0], rcx
mov byte [rsp + 0x9d], 0
lea rcx, section..data
mov qword [rsp + 0x90], rcx
mov byte [rsp + 0x8c], 0
mov byte [rsp + 0x8b], 0
mov rcx, qword [rsp + 0xb8]
mov edx, eax
mov r8d, 0x25
call sub.VCRUNTIME140.dll_memset
mov byte [rsp + 0xaf], reloc.WS2_32.dll_recv
cmp byte [rsp + 0xaf], 0
je 0x14000158f
mov rax, qword [rsp + 0xa0]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0xa0], rcx
mov dl, byte [rax]
mov byte [rsp + 0xae], dl
movzx r8d, dl
mov dword [rsp + 0x64], r8d
mov eax, dword [rsp + 0x64]
cmp eax, 0x66
jl 0x1400013f9
mov eax, dword [rsp + 0x64]
cmp eax, 0xf0
jl 0x1400013da
mov eax, dword [rsp + 0x64]
cmp eax, 0xf2
jl 0x1400013c6
mov eax, dword [rsp + 0x64]
cmp eax, 0xf3
jl 0x14000149e
mov eax, dword [rsp + 0x64]
cmp eax, 0xf3
je 0x140001475
jmp 0x14000156b
mov eax, dword [rsp + 0x64]
cmp eax, 0xf0
je 0x1400014c7
jmp 0x14000156b
mov eax, dword [rsp + 0x64]
cmp eax, 0x67
jl 0x140001519
mov eax, dword [rsp + 0x64]
cmp eax, 0x67
je 0x140001542
jmp 0x14000156b
mov eax, dword [rsp + 0x64]
cmp eax, 0x36
jl 0x140001444
mov eax, dword [rsp + 0x64]
cmp eax, 0x3e
jl 0x140001432
mov eax, dword [rsp + 0x64]
cmp eax, 0x64
jge 0x1400014f0
mov eax, dword [rsp + 0x64]
cmp eax, 0x3e
je 0x1400014f0
jmp 0x14000156b
mov eax, dword [rsp + 0x64]
cmp eax, 0x36
je 0x1400014f0
jmp 0x14000156b
mov eax, dword [rsp + 0x64]
cmp eax, 0x2e
jl 0x140001463
mov eax, dword [rsp + 0x64]
cmp eax, 0x2e
je 0x1400014f0
jmp 0x14000156b
mov eax, dword [rsp + 0x64]
cmp eax, 0x26
je 0x1400014f0
jmp 0x14000156b
mov al, byte [rsp + 0xae]
mov rcx, qword [rsp + 0xb8]
mov byte [rcx + 1], al
movzx edx, byte [rsp + 0x9d]
or edx, 4
mov byte [rsp + 0x9d], dl
jmp 0x140001575
mov al, byte [rsp + 0xae]
mov rcx, qword [rsp + 0xb8]
mov byte [rcx + 1], al
movzx edx, byte [rsp + 0x9d]
or edx, 2
mov byte [rsp + 0x9d], dl
jmp 0x140001575
mov al, byte [rsp + 0xae]
mov rcx, qword [rsp + 0xb8]
mov byte [rcx + 2], al
movzx edx, byte [rsp + 0x9d]
or edx, 0x20
mov byte [rsp + 0x9d], dl
jmp 0x140001575
mov al, byte [rsp + 0xae]
mov rcx, qword [rsp + 0xb8]
mov byte [rcx + 3], al
movzx edx, byte [rsp + 0x9d]
or edx, 0x40
mov byte [rsp + 0x9d], dl
jmp 0x140001575
mov al, byte [rsp + 0xae]
mov rcx, qword [rsp + 0xb8]
mov byte [rcx + 4], al
movzx edx, byte [rsp + 0x9d]
or edx, 8
mov byte [rsp + 0x9d], dl
jmp 0x140001575
mov al, byte [rsp + 0xae]
mov rcx, qword [rsp + 0xb8]
mov byte [rcx + 5], al
movzx edx, byte [rsp + 0x9d]
or edx, 0x10
mov byte [rsp + 0x9d], dl
jmp 0x140001575
jmp 0x140001570
jmp 0x140001594
jmp 0x14000157a
mov al, byte [rsp + 0xaf]
add al, 0xff
mov byte [rsp + 0xaf], al
jmp 0x14000133e
jmp 0x140001594
movzx eax, byte [rsp + 0x9d]
shl eax, 0x17
mov rcx, qword [rsp + 0xb8]
mov dword [rcx + 0x21], eax
cmp byte [rsp + 0x9d], 0
jne 0x1400015ca
movzx eax, byte [rsp + 0x9d]
or eax, 1
mov byte [rsp + 0x9d], al
movzx eax, byte [rsp + 0xae]
and eax, 0xf0
cmp eax, 0x40
jne 0x1400016de
mov rax, qword [rsp + 0xb8]
mov ecx, dword [rax + 0x21]
or ecx, 0x40000000
mov dword [rax + 0x21], ecx
movzx ecx, byte [rsp + 0xae]
and ecx, 0xf
sar ecx, 3
mov rax, qword [rsp + 0xb8]
mov byte [rax + 7], cl
cmp cl, 0
je 0x140001643
mov rax, qword [rsp + 0xa0]
movzx ecx, byte [rax]
and ecx, 0xf8
cmp ecx, 0xb8
jne 0x140001643
mov al, byte [rsp + 0x8b]
add al, 1
mov byte [rsp + 0x8b], al
movzx eax, byte [rsp + 0xae]
and eax, 7
sar eax, 2
mov rcx, qword [rsp + 0xb8]
mov byte [rcx + 8], al
movzx edx, byte [rsp + 0xae]
and edx, 3
sar edx, 1
mov rcx, qword [rsp + 0xb8]
mov byte [rcx + 9], dl
movzx r8d, byte [rsp + 0xae]
and r8d, 1
mov rcx, qword [rsp + 0xb8]
mov byte [rcx + 0xa], r8b
mov rcx, qword [rsp + 0xa0]
mov r9, rcx
add r9, 1
mov qword [rsp + 0xa0], r9
mov al, byte [rcx]
mov byte [rsp + 0xae], al
movzx r10d, al
and r10d, 0xf0
cmp r10d, 0x40
jne 0x1400016d9
mov al, byte [rsp + 0xae]
mov byte [rsp + 0x9e], al
jmp 0x140001847
jmp 0x1400016de
mov al, byte [rsp + 0xae]
mov rcx, qword [rsp + 0xb8]
mov byte [rcx + 0xb], al
movzx edx, al
cmp edx, 0xf
jne 0x140001745
mov rax, qword [rsp + 0xa0]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0xa0], rcx
mov dl, byte [rax]
mov byte [rsp + 0xae], dl
mov rax, qword [rsp + 0xb8]
mov byte [rax + 0xc], dl
mov rax, qword [rsp + 0x90]
add rax, 0x4a
mov qword [rsp + 0x90], rax
jmp 0x1400017c2
movzx eax, byte [rsp + 0xae]
cmp eax, 0xa0
jl 0x1400017bd
movzx eax, byte [rsp + 0xae]
cmp eax, 0xa3
jg 0x1400017bd
mov al, byte [rsp + 0x8b]
add al, 1
mov byte [rsp + 0x8b], al
movzx ecx, byte [rsp + 0x9d]
and ecx, 0x10
cmp ecx, 0
je 0x1400017a6
movzx eax, byte [rsp + 0x9d]
or eax, 8
mov byte [rsp + 0x9d], al
jmp 0x1400017b8
movzx eax, byte [rsp + 0x9d]
and eax, 0xfffffff7
mov byte [rsp + 0x9d], al
jmp 0x1400017bd
jmp 0x1400017c2
mov al, byte [rsp + 0xae]
mov byte [rsp + 0x9e], al
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x90]
movzx eax, byte [rsp + 0x9e]
mov qword [rsp + 0x58], rdx
cdq
mov r8d, 4
idiv r8d
movsxd r9, eax
mov r10, qword [rsp + 0x58]
movzx eax, byte [r10 + r9]
movzx r11d, byte [rsp + 0x9e]
mov dword [rsp + 0x54], eax
mov eax, r11d
cdq
idiv r8d
mov r8d, dword [rsp + 0x54]
add r8d, edx
movsxd r9, r8d
mov bl, byte [rcx + r9]
mov byte [rsp + 0x9f], bl
movzx edx, byte [rsp + 0x9f]
cmp edx, 0xff
jne 0x14000188c
jmp 0x140001847
mov rax, qword [rsp + 0xb8]
mov ecx, dword [rax + 0x21]
or ecx, 0x3000
mov dword [rax + 0x21], ecx
mov byte [rsp + 0x9f], 0
movzx ecx, byte [rsp + 0x9e]
and ecx, 0xfffffffd
cmp ecx, 0x24
jne 0x140001887
mov al, byte [rsp + 0x9f]
add al, 1
mov byte [rsp + 0x9f], al
jmp 0x14000188c
mov byte [rsp + 0xaf], 0
movzx eax, byte [rsp + 0x9f]
and eax, 0x80
cmp eax, 0
je 0x1400018f1
mov rax, qword [rsp + 0x90]
movzx ecx, byte [rsp + 0x9f]
and ecx, 0x7f
movsxd rdx, ecx
mov r8w, word [rax + rdx]
mov word [rsp + 0x88], r8w
mov r8w, word [rsp + 0x88]
mov byte [rsp + 0x9f], r8b
movzx ecx, word [rsp + 0x88]
sar ecx, 8
mov byte [rsp + 0xaf], cl
mov rax, qword [rsp + 0xb8]
cmp byte [rax + 0xc], 0
je 0x1400019a0
lea rax, section..data
add rax, 0x13c
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x90]
movzx edx, byte [rsp + 0x9e]
mov qword [rsp + 0x48], rax
mov eax, edx
cdq
mov r8d, 4
idiv r8d
movsxd r9, eax
movzx eax, byte [rcx + r9]
movzx r10d, byte [rsp + 0x9e]
mov dword [rsp + 0x44], eax
mov eax, r10d
cdq
idiv r8d
mov r8d, dword [rsp + 0x44]
add r8d, edx
movsxd rcx, r8d
mov r9, qword [rsp + 0x48]
movzx edx, byte [r9 + rcx]
movzx r8d, byte [rsp + 0x9d]
and edx, r8d
cmp edx, 0
je 0x14000199b
mov rax, qword [rsp + 0xb8]
mov ecx, dword [rax + 0x21]
or ecx, 0x3000
mov dword [rax + 0x21], ecx
jmp 0x1400019a0
movzx eax, byte [rsp + 0x9f]
and eax, 1
cmp eax, 0
je 0x140002470
mov rax, qword [rsp + 0xb8]
mov ecx, dword [rax + 0x21]
or ecx, 1
mov dword [rax + 0x21], ecx
mov rax, qword [rsp + 0xa0]
mov rdx, rax
add rdx, 1
mov qword [rsp + 0xa0], rdx
mov r8b, byte [rax]
mov byte [rsp + 0xae], r8b
mov rax, qword [rsp + 0xb8]
mov byte [rax + 0xd], r8b
movzx ecx, byte [rsp + 0xae]
sar ecx, 6
mov byte [rsp + 0x8f], cl
mov rax, qword [rsp + 0xb8]
mov byte [rax + 0xe], cl
movzx r9d, byte [rsp + 0xae]
and r9d, 7
mov byte [rsp + 0x8d], r9b
mov rax, qword [rsp + 0xb8]
mov byte [rax + 0x10], r9b
movzx r10d, byte [rsp + 0xae]
and r10d, 0x3f
sar r10d, 3
mov byte [rsp + 0x8e], r10b
mov rax, qword [rsp + 0xb8]
mov byte [rax + 0xf], r10b
cmp byte [rsp + 0xaf], 0
je 0x140001a9b
movzx eax, byte [rsp + 0xaf]
movzx ecx, byte [rsp + 0x8e]
shl eax, cl
and eax, 0x80
cmp eax, 0
je 0x140001a9b
mov rax, qword [rsp + 0xb8]
mov ecx, dword [rax + 0x21]
or ecx, 0x3000
mov dword [rax + 0x21], ecx
mov rax, qword [rsp + 0xb8]
cmp byte [rax + 0xc], 0
jne 0x140001bd3
movzx eax, byte [rsp + 0x9e]
cmp eax, 0xd9
jl 0x140001bd3
movzx eax, byte [rsp + 0x9e]
cmp eax, 0xdf
jg 0x140001bd3
movzx eax, byte [rsp + 0x9e]
sub eax, 0xd9
mov byte [rsp + 0x87], al
movzx ecx, byte [rsp + 0x8f]
cmp ecx, 3
jne 0x140001b59
lea rax, section..data
add rax, 0x104
movzx ecx, byte [rsp + 0x87]
shl ecx, 3
movsxd rdx, ecx
add rax, rdx
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
movzx ecx, byte [rsp + 0x8e]
mov edx, ecx
movzx ecx, byte [rax + rdx]
movzx r8d, byte [rsp + 0x8d]
mov dword [rsp + 0x40], ecx
mov ecx, r8d
mov r8d, dword [rsp + 0x40]
shl r8d, cl
mov byte [rsp + 0x87], r8b
jmp 0x140001ba4
lea rax, section..data
add rax, 0xfd
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
movzx ecx, byte [rsp + 0x87]
mov edx, ecx
movzx ecx, byte [rax + rdx]
movzx r8d, byte [rsp + 0x8e]
mov dword [rsp + 0x3c], ecx
mov ecx, r8d
mov r8d, dword [rsp + 0x3c]
shl r8d, cl
mov byte [rsp + 0x87], r8b
movzx eax, byte [rsp + 0x87]
and eax, 0x80
cmp eax, 0
je 0x140001bce
mov rax, qword [rsp + 0xb8]
mov ecx, dword [rax + 0x21]
or ecx, 0x3000
mov dword [rax + 0x21], ecx
jmp 0x140001bd3
movzx eax, byte [rsp + 0x9d]
and eax, 0x20
cmp eax, 0
je 0x140001d55
movzx eax, byte [rsp + 0x8f]
cmp eax, 3
jne 0x140001c11
mov rax, qword [rsp + 0xb8]
mov ecx, dword [rax + 0x21]
or ecx, 0x9000
mov dword [rax + 0x21], ecx
jmp 0x140001d50
mov al, byte [rsp + 0x9e]
mov byte [rsp + 0x77], al
mov rcx, qword [rsp + 0xb8]
cmp byte [rcx + 0xc], 0
je 0x140001c61
lea rax, section..data
add rax, 0x1c6
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
add rax, 0x1d8
add rax, 0xfffffffffffffe3a
mov qword [rsp + 0x78], rax
jmp 0x140001c9b
lea rax, section..data
add rax, 0x1ae
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
add rax, 0x1c6
add rax, 0xfffffffffffffe52
mov qword [rsp + 0x78], rax
movzx ecx, byte [rsp + 0x77]
and ecx, 0xfffffffe
mov byte [rsp + 0x77], cl
jmp 0x140001ca0
mov rax, qword [rsp + 0x90]
cmp rax, qword [rsp + 0x78]
je 0x140001d37
mov rax, qword [rsp + 0x90]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0x90], rcx
movzx edx, byte [rax]
movzx r8d, byte [rsp + 0x77]
cmp edx, r8d
jne 0x140001d17
mov rax, qword [rsp + 0x90]
movzx ecx, byte [rax]
movzx edx, byte [rsp + 0x8e]
mov dword [rsp + 0x38], ecx
mov ecx, edx
mov edx, dword [rsp + 0x38]
shl edx, cl
and edx, 0x80
cmp edx, 0
jne 0x140001d12
jmp 0x140001d4b
jmp 0x140001d37
jmp 0x140001d1c
mov rax, qword [rsp + 0x90]
add rax, 1
mov qword [rsp + 0x90], rax
jmp 0x140001ca0
mov rax, qword [rsp + 0xb8]
mov ecx, dword [rax + 0x21]
or ecx, 0x9000
mov dword [rax + 0x21], ecx
jmp 0x140001d50
jmp 0x140001d55
mov rax, qword [rsp + 0xb8]
cmp byte [rax + 0xc], 0
je 0x140001e2b
movzx eax, byte [rsp + 0x9e]
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x34]
cmp eax, 0x22
jl 0x140001d9f
mov eax, dword [rsp + 0x34]
cmp eax, 0x23
jl 0x140001db9
mov eax, dword [rsp + 0x34]
cmp eax, 0x23
je 0x140001ded
jmp 0x140001e21
mov eax, dword [rsp + 0x34]
cmp eax, 0x21
jge 0x140001ded
mov eax, dword [rsp + 0x34]
cmp eax, 0x20
jne 0x140001e21
mov byte [rsp + 0x8f], 3
movzx eax, byte [rsp + 0x8e]
cmp eax, 4
jg 0x140001de3
movzx eax, byte [rsp + 0x8e]
cmp eax, 1
jne 0x140001de8
jmp 0x140002107
jmp 0x14000211b
mov byte [rsp + 0x8f], 3
movzx eax, byte [rsp + 0x8e]
cmp eax, 4
je 0x140001e17
movzx eax, byte [rsp + 0x8e]
cmp eax, 5
jne 0x140001e1c
jmp 0x140002107
jmp 0x14000211b
jmp 0x140001e26
jmp 0x140001eba
movzx eax, byte [rsp + 0x9e]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cmp eax, 0x8e
jl 0x140001e5a
mov eax, dword [rsp + 0x30]
cmp eax, 0x8e
je 0x140001e84
jmp 0x140001eb0
mov eax, dword [rsp + 0x30]
cmp eax, 0x8c
jne 0x140001eb0
movzx eax, byte [rsp + 0x8e]
cmp eax, 5
jle 0x140001e7f
jmp 0x140002107
jmp 0x14000211b
movzx eax, byte [rsp + 0x8e]
cmp eax, 1
je 0x140001ea6
movzx eax, byte [rsp + 0x8e]
cmp eax, 5
jle 0x140001eab
jmp 0x140002107
jmp 0x14000211b
jmp 0x140001eb5
jmp 0x140001eba
movzx eax, byte [rsp + 0x8f]
cmp eax, 3
jne 0x140002014
mov rax, qword [rsp + 0xb8]
cmp byte [rax + 0xc], 0
je 0x140001f10
lea rax, section..data
add rax, 0x1e7
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
add rax, 0x211
add rax, 0xfffffffffffffe19
mov qword [rsp + 0x68], rax
jmp 0x140001f3e
lea rax, section..data
add rax, 0x1d8
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
add rax, 0x1e7
add rax, 0xfffffffffffffe28
mov qword [rsp + 0x68], rax
jmp 0x140001f43
mov rax, qword [rsp + 0x90]
cmp rax, qword [rsp + 0x68]
je 0x14000200f
mov rax, qword [rsp + 0x90]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0x90], rcx
movzx edx, byte [rax]
movzx r8d, byte [rsp + 0x9e]
cmp edx, r8d
jne 0x140001fef
mov rax, qword [rsp + 0x90]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0x90], rcx
movzx edx, byte [rax]
movzx r8d, byte [rsp + 0x9d]
and edx, r8d
cmp edx, 0
je 0x140001fea
mov rax, qword [rsp + 0x90]
movzx ecx, byte [rax]
movzx edx, byte [rsp + 0x8e]
mov dword [rsp + 0x2c], ecx
mov ecx, edx
mov edx, dword [rsp + 0x2c]
shl edx, cl
and edx, 0x80
cmp edx, 0
jne 0x140001fea
jmp 0x140002107
jmp 0x14000200f
jmp 0x140001ff4
mov rax, qword [rsp + 0x90]
add rax, 2
mov qword [rsp + 0x90], rax
jmp 0x140001f43
jmp 0x14000211b
mov rax, qword [rsp + 0xb8]
cmp byte [rax + 0xc], 0
je 0x140002102
movzx eax, byte [rsp + 0x9e]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
cmp eax, 0xd6
jl 0x140002087
mov eax, dword [rsp + 0x28]
cmp eax, 0xd7
jl 0x1400020d5
mov eax, dword [rsp + 0x28]
cmp eax, 0xf7
jl 0x140002073
mov eax, dword [rsp + 0x28]
cmp eax, 0xf7
je 0x1400020b7
jmp 0x1400020f8
mov eax, dword [rsp + 0x28]
cmp eax, 0xd7
je 0x1400020b7
jmp 0x1400020f8
mov eax, dword [rsp + 0x28]
cmp eax, 0xc5
jl 0x1400020aa
mov eax, dword [rsp + 0x28]
cmp eax, 0xc5
je 0x1400020f3
jmp 0x1400020f8
mov eax, dword [rsp + 0x28]
cmp eax, 0x50
jne 0x1400020f8
movzx eax, byte [rsp + 0x9d]
and eax, 9
cmp eax, 0
je 0x1400020d0
jmp 0x140002107
jmp 0x1400020fd
movzx eax, byte [rsp + 0x9d]
and eax, 6
cmp eax, 0
je 0x1400020ee
jmp 0x140002107
jmp 0x1400020fd
jmp 0x140002107
jmp 0x1400020fd
jmp 0x14000211b
jmp 0x14000211b
mov rax, qword [rsp + 0xb8]
mov ecx, dword [rax + 0x21]
or ecx, 0x11000
mov dword [rax + 0x21], ecx
mov rax, qword [rsp + 0xa0]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0xa0], rcx
mov dl, byte [rax]
mov byte [rsp + 0xae], dl
movzx r8d, byte [rsp + 0x8e]
cmp r8d, 1
jg 0x1400021aa
movzx eax, byte [rsp + 0x9e]
cmp eax, 0xf6
jne 0x14000217b
movzx eax, byte [rsp + 0x9f]
or eax, 2
mov byte [rsp + 0x9f], al
jmp 0x1400021a5
movzx eax, byte [rsp + 0x9e]
cmp eax, 0xf7
jne 0x1400021a0
movzx eax, byte [rsp + 0x9f]
or eax, 0x10
mov byte [rsp + 0x9f], al
jmp 0x1400021a5
jmp 0x1400021aa
movzx eax, byte [rsp + 0x8f]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x24]
cmp eax, 1
jl 0x1400021e2
mov eax, dword [rsp + 0x24]
cmp eax, 2
jl 0x140002237
mov eax, dword [rsp + 0x24]
cmp eax, 2
je 0x140002244
jmp 0x140002277
movzx eax, byte [rsp + 0x9d]
and eax, 0x10
cmp eax, 0
je 0x140002214
movzx eax, byte [rsp + 0x8d]
cmp eax, 6
jne 0x14000220f
mov byte [rsp + 0x8c], 2
jmp 0x140002232
movzx eax, byte [rsp + 0x8d]
cmp eax, 5
jne 0x14000222d
mov byte [rsp + 0x8c], 4
jmp 0x140002232
jmp 0x14000227c
mov byte [rsp + 0x8c], 1
jmp 0x14000227c
mov byte [rsp + 0x8c], 2
movzx eax, byte [rsp + 0x9d]
and eax, 0x10
cmp eax, 0
jne 0x140002272
movzx eax, byte [rsp + 0x8c]
shl eax, 1
mov byte [rsp + 0x8c], al
jmp 0x14000227c
jmp 0x14000227c
movzx eax, byte [rsp + 0x8f]
cmp eax, 3
je 0x140002352
movzx eax, byte [rsp + 0x8d]
cmp eax, 4
jne 0x140002352
mov rax, qword [rsp + 0xb8]
mov ecx, dword [rax + 0x21]
or ecx, 2
mov dword [rax + 0x21], ecx
mov rax, qword [rsp + 0xa0]
add rax, 1
mov qword [rsp + 0xa0], rax
mov dl, byte [rsp + 0xae]
mov rax, qword [rsp + 0xb8]
mov byte [rax + 0x11], dl
movzx ecx, byte [rsp + 0xae]
sar ecx, 6
mov rax, qword [rsp + 0xb8]
mov byte [rax + 0x12], cl
movzx r8d, byte [rsp + 0xae]
and r8d, 0x3f
sar r8d, 3
mov rax, qword [rsp + 0xb8]
mov byte [rax + 0x13], r8b
movzx r9d, byte [rsp + 0xae]
and r9d, 7
mov rax, qword [rsp + 0xb8]
mov byte [rax + 0x14], r9b
movzx r10d, r9b
cmp r10d, 5
jne 0x14000234d
movzx eax, byte [rsp + 0x8f]
and eax, 1
cmp eax, 0
jne 0x14000234d
mov byte [rsp + 0x8c], 4
jmp 0x140002352
mov rax, qword [rsp + 0xa0]
add rax, 0xffffffffffffffff
mov qword [rsp + 0xa0], rax
movzx ecx, byte [rsp + 0x8c]
mov dword [rsp + 0x20], ecx
mov eax, dword [rsp + 0x20]
cmp eax, 2
jl 0x1400023b2
mov eax, dword [rsp + 0x20]
cmp eax, 4
jl 0x1400023a0
mov eax, dword [rsp + 0x20]
cmp eax, 4
je 0x14000241a
jmp 0x140002448
mov eax, dword [rsp + 0x20]
cmp eax, 2
je 0x1400023ea
jmp 0x140002448
mov eax, dword [rsp + 0x20]
cmp eax, 1
jne 0x140002448
mov rax, qword [rsp + 0xb8]
mov ecx, dword [rax + 0x21]
or ecx, 0x40
mov dword [rax + 0x21], ecx
mov rax, qword [rsp + 0xa0]
mov dl, byte [rax]
mov rax, qword [rsp + 0xb8]
mov byte [rax + 0x1d], dl
jmp 0x14000244d
mov rax, qword [rsp + 0xb8]
mov ecx, dword [rax + 0x21]
or ecx, 0x80
mov dword [rax + 0x21], ecx
mov rax, qword [rsp + 0xa0]
mov dx, word [rax]
mov rax, qword [rsp + 0xb8]
mov word [rax + 0x1d], dx
jmp 0x14000244d
mov rax, qword [rsp + 0xb8]
mov ecx, dword [rax + 0x21]
or ecx, 0x100
mov dword [rax + 0x21], ecx
mov rax, qword [rsp + 0xa0]
mov ecx, dword [rax]
mov rax, qword [rsp + 0xb8]
mov dword [rax + 0x1d], ecx
jmp 0x14000244d
jmp 0x14000244d
movzx eax, byte [rsp + 0x8c]
mov rcx, qword [rsp + 0xa0]
movsxd rdx, eax
add rcx, rdx
mov qword [rsp + 0xa0], rcx
jmp 0x14000249d
movzx eax, byte [rsp + 0x9d]
and eax, 0x20
cmp eax, 0
je 0x140002498
mov rax, qword [rsp + 0xb8]
mov ecx, dword [rax + 0x21]
or ecx, 0x9000
mov dword [rax + 0x21], ecx
jmp 0x14000249d
movzx eax, byte [rsp + 0x9f]
and eax, 0x10
cmp eax, 0
je 0x1400025d9
movzx eax, byte [rsp + 0x9f]
and eax, 0x40
cmp eax, 0
je 0x140002524
movzx eax, byte [rsp + 0x9d]
and eax, 8
cmp eax, 0
je 0x14000251f
mov rax, qword [rsp + 0xb8]
mov ecx, dword [rax + 0x21]
or ecx, 0x208
mov dword [rax + 0x21], ecx
mov rax, qword [rsp + 0xa0]
mov dx, word [rax]
mov rax, qword [rsp + 0xb8]
mov word [rax + 0x15], dx
mov rax, qword [rsp + 0xa0]
add rax, 2
mov qword [rsp + 0xa0], rax
jmp 0x140002736
jmp 0x140002697
cmp byte [rsp + 0x8b], 0
je 0x140002575
mov rax, qword [rsp + 0xb8]
mov ecx, dword [rax + 0x21]
or ecx, 0x20
mov dword [rax + 0x21], ecx
mov rax, qword [rsp + 0xa0]
mov rax, qword [rax]
mov rdx, qword [rsp + 0xb8]
mov qword [rdx + 0x15], rax
mov rax, qword [rsp + 0xa0]
add rax, 8
mov qword [rsp + 0xa0], rax
jmp 0x1400025d4
movzx eax, byte [rsp + 0x9d]
and eax, 8
cmp eax, 0
jne 0x1400025ca
mov rax, qword [rsp + 0xb8]
mov ecx, dword [rax + 0x21]
or ecx, 0x10
mov dword [rax + 0x21], ecx
mov rax, qword [rsp + 0xa0]
mov ecx, dword [rax]
mov rax, qword [rsp + 0xb8]
mov dword [rax + 0x15], ecx
mov rax, qword [rsp + 0xa0]
add rax, 4
mov qword [rsp + 0xa0], rax
jmp 0x1400025cf
jmp 0x1400025f2
jmp 0x1400025d4
jmp 0x1400025d9
movzx eax, byte [rsp + 0x9f]
and eax, 4
cmp eax, 0
je 0x140002630
jmp 0x1400025f2
mov rax, qword [rsp + 0xb8]
mov ecx, dword [rax + 0x21]
or ecx, 8
mov dword [rax + 0x21], ecx
mov rax, qword [rsp + 0xa0]
mov dx, word [rax]
mov rax, qword [rsp + 0xb8]
mov word [rax + 0x15], dx
mov rax, qword [rsp + 0xa0]
add rax, 2
mov qword [rsp + 0xa0], rax
movzx eax, byte [rsp + 0x9f]
and eax, 2
cmp eax, 0
je 0x14000267e
mov rax, qword [rsp + 0xb8]
mov ecx, dword [rax + 0x21]
or ecx, 4
mov dword [rax + 0x21], ecx
mov rax, qword [rsp + 0xa0]
mov rdx, rax
add rdx, 1
mov qword [rsp + 0xa0], rdx
mov r8b, byte [rax]
mov rax, qword [rsp + 0xb8]
mov byte [rax + 0x15], r8b
movzx eax, byte [rsp + 0x9f]
and eax, 0x40
cmp eax, 0
je 0x1400026db
jmp 0x140002697
mov rax, qword [rsp + 0xb8]
mov ecx, dword [rax + 0x21]
or ecx, 0x210
mov dword [rax + 0x21], ecx
mov rax, qword [rsp + 0xa0]
mov ecx, dword [rax]
mov rax, qword [rsp + 0xb8]
mov dword [rax + 0x15], ecx
mov rax, qword [rsp + 0xa0]
add rax, 4
mov qword [rsp + 0xa0], rax
jmp 0x140002731
movzx eax, byte [rsp + 0x9f]
and eax, 0x20
cmp eax, 0
je 0x14000272c
mov rax, qword [rsp + 0xb8]
mov ecx, dword [rax + 0x21]
or ecx, 0x204
mov dword [rax + 0x21], ecx
mov rax, qword [rsp + 0xa0]
mov rdx, rax
add rdx, 1
mov qword [rsp + 0xa0], rdx
mov r8b, byte [rax]
mov rax, qword [rsp + 0xb8]
mov byte [rax + 0x15], r8b
jmp 0x140002731
jmp 0x140002736
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xb0]
sub rax, rcx
mov rcx, qword [rsp + 0xb8]
mov byte [rcx], al
movzx edx, al
cmp edx, 0xf
jle 0x14000277e
mov rax, qword [rsp + 0xb8]
mov ecx, dword [rax + 0x21]
or ecx, 0x5000
mov dword [rax + 0x21], ecx
mov rax, qword [rsp + 0xb8]
mov byte [rax], recv
mov rax, qword [rsp + 0xb8]
movzx eax, byte [rax]
add rsp, 0xc0
pop rbx
ret