Function at 0x140100ff0
Capabilities:
Encode data using xor

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x88
mov ebp, dword [rsp + 0xf8]
mov r14, rdx
mov eax, dword [rcx + 0xb84]
mov edx, reloc.WS2_32.dll_inet_addr
imul r10, rbp, 0x2c
mov dword [rsp + 0x48], eax
mov r12, r8
mov eax, dword [rcx + 0xb88]
lea r15d, [rdx - 3]
add r10, rcx
mov dword [rsp + 0x3c], eax
mov rbx, rcx
lea r11d, [rdx - 1]
mov esi, ebp
movzx edi, byte [r10 + 0x10ee8]
mov r8d, dword [r10 + 0x10ef8]
test dil, dil
je 0x1401010d7
dec r8d
cmp byte [r10 + 0x10ee9], 0
je 0x1401010ab
mov eax, dword [r10 + 0x10eec]
imul rcx, rax, 0x2c
cmp dword [r10 + 0x10ef0], 4
mov eax, dword [rcx + rbx + 0x10ee4]
jae 0x14010109a
cmp eax, 7
mov r13d, edx
cmovl r13d, r15d
jmp 0x1401010ba
cmp eax, 7
mov r13d, r11d
mov eax, 7
cmovl r13d, eax
jmp 0x1401010ba
mov eax, r8d
imul rcx, rax, 0x2c
mov r13d, dword [rcx + rbx + 0x10ee4]
cmp r13d, 3
jg 0x1401010c5
xor r13d, r13d
jmp 0x1401010e3
cmp r13d, 9
jg 0x1401010d1
sub r13d, 3
jmp 0x1401010e3
sub r13d, 6
jmp 0x1401010e3
imul rcx, r8, 0x2c
mov r13d, dword [rcx + rbx + 0x10ee4]
lea eax, [rbp - 1]
mov ecx, 1
lea ebp, [rcx + 3]
cmp r8d, eax
jne 0x14010114a
cmp dword [r10 + 0x10efc], 0
jne 0x140101115
cmp r13d, 7
mov eax, 9
cmovl edx, eax
mov r13d, edx
mov dword [rsp + 0x30], edx
jmp 0x14010125a
cmp r13d, 3
jg 0x140101128
xor r13d, r13d
mov dword [rsp + 0x30], r13d
jmp 0x14010125a
cmp r13d, 9
jg 0x14010113c
sub r13d, 3
mov dword [rsp + 0x30], r13d
jmp 0x14010125a
sub r13d, 6
mov dword [rsp + 0x30], r13d
jmp 0x14010125a
test dil, dil
je 0x140101181
cmp byte [r10 + 0x10ee9], 0
je 0x140101181
mov r9d, dword [r10 + 0x10ef0]
cmp r13d, 7
mov r8d, dword [r10 + 0x10eec]
cmovl edx, r15d
mov dword [rsp + 0x30], edx
mov r13d, edx
cmp r9d, ebp
jae 0x14010122b
jmp 0x1401011a0
mov r9d, dword [r10 + 0x10efc]
cmp r9d, ebp
jae 0x140101216
cmp r13d, 7
cmovl edx, r15d
mov r13d, edx
mov dword [rsp + 0x30], edx
mov edi, r8d
mov r8d, ecx
imul r11, rdi, 0xb
mov eax, r9d
add rax, r11
mov eax, dword [rbx + rax*4 + 0x10f00]
mov dword [r14], eax
cmp r9d, ecx
jb 0x1401011e2
nop
lea ecx, [r8 - 1]
mov edx, r8d
add rcx, r11
inc r8d
mov eax, dword [rbx + rcx*4 + 0x10f00]
mov dword [r14 + rdx*4], eax
cmp r8d, r9d
jbe 0x1401011c0
cmp r8d, ebp
jae 0x14010125a
imul r9, rdi, 0x2c
mov eax, r8d
mov edx, ebp
sub r9, r14
add r9, rbx
sub edx, r8d
lea rcx, [r14 + rax*4]
nop dword [rax + rax]
mov eax, dword [r9 + rcx + 0x10f00]
mov dword [rcx], eax
lea rcx, [rcx + 4]
sub rdx, 1
jne 0x140101200
jmp 0x14010125a
cmp r13d, 7
mov eax, 7
cmovl r11d, eax
mov r13d, r11d
mov dword [rsp + 0x30], r11d
lea eax, [r9 - 4]
mov dword [r14], eax
mov eax, r8d
imul rcx, rax, 0xb
mov eax, dword [rbx + rcx*4 + 0x10f00]
mov dword [r14 + 4], eax
mov eax, dword [rbx + rcx*4 + 0x10f04]
mov dword [r14 + 8], eax
mov eax, dword [rbx + rcx*4 + 0x10f08]
mov dword [r14 + 0xc], eax
mov dword [r10 + 0x10ee4], r13d
mov eax, dword [r14]
imul rcx, rsi, 0xb
mov dword [rbx + rcx*4 + 0x10f00], eax
mov eax, dword [r14 + 4]
mov dword [rbx + rcx*4 + 0x10f04], eax
mov eax, dword [r14 + 8]
mov dword [rbx + rcx*4 + 0x10f08], eax
mov eax, dword [r14 + 0xc]
mov dword [rbx + rcx*4 + 0x10f0c], eax
mov rcx, r12
mov eax, dword [r14]
mov r15d, dword [r10 + 0x10ef4]
sub rcx, rax
mov r10d, dword [rsp + 0xf0]
mov edx, dword [rbx + 0xb90]
movzx ebp, byte [r12]
and rdx, r10
movzx r14d, byte [rcx - 1]
movzx r8d, byte [r12 - 1]
movsxd rcx, r13d
mov rdi, rcx
mov qword [rsp + 0x60], rcx
shl rdi, 4
mov rcx, rbx
add rdi, rdx
mov qword [rsp + 0x70], rdx
cmp r13d, 7
mov dword [rsp + 0x28], ebp
mov edx, r10d
mov qword [rsp + 0x58], rdi
setge r9b
mov dword [rsp + 0x20], r14d
call fcn.140100680
movzx ecx, word [rbx + rdi*2 + 0x6b9c]
lea rdx, [0x14023d030]
mov r9d, dword [rsp + 0xf8]
add eax, r15d
shr rcx, 4
xor r11b, r11b
lea r13d, [r9 + 1]
movzx r12d, byte [rcx + rdx]
add r12d, eax
mov eax, r13d
imul rdi, rax, 0x2c
add rdi, rbx
mov esi, dword [rdi + 0x10ef4]
cmp r12d, esi
jae 0x140101360
mov dword [rdi + 0x10ef4], r12d
mov esi, r12d
mov dword [rdi + 0x10ef8], r9d
mov byte [rdi + 0x10ee8], r11b
mov r11b, 1
mov dword [rdi + 0x10efc], 0xffffffff
mov rax, qword [rsp + 0x58]
lea rcx, [0x14023d030]
movzx eax, word [rbx + rax*2 + 0x6b9c]
xor rax, 0x7f0
shr rax, 4
movzx eax, byte [rax + rcx]
mov rcx, qword [rsp + 0x60]
add eax, r15d
mov dword [rsp + 0x38], eax
lea r15, [0x14023d030]
lea rax, [rcx + 0x368e]
lea rax, [rbx + rax*2]
mov qword [rsp + 0x68], rax
movzx eax, word [rax]
xor rax, 0x7f0
shr rax, 4
movzx r15d, byte [rax + r15]
add r15d, dword [rsp + 0x38]
mov dword [rsp + 0x4c], r15d
cmp r14b, bpl
jne 0x14010143a
cmp dword [rdi + 0x10ef8], r9d
jae 0x1401013d8
cmp dword [rdi + 0x10efc], 0
je 0x14010143a
movzx eax, word [rbx + rcx*2 + 0x6d34]
lea r9, [0x14023d030]
shr rax, 4
movzx ecx, byte [rax + r9]
mov rax, qword [rsp + 0x58]
movzx eax, word [rbx + rax*2 + 0x6d7c]
shr rax, 4
movzx r9d, byte [rax + r9]
lea eax, [r15 + rcx]
add r9d, eax
cmp r9d, esi
ja 0x14010143a
mov eax, dword [rsp + 0xf8]
mov r11b, 1
mov dword [rdi + 0x10ef8], eax
mov dword [rdi + 0x10ef4], r9d
mov dword [rdi + 0x10efc], 0
mov byte [rdi + 0x10ee8], 0
mov ecx, dword [rsp + 0x108]
cmp ecx, 2
jb 0x140101fc4
mov edx, dword [rsp + 0x100]
mov r15d, edx
mov r10, qword [rsp + 0xd8]
cmp ecx, edx
cmovb r15d, ecx
mov dword [rsp + 0x40], r15d
test r11b, r11b
jne 0x14010161b
cmp r14b, bpl
mov r14, qword [rsp + 0xe0]
je 0x140101623
mov eax, dword [r10]
mov r9, r14
sub r9, rax
inc edx
cmp ecx, edx
jae 0x140101499
mov edx, ecx
mov ecx, 1
jmp 0x1401014a2
mov ecx, 1
cmp edx, ecx
jbe 0x1401014c6
mov eax, ecx
mov r8, qword [rax + r14]
sub r8, qword [r9 + rax - 1]
jne 0x1401014b8
add ecx, 8
cmp ecx, edx
jb 0x1401014a2
jmp 0x1401014c6
bsf rax, r8
shr eax, 3
add ecx, eax
cmp ecx, edx
cmovb edx, ecx
lea edi, [rdx - 1]
cmp edi, 2
jb 0x140101623
mov ebp, dword [rsp + 0x30]
cmp ebp, 3
jg 0x1401014df
xor eax, eax
jmp 0x1401014ea
lea eax, [rbp - 3]
cmp ebp, 9
jle 0x1401014ea
lea eax, [rbp - 6]
mov r9d, dword [rsp + 0xf0]
lea r8, [0x14023d030]
mov ebp, dword [rsp + 0xf8]
inc r9d
movsxd r10, eax
mov eax, dword [rbx + 0xb90]
mov rsi, r10
and r9, rax
shl rsi, 4
add rsi, r9
movzx eax, word [rbx + r10*2 + 0x6d1c]
xor rax, 0x7f0
shr rax, 4
movzx ecx, byte [rax + r8]
movzx eax, word [rbx + rsi*2 + 0x6b9c]
xor rax, 0x7f0
shr rax, 4
movzx r11d, byte [rax + r8]
lea eax, [r12 + rcx]
mov r12d, dword [rsp + 0xe8]
lea r8d, [rdx + rbp]
add r11d, eax
cmp r12d, r8d
jae 0x140101591
imul rdx, r12, 0x2c
mov ecx, r8d
mov dword [rsp + 0xe8], r8d
add rdx, 0x10ef4
add rdx, rbx
sub ecx, r12d
nop dword [rax]
mov dword [rdx + 0x2c], 0x40000000
lea rdx, [rdx + 0x2c]
sub rcx, 1
jne 0x140101580
imul rax, r9, 0x110
lea r12, [0x14023d030]
lea ecx, [rdi - 2]
add rcx, rax
movzx eax, word [rbx + rsi*2 + 0x6d7c]
xor rax, 0x7f0
shr rax, 4
mov ecx, dword [rbx + rcx*4 + 0xbe4c]
movzx eax, byte [rax + r12]
add ecx, eax
movzx eax, word [rbx + r10*2 + 0x6d34]
mov r10, qword [rsp + 0xd8]
shr rax, 4
movzx edx, byte [rax + r12]
lea eax, [r11 + rcx]
add edx, eax
mov eax, r8d
imul rcx, rax, 0x2c
cmp edx, dword [rcx + rbx + 0x10ef4]
jae 0x140101631
mov dword [rcx + rbx + 0x10ef4], edx
mov dword [rcx + rbx + 0x10ef8], r13d
mov dword [rcx + rbx + 0x10efc], 0
mov word [rcx + rbx + 0x10ee8], 1
jmp 0x140101631
mov r14, qword [rsp + 0xe0]
mov ebp, dword [rsp + 0xf8]
lea r12, [0x14023d030]
mov ecx, 2
xor r13d, r13d
mov edi, ecx
nop dword [rax + rax]
mov eax, dword [r10]
mov r10, r14
sub r10, rax
movzx eax, word [r10 - 1]
dec r10
mov qword [rsp + 0x78], r10
cmp word [r14], ax
jne 0x140101af4
mov eax, ecx
cmp r15d, 2
jbe 0x140101688
nop dword [rax + rax]
mov ecx, eax
mov rdx, qword [rcx + r14]
sub rdx, qword [r10 + rcx]
jne 0x140101713
add eax, 8
cmp eax, r15d
jb 0x140101670
mov edx, r15d
mov r11d, dword [rsp + 0xe8]
lea r9d, [rdx + rbp]
mov dword [rsp + 0x34], r9d
cmp r11d, r9d
jae 0x1401016d2
imul r8, r11, 0x2c
mov ecx, r9d
mov dword [rsp + 0xe8], r9d
add r8, 0x10ef4
add r8, rbx
sub ecx, r11d
nop dword [rax]
mov dword [r8 + 0x2c], 0x40000000
lea r8, [r8 + 0x2c]
sub rcx, 1
jne 0x1401016c0
mov esi, edx
test r13d, r13d
jne 0x14010172a
mov rax, qword [rsp + 0x58]
movzx eax, word [rbx + rax*2 + 0x6d7c]
xor rax, 0x7f0
shr rax, 4
movzx r8d, byte [rax + r12]
mov rax, qword [rsp + 0x60]
movzx eax, word [rbx + rax*2 + 0x6d34]
shr rax, 4
movzx eax, byte [rax + r12]
add r8d, eax
jmp 0x1401017a6
bsf rcx, rdx
mov edx, r15d
shr ecx, 3
add eax, ecx
cmp eax, r15d
cmovb edx, eax
jmp 0x14010168b
mov r9, qword [rsp + 0x60]
movzx eax, word [rbx + r9*2 + 0x6d34]
xor rax, 0x7f0
shr rax, 4
movzx r8d, byte [rax + r12]
cmp r13d, 1
jne 0x140101764
movzx eax, word [rbx + r9*2 + 0x6d4c]
shr rax, 4
movzx eax, byte [rax + r12]
add r8d, eax
jmp 0x1401017a6
movzx ecx, word [rbx + r9*2 + 0x6d64]
mov eax, 2
sub eax, r13d
shr rcx, 4
shr rax, 4
and eax, 0x7f
xor rcx, rax
movzx eax, word [rbx + r9*2 + 0x6d4c]
xor rax, 0x7f0
shr rax, 4
movzx ecx, byte [rcx + r12]
movzx eax, byte [rax + r12]
add r8d, eax
add r8d, ecx
mov r10d, dword [rsp + 0x4c]
add r10d, r8d
imul r11, qword [rsp + 0x70], 0x110
mov dword [rsp + 0x50], r10d
nop dword [rax]
lea ecx, [rdx - 2]
add rcx, r11
mov r8d, dword [rbx + rcx*4 + 0xbe4c]
lea ecx, [rdx + rbp]
imul rax, rcx, 0x2c
add r8d, r10d
cmp r8d, dword [rax + rbx + 0x10ef4]
jae 0x140101801
mov dword [rax + rbx + 0x10ef4], r8d
mov dword [rax + rbx + 0x10ef8], ebp
mov dword [rax + rbx + 0x10efc], r13d
mov byte [rax + rbx + 0x10ee8], 0
dec edx
cmp edx, 2
jae 0x1401017c0
mov edx, dword [rsp + 0x100]
lea r9d, [rsi + 1]
mov r10, qword [rsp + 0x78]
test r13d, r13d
cmove edi, r9d
add edx, r9d
cmp dword [rsp + 0x108], edx
mov dword [rsp + 0x44], edi
cmovb edx, dword [rsp + 0x108]
cmp r9d, edx
jae 0x14010185a
mov ecx, r9d
mov r8, r10
add rcx, r14
sub r8, r14
movzx eax, byte [r8 + rcx]
cmp byte [rcx], al
jne 0x14010185a
inc r9d
inc rcx
cmp r9d, edx
jb 0x140101846
mov eax, 0xffffffff
mov r12d, r9d
sub eax, esi
add r9d, eax
cmp r9d, 2
jb 0x140101ae8
mov edi, dword [rsp + 0xf0]
lea eax, [rsi - 1]
add edi, esi
lea ecx, [rsi - 2]
add rcx, r11
mov r8, rsi
movzx r11d, byte [rsi + r10]
mov r14d, edi
mov r10, qword [rsp + 0xe0]
xor esi, esi
and r14d, dword [rbx + 0xb90]
mov r15d, dword [rbx + rcx*4 + 0xbe4c]
mov ecx, 8
sub cl, byte [rbx + 0xb94]
movzx edx, byte [rax + r10]
mov eax, dword [rbx + 0xb98]
movzx r10d, byte [r8 + r10]
and eax, edi
shr edx, cl
mov edi, 0x100
mov ecx, dword [rbx + 0xb94]
shl eax, cl
add edx, eax
lea rbp, [rdx + rdx*2]
shl rbp, 9
add rbp, rbx
lea rbx, [0x14023d030]
add r10d, edi
nop word [rax + rax]
mov ecx, r10d
add r11d, r11d
shr ecx, 8
mov eax, edi
and eax, r11d
add eax, edi
add ecx, eax
movzx edx, word [rbp + rcx*2 + 0xb9c]
mov ecx, r10d
shr ecx, 7
add r10d, r10d
and ecx, 1
shr rdx, 4
neg ecx
shr rcx, 4
and ecx, 0x7f
xor rdx, rcx
movzx eax, byte [rdx + rbx]
add esi, eax
mov eax, r11d
xor eax, r10d
not eax
and edi, eax
cmp r10d, 0x10000
jb 0x1401018f0
cmp dword [rsp + 0x30], 7
lea rdi, [0x14023d030]
mov rbx, qword [rsp + 0xd0]
mov eax, 0x364e
mov ecx, 0x367e
cmovl ecx, eax
mov eax, r14d
add rcx, rax
movzx eax, word [rbx + rcx*2]
shr rax, 4
movzx edx, byte [rax + rdi]
add edx, esi
add edx, r15d
add edx, dword [rsp + 0x50]
cmp dword [rsp + 0x30], 7
jge 0x14010198c
mov eax, 8
lea ecx, [rax - 3]
jmp 0x140101996
mov eax, 5
mov ecx, 2
mov r10d, dword [rsp + 0xf0]
cmovl eax, ecx
mov ebp, dword [rsp + 0xf8]
lea ecx, [r8 + 1]
mov r14d, dword [rsp + 0xe8]
add r10d, ecx
mov r11d, eax
mov eax, dword [rbx + 0xb90]
mov esi, r11d
and r10, rax
shl rsi, 4
add rsi, r10
lea r8d, [r12 + rbp]
movzx eax, word [rbx + rsi*2 + 0x6b9c]
xor rax, 0x7f0
shr rax, 4
movzx ecx, byte [rax + rdi]
movzx eax, word [rbx + r11*2 + 0x6d1c]
xor rax, 0x7f0
shr rax, 4
movzx edi, byte [rax + rdi]
lea eax, [rdx + rcx]
add edi, eax
cmp r14d, r8d
jae 0x140101a41
imul rdx, r14, 0x2c
mov ecx, r8d
mov dword [rsp + 0xe8], r8d
add rdx, 0x10ef4
add rdx, rbx
sub ecx, r14d
nop dword [rax]
nop dword [rax + rax]
mov dword [rdx + 0x2c], 0x40000000
lea rdx, [rdx + 0x2c]
sub rcx, 1
jne 0x140101a30
mov r15d, dword [rsp + 0x40]
lea r12, [0x14023d030]
mov r14, qword [rsp + 0xe0]
lea ecx, [r9 - 2]
imul rax, r10, 0x110
add rcx, rax
movzx eax, word [rbx + rsi*2 + 0x6d7c]
xor rax, 0x7f0
shr rax, 4
mov ecx, dword [rbx + rcx*4 + 0xbe4c]
movzx eax, byte [rax + r12]
add ecx, eax
movzx eax, word [rbx + r11*2 + 0x6d34]
shr rax, 4
movzx edx, byte [rax + r12]
lea eax, [rdi + rcx]
mov edi, dword [rsp + 0x44]
add edx, eax
mov eax, r8d
imul rcx, rax, 0x2c
cmp edx, dword [rcx + rbx + 0x10ef4]
jae 0x140101aef
mov eax, dword [rsp + 0x34]
inc eax
mov dword [rcx + rbx + 0x10ef4], edx
mov dword [rcx + rbx + 0x10ef8], eax
mov dword [rcx + rbx + 0x10efc], 0
mov word [rcx + rbx + 0x10ee8], 0x101
mov dword [rcx + rbx + 0x10eec], ebp
mov dword [rcx + rbx + 0x10ef0], r13d
jmp 0x140101aef
lea r12, [0x14023d030]
mov ecx, 2
mov r10, qword [rsp + 0xd8]
inc r13d
add r10, 4
mov qword [rsp + 0xd8], r10
cmp r13d, 4
jb 0x140101640
mov ecx, dword [rsp + 0x3c]
cmp ecx, r15d
jbe 0x140101b4a
xor edx, edx
mov ecx, r15d
cmp r15d, dword [rbx + 0x2f4]
jbe 0x140101b3c
nop dword [rax]
inc edx
cmp r15d, dword [rbx + rdx*8 + 0x2f4]
ja 0x140101b30
mov dword [rbx + rdx*8 + 0x2f4], r15d
inc edx
mov dword [rsp + 0x48], edx
cmp ecx, edi
jb 0x140101fc4
mov rax, qword [rsp + 0x68]
lea r8d, [rcx + rbp]
mov r9d, dword [rsp + 0xe8]
movzx eax, word [rax]
shr rax, 4
movzx r13d, byte [rax + r12]
add r13d, dword [rsp + 0x38]
mov dword [rsp + 0xd0], r13d
cmp r9d, r8d
jae 0x140101bb1
imul rdx, r9, 0x2c
mov ecx, r8d
mov dword [rsp + 0xe8], r8d
add rdx, 0x10ef4
add rdx, rbx
sub ecx, r9d
nop dword [rax]
mov dword [rdx + 0x2c], 0x40000000
lea rdx, [rdx + 0x2c]
sub rcx, 1
jne 0x140101ba0
xor r15d, r15d
cmp edi, dword [rbx + 0x2f4]
jbe 0x140101bcd
nop dword [rax]
inc r15d
cmp edi, dword [rbx + r15*8 + 0x2f4]
ja 0x140101bc0
mov ecx, dword [rsp + 0x100]
mov edx, ecx
imul rbp, qword [rsp + 0x70], 0x110
mov r12d, dword [rsp + 0xf8]
lea r14d, [rcx + 1]
neg edx
mov qword [rsp + 0x68], rbp
sub r12d, ecx
mov dword [rsp + 0x38], edx
add r14d, edi
mov dword [rsp + 0xd8], r12d
sub dword [rsp + 0xf0], ecx
not ecx
mov dword [rsp + 0x100], ecx
nop dword [rax]
nop dword [rax + rax]
mov esi, dword [rbx + r15*8 + 0x2f8]
lea edi, [rcx + r14]
mov dword [rsp + 0x34], esi
lea eax, [rdi - 2]
cmp edi, 6
jb 0x140101c3d
mov eax, 3
mov r8d, eax
lea r11d, [rdi - 2]
mov r9, rsi
cmp esi, 0x80
jae 0x140101c60
shl r8, 7
add r8, rsi
mov ecx, dword [rbx + r8*4 + 0x10690]
jmp 0x140101c8f
bsr edx, esi
mov eax, esi
shl r8, 6
lea ecx, [rdx - 1]
shr eax, cl
and eax, 1
lea ecx, [rax + rdx*2]
mov edx, dword [rsp + 0x38]
add rcx, r8
mov rax, r9
and eax, 0xf
mov ecx, dword [rbx + rcx*4 + 0x10290]
add ecx, dword [rbx + rax*4 + 0x10e98]
mov eax, r11d
add rax, rbp
mov ebp, dword [rbx + rax*4 + 0x7604]
add ebp, ecx
lea ecx, [r14 - 1]
add ecx, r12d
add ebp, r13d
imul rcx, rcx, 0x2c
add rcx, rbx
cmp ebp, dword [rcx + 0x10ef4]
jae 0x140101cda
mov eax, dword [rsp + 0xf8]
mov dword [rcx + 0x10ef8], eax
lea eax, [rsi + 4]
mov dword [rcx + 0x10efc], eax
mov dword [rcx + 0x10ef4], ebp
mov byte [rcx + 0x10ee8], 0
cmp edi, dword [rbx + r15*8 + 0x2f4]
jne 0x140101fac
mov rsi, qword [rsp + 0xe0]
lea r10d, [rdx + r14]
mov r11, rsi
mov edx, r14d
sub r11, r9
cmp dword [rsp + 0x108], r14d
cmovb edx, dword [rsp + 0x108]
cmp r10d, edx
jae 0x140101d34
mov ecx, r10d
lea r8, [r11 - 1]
add rcx, rsi
sub r8, rsi
nop
movzx eax, byte [r8 + rcx]
cmp byte [rcx], al
jne 0x140101d34
inc r10d
inc rcx
cmp r10d, edx
jb 0x140101d20
mov eax, 0xffffffff
mov dword [rsp + 0x3c], r10d
sub eax, edi
add r10d, eax
cmp r10d, 2
jb 0x140101fa2
mov r8d, dword [rsp + 0xf0]
lea eax, [rdi - 1]
movzx edx, byte [rax + rsi]
dec r8d
mov eax, dword [rbx + 0xb98]
add r8d, r14d
mov r13d, dword [rbx + 0xb90]
and eax, r8d
movzx r11d, byte [rdi + r11 - 1]
mov ecx, 8
sub cl, byte [rbx + 0xb94]
and r13d, r8d
shr edx, cl
xor esi, esi
mov ecx, dword [rbx + 0xb94]
shl eax, cl
add edx, eax
mov r9d, edi
mov rax, qword [rsp + 0xe0]
mov edi, 0x100
lea r12, [rdx + rdx*2]
movzx r8d, byte [r9 + rax]
lea r9, [0x14023d030]
shl r12, 9
add r12, rbx
add r8d, edi
nop
mov ecx, r8d
add r11d, r11d
shr ecx, 8
mov eax, edi
and eax, r11d
add eax, edi
add ecx, eax
movzx edx, word [r12 + rcx*2 + 0xb9c]
mov ecx, r8d
shr ecx, 7
add r8d, r8d
and ecx, 1
shr rdx, 4
neg ecx
shr rcx, 4
and ecx, 0x7f
xor rdx, rcx
movzx eax, byte [rdx + r9]
add esi, eax
mov eax, r11d
xor eax, r8d
not eax
and edi, eax
cmp r8d, 0x10000
jb 0x140101dc0
cmp dword [rsp + 0x30], 7
mov eax, 0x363e
mov ecx, 0x366e
cmovl ecx, eax
mov eax, r13d
add rcx, rax
movzx eax, word [rbx + rcx*2]
shr rax, 4
movzx edx, byte [rax + r9]
add edx, esi
add edx, ebp
cmp dword [rsp + 0x30], 7
jge 0x140101e4b
mov eax, 7
lea ecx, [rax - 3]
jmp 0x140101e55
mov eax, 4
mov ecx, 1
mov r8d, dword [rsp + 0x3c]
lea r9d, [r13 + 1]
mov ebp, dword [rsp + 0xf8]
lea r13, [0x14023d030]
mov r12d, dword [rsp + 0xe8]
cmovl eax, ecx
mov r11d, eax
add r8d, ebp
mov eax, dword [rbx + 0xb90]
mov esi, r11d
and r9, rax
shl rsi, 4
add rsi, r9
movzx eax, word [rbx + rsi*2 + 0x6b9c]
xor rax, 0x7f0
shr rax, 4
movzx ecx, byte [rax + r13]
movzx eax, word [rbx + r11*2 + 0x6d1c]
xor rax, 0x7f0
shr rax, 4
movzx edi, byte [rax + r13]
lea eax, [rdx + rcx]
add edi, eax
cmp r12d, r8d
jae 0x140101f01
imul rdx, r12, 0x2c
mov ecx, r8d
mov dword [rsp + 0xe8], r8d
add rdx, 0x10ef4
add rdx, rbx
sub ecx, r12d
nop word [rax + rax]
mov dword [rdx + 0x2c], 0x40000000
lea rdx, [rdx + 0x2c]
sub rcx, 1
jne 0x140101ef0
mov r12d, dword [rsp + 0xd8]
lea ecx, [r10 - 2]
imul rax, r9, 0x110
add rcx, rax
movzx eax, word [rbx + rsi*2 + 0x6d7c]
xor rax, 0x7f0
shr rax, 4
mov ecx, dword [rbx + rcx*4 + 0xbe4c]
movzx eax, byte [rax + r13]
add ecx, eax
movzx eax, word [rbx + r11*2 + 0x6d34]
shr rax, 4
movzx edx, byte [rax + r13]
lea eax, [rdi + rcx]
mov r13d, dword [rsp + 0xd0]
add edx, eax
mov eax, r8d
imul rcx, rax, 0x2c
cmp edx, dword [rcx + rbx + 0x10ef4]
jae 0x140101fa2
lea eax, [r12 + r14]
mov dword [rcx + rbx + 0x10ef4], edx
mov dword [rcx + rbx + 0x10ef8], eax
mov eax, dword [rsp + 0x34]
add eax, 4
mov dword [rcx + rbx + 0x10efc], 0
mov dword [rcx + rbx + 0x10ef0], eax
mov word [rcx + rbx + 0x10ee8], 0x101
mov dword [rcx + rbx + 0x10eec], ebp
inc r15d
cmp r15d, dword [rsp + 0x48]
je 0x140101fc4
mov edx, dword [rsp + 0x38]
inc r14d
mov rbp, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x100]
jmp 0x140101c20
mov eax, dword [rsp + 0xe8]
add rsp, 0x88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret