Function at 0x1011bd40
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
mov rax, rsp
sub rsp, 0xe8
cmp dword [rcx + 0x4c], 0
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rbp
mov qword [rax - 8], rsi
mov qword [rax - 0x10], rdi
mov qword [rax - 0x18], r12
mov qword [rax - 0x30], r15
mov r12d, 0x111
mov rdi, rcx
mov dword [rcx + 0x34], 0
mov dword [rcx + 0x30], 0
jne 0x1011be19
mov dword [rcx + 0x4c], 1
mov rcx, qword [rcx]
call qword [rdi + 0x10]
mov rcx, qword [rdi]
lea rdx, [rdi + 0xa20]
mov dword [rdi + 0x40], eax
call qword [rdi + 0x20]
mov r15, 0xfffffffffffff5e0
sub r15, rdi
add r15, rax
sar r15, 2
test r15d, r15d
jne 0x1011bdc3
xor esi, esi
jmp 0x1011be20
mov ebp, r15d
mov esi, dword [rdi + rbp*4 + 0xa18]
cmp esi, dword [rdi + 0x48]
jne 0x1011be20
mov ebx, dword [rdi + 0x40]
mov rcx, qword [rdi]
cmp ebx, r12d
cmova ebx, r12d
call qword [rdi + 0x18]
mov ecx, dword [rdi + rbp*4 + 0xa1c]
lea r11, [rax - 1]
mov rdx, 0xffffffffffffffff
sub rdx, rcx
mov ecx, ebx
add rsi, r11
add rcx, r11
cmp rsi, rcx
je 0x1011be14
movzx eax, byte [rdx + rsi]
cmp byte [rsi], al
jne 0x1011be14
inc rsi
cmp rsi, rcx
jne 0x1011be04
sub esi, r11d
jmp 0x1011be20
mov esi, dword [rcx + 0x38]
mov r15d, dword [rcx + 0x3c]
mov ebx, dword [rdi + 0x40]
cmp ebx, 2
jae 0x1011be3c
mov dword [rdi + 0xb8], 0xffffffff
mov eax, 1
jmp 0x1011d620
mov rcx, qword [rdi]
cmp ebx, r12d
mov qword [rsp + 0xc8], r13
mov qword [rsp + 0xc0], r14
cmova ebx, r12d
call qword [rdi + 0x18]
movzx r14d, byte [rax - 1]
lea r11, [rax - 1]
xor r13d, r13d
xor r10d, r10d
xor r9d, r9d
lea rbp, [rdi + 0x50]
xor r12d, r12d
mov ecx, dword [rbp]
mov r8, r11
sub r8, rcx
mov dword [rsp + r9 + 0x48], ecx
cmp r14b, byte [r8]
jne 0x1011bed4
movzx eax, byte [r8 + 1]
cmp byte [r11 + 1], al
jne 0x1011bed4
mov edx, 2
cmp ebx, edx
jbe 0x1011beb2
lea rcx, [r11 + 2]
sub r8, r11
movzx eax, byte [r8 + rcx]
cmp byte [rcx], al
jne 0x1011beb2
inc edx
inc rcx
cmp edx, ebx
jb 0x1011bea0
mov dword [rsp + r9 + 0x88], edx
cmp edx, dword [rsp + r12 + 0x88]
jbe 0x1011beca
mov r13d, r10d
mov r12, r9
cmp edx, 0x111
je 0x1011bef1
jmp 0x1011bee0
mov dword [rsp + r9 + 0x88], 0
inc r10d
add r9, 4
add rbp, 4
cmp r10d, 4
jb 0x1011be72
mov ecx, dword [rdi + 0x48]
mov eax, r13d
mov r10d, dword [rsp + rax*4 + 0x88]
cmp r10d, ecx
mov dword [rsp + 0x20], r10d
jb 0x1011bf2a
lea ecx, [r10 - 1]
lea edx, [r10 - 1]
mov dword [rdi + 0xb8], r13d
add dword [rdi + 0x4c], ecx
mov rcx, qword [rdi]
call qword [rdi + 0x28]
mov eax, dword [rsp + 0x20]
jmp 0x1011d610
cmp esi, ecx
jb 0x1011bf57
mov ecx, r15d
mov edx, dword [rdi + rcx*4 + 0xa1c]
lea ecx, [rsi - 1]
add dword [rdi + 0x4c], ecx
mov rcx, qword [rdi]
add edx, 4
mov dword [rdi + 0xb8], edx
lea edx, [rsi - 1]
call qword [rdi + 0x28]
mov eax, esi
jmp 0x1011d610
mov eax, dword [rsp + 0x48]
mov rcx, r11
sub rcx, rax
cmp r10d, esi
mov dword [rsp + 0x3c], eax
movzx ebp, byte [rcx]
cmovbe r10d, esi
cmp r10d, 2
mov dword [rsp + 0x20], r10d
jae 0x1011bf93
cmp r14b, bpl
je 0x1011bf93
mov dword [rdi + 0xb8], 0xffffffff
mov eax, 1
jmp 0x1011d610
movzx eax, word [rdi + 0x44]
mov ecx, dword [rdi + 0xbc]
mov r12d, dword [rdi + 0x64]
mov r13d, dword [rdi + 0x44]
mov word [rdi + 0xf57c], ax
mov eax, dword [rsp + 0xf8]
movzx edx, byte [r11 - 1]
and r12d, eax
shl eax, 8
add edx, eax
mov rax, qword [rdi + 0x68]
and edx, dword [rdi + 0x60]
shl edx, cl
cmp r13d, 7
lea ecx, [rdx + rdx*2]
lea rbx, [rax + rcx*2]
jb 0x1011c047
movzx r8d, r14b
xor r11d, r11d
movzx r9d, bpl
bts r8d, 8
mov r10d, 0x100
mov ecx, r8d
add r9d, r9d
mov eax, r10d
shr ecx, 8
and eax, r9d
add eax, r10d
add ecx, eax
movzx edx, word [rbx + rcx*2]
mov ecx, r8d
add r8d, r8d
shr ecx, 7
shr rdx, 4
mov eax, r8d
and ecx, 1
xor eax, r9d
neg ecx
not eax
shr rcx, 4
and r10d, eax
and ecx, 0x7f
xor rdx, rcx
add r11d, dword [rdi + rdx*4 + 0x820]
cmp r8d, 0x10000
jb 0x1011bff0
mov r10d, dword [rsp + 0x20]
jmp 0x1011c08f
movzx r8d, r14b
xor r9d, r9d
bts r8d, 8
nop
nop
nop
nop
mov eax, r8d
shr r8d, 1
movzx edx, word [rbx + r8*2]
and eax, 1
neg eax
shr rdx, 4
shr rax, 4
and eax, 0x7f
xor rdx, rax
add r9d, dword [rdi + rdx*4 + 0x820]
cmp r8d, 2
jae 0x1011c060
mov r11d, r9d
mov r8, r13
mov eax, r12d
mov rdx, r13
shl r8, 4
add r8, rax
movzx eax, word [rdi + r8*2 + 0x1f70]
shr rax, 4
mov eax, dword [rdi + rax*4 + 0x820]
mov dword [rdi + 0xf5a4], 0xffffffff
mov word [rdi + 0xf59e], 0
lea ecx, [r11 + rax]
mov dword [rdi + 0xf598], ecx
movzx eax, word [rdi + r8*2 + 0x1f70]
xor rax, 0x7f0
shr rax, 4
mov ecx, dword [rdi + rax*4 + 0x820]
movzx eax, word [rdi + r13*2 + 0x1f10]
xor rax, 0x7f0
mov dword [rsp + 0x34], ecx
shr rax, 4
cmp bpl, r14b
mov eax, dword [rdi + rax*4 + 0x820]
lea r13d, [rcx + rax]
jne 0x1011c17d
mov ebp, dword [rsp + 0x88]
test ebp, ebp
jne 0x1011c184
movzx eax, word [rdi + rdx*2 + 0x1f28]
movzx ecx, word [rdi + r8*2 + 0x20f0]
shr rcx, 4
shr rax, 4
mov edx, dword [rdi + rcx*4 + 0x820]
add edx, dword [rdi + rax*4 + 0x820]
add edx, r13d
cmp edx, dword [rdi + 0xf598]
jae 0x1011c161
mov dword [rdi + 0xf598], edx
mov dword [rdi + 0xf5a4], ebp
mov word [rdi + 0xf59e], bp
cmp r10d, 2
jae 0x1011c184
mov eax, dword [rdi + 0xf5a4]
mov dword [rdi + 0xb8], eax
mov eax, 1
jmp 0x1011d610
mov ebp, dword [rsp + 0x88]
mov eax, dword [rsp + 0x3c]
mov dword [rdi + 0xf5a0], 1
xor r10d, r10d
mov dword [rdi + 0xf588], eax
mov eax, dword [rsp + 0x4c]
movsxd r12, r12d
mov dword [rsp + 0x58], eax
mov dword [rdi + 0xf58c], eax
mov eax, dword [rsp + 0x50]
mov dword [rdi + 0xf590], eax
mov eax, dword [rsp + 0x54]
lea rbx, [rsp + 0x88]
mov dword [rdi + 0xf594], eax
nop
nop
movsxd r8, dword [rbx]
cmp r8d, 2
jb 0x1011c2e2
test r10d, r10d
mov ecx, dword [rdi + 0x44]
movzx eax, word [rdi + rcx*2 + 0x1f28]
jne 0x1011c21d
shl rcx, 4
shr rax, 4
add rcx, r12
movzx ecx, word [rdi + rcx*2 + 0x20f0]
xor rcx, 0x7f0
shr rcx, 4
mov r9d, dword [rdi + rcx*4 + 0x820]
add r9d, dword [rdi + rax*4 + 0x820]
jmp 0x1011c28c
movzx r11d, word [rdi + rcx*2 + 0x1f40]
xor rax, 0x7f0
shr rax, 4
cmp r10d, 1
mov r9d, dword [rdi + rax*4 + 0x820]
jne 0x1011c24f
mov rax, r11
shr rax, 4
add r9d, dword [rdi + rax*4 + 0x820]
jmp 0x1011c28c
movzx edx, word [rdi + rcx*2 + 0x1f58]
mov eax, 2
mov rcx, r11
sub eax, r10d
shr rdx, 4
xor rcx, 0x7f0
shr rax, 4
shr rcx, 4
and eax, 0x7f
xor rdx, rax
mov eax, dword [rdi + rdx*4 + 0x820]
add eax, dword [rdi + rcx*4 + 0x820]
add r9d, eax
mov rax, r12
mov rcx, r8
lea r11d, [r9 + r13]
imul rax, rax, 0x110
add rax, r8
shl rcx, 5
lea rdx, [rcx + rdi + 0xf584]
lea r9, [rdi + rax*4 + 0xb170]
mov eax, dword [r9]
lea ecx, [r11 + rax]
cmp ecx, dword [rdx - 0xc]
jae 0x1011c2d0
mov dword [rdx - 0xc], ecx
mov dword [rdx - 4], r8d
mov dword [rdx], r10d
mov word [rdx - 6], 0
add r8d, 0xffffffff
sub r9, 4
sub rdx, 0x20
cmp r8d, 2
jae 0x1011c2b4
inc r10d
add rbx, 4
cmp r10d, 4
jb 0x1011c1d0
lea r9d, [rbp + 1]
mov edx, 6
cmp r9d, esi
ja 0x1011c43a
mov eax, dword [rdi + 0x44]
mov r14d, dword [rsp + 0x34]
xor esi, esi
movzx ecx, word [rdi + rax*2 + 0x1f10]
shr rcx, 4
add r14d, dword [rdi + rcx*4 + 0x820]
cmp r9d, 2
jae 0x1011c32f
lea r9d, [rdx - 4]
jmp 0x1011c34c
lea rax, [rdi + 0xa20]
cmp r9d, dword [rax]
jbe 0x1011c34c
nop
nop
add rax, 8
add esi, 2
cmp r9d, dword [rax]
ja 0x1011c340
imul r12, r12, 0x110
movsxd rcx, r9d
movsxd rax, esi
lea r13, [rcx - 2]
lea rbp, [rdi + rax*4 + 0xa20]
add r12, rcx
shl rcx, 5
lea r10, [rcx + rdi + 0xf584]
lea r12, [rdi + r12*4 + 0x6d6c]
nop
mov ebx, dword [rbp + 4]
mov eax, dword [r12]
cmp r9d, 5
mov r8d, 3
lea r11d, [r14 + rax]
cmovb r8, r13
cmp ebx, 0x80
jae 0x1011c3b7
mov eax, ebx
shl r8, 7
and eax, 0x7f
add rax, r8
add r11d, dword [rdi + rax*4 + 0x16f0]
jmp 0x1011c3fa
mov ecx, 0x13
cmp ebx, 0x100000
mov rax, rbx
cmovb ecx, edx
shl r8, 6
mov edx, 6
shr rax, cl
movzx eax, byte [rax + rdi + 0x2d70]
lea ecx, [rax + rcx*2]
mov eax, ecx
mov cl, bl
add rax, r8
and ecx, 0xf
mov eax, dword [rdi + rax*4 + 0x12f0]
add eax, dword [rdi + rcx*4 + 0x12b0]
add r11d, eax
cmp r11d, dword [r10 - 0xc]
jae 0x1011c415
lea eax, [rbx + 4]
mov dword [r10 - 0xc], r11d
mov dword [r10 - 4], r9d
mov dword [r10], eax
mov word [r10 - 6], 0
cmp r9d, dword [rbp]
jne 0x1011c427
add esi, 2
add rbp, 8
cmp esi, r15d
je 0x1011c43a
inc r9d
add r12, 4
inc r13
add r10, 0x20
jmp 0x1011c380
mov r12d, dword [rsp + 0x20]
mov r14d, 1
mov rbx, r14
mov dword [rsp + 0x24], r14d
mov qword [rsp + 0x78], r14
cmp r12d, ebx
je 0x1011d515
lea rsi, [0x10000000]
cmp r14d, 0x7c0
jae 0x1011d4b9
mov rcx, qword [rdi]
inc dword [rdi + 0x4c]
call qword [rdi + 0x10]
mov rcx, qword [rdi]
lea rdx, [rdi + 0xa20]
mov dword [rdi + 0x40], eax
call qword [rdi + 0x20]
mov rcx, 0xfffffffffffff5e0
sub rcx, rdi
add rax, rcx
sar rax, 2
test eax, eax
mov qword [rsp + 0xa0], rax
jne 0x1011c4b1
xor ebp, ebp
mov qword [rsp + 0x68], rbp
jmp 0x1011c52f
mov esi, eax
mov ebp, dword [rdi + rsi*4 + 0xa18]
cmp ebp, dword [rdi + 0x48]
mov qword [rsp + 0x68], rbp
je 0x1011c4cd
lea rsi, [0x10000000]
jmp 0x1011c52f
mov ebx, dword [rdi + 0x40]
mov rcx, qword [rdi]
mov eax, 0x111
cmp ebx, eax
cmova ebx, eax
call qword [rdi + 0x18]
mov ecx, dword [rdi + rsi*4 + 0xa1c]
lea r11, [rax - 1]
mov rdx, 0xffffffffffffffff
sub rdx, rcx
mov ecx, ebx
add rbp, r11
add rcx, r11
cmp rbp, rcx
je 0x1011c513
movzx eax, byte [rdx + rbp]
cmp byte [rbp], al
jne 0x1011c513
inc rbp
cmp rbp, rcx
jne 0x1011c502
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x78]
sub ebp, r11d
mov qword [rsp + 0x68], rbp
lea rsi, [0x10000000]
cmp ebp, dword [rdi + 0x48]
jae 0x1011d50f
mov r13d, dword [rsp + 0xf8]
shl rbx, 5
mov ecx, r14d
mov eax, dword [rbx + rdi + 0xf580]
inc r13d
sub ecx, eax
cmp eax, 1
mov dword [rsp + 0xf8], r13d
jne 0x1011c5ac
mov eax, ecx
shl rax, 5
cmp dword [rbx + rdi + 0xf584], 0
movzx ecx, word [rax + rdi + 0xf57c]
jne 0x1011c592
movzx esi, byte [rcx + rsi + 0x151418]
mov ebp, dword [rsp + 0x3c]
mov r8d, dword [rsp + 0x50]
mov eax, dword [rsp + 0x54]
jmp 0x1011c6c0
movzx esi, byte [rcx + rsi + 0x1513e8]
mov ebp, dword [rsp + 0x3c]
mov r8d, dword [rsp + 0x50]
mov eax, dword [rsp + 0x54]
jmp 0x1011c6c0
movzx r8d, word [rbx + rdi + 0xf57e]
mov edx, dword [rbx + rdi + 0xf584]
test r8w, r8w
je 0x1011c5e2
movzx eax, r8w
mov esi, 8
sub ecx, eax
cmp r8w, 1
jne 0x1011c60a
xor esi, esi
cmp edx, 4
setb sil
add esi, 7
jmp 0x1011c60a
mov eax, ecx
shl rax, 5
cmp edx, 4
movzx r8d, word [rax + rdi + 0xf57c]
jae 0x1011c601
movzx esi, byte [r8 + rsi + 0x151408]
jmp 0x1011c60a
movzx esi, byte [r8 + rsi + 0x1513f8]
mov eax, ecx
shl rax, 5
cmp edx, 4
lea rcx, [rax + rdi + 0xf578]
mov eax, dword [rcx + 0x10]
mov dword [rsp + 0x58], eax
jae 0x1011c69d
test edx, edx
jne 0x1011c653
mov r8d, dword [rcx + 0x18]
mov ebp, eax
mov dword [rsp + 0x3c], eax
mov dword [rsp + 0x48], eax
mov eax, dword [rcx + 0x14]
mov dword [rsp + 0x50], r8d
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x4c], eax
mov eax, dword [rcx + 0x1c]
mov dword [rsp + 0x54], eax
jmp 0x1011c6c0
cmp edx, 1
mov ebp, dword [rcx + 0x14]
mov dword [rsp + 0x4c], eax
mov dword [rsp + 0x3c], ebp
jne 0x1011c679
mov r8d, dword [rcx + 0x18]
mov eax, dword [rcx + 0x1c]
mov dword [rsp + 0x48], ebp
mov dword [rsp + 0x50], r8d
mov dword [rsp + 0x54], eax
jmp 0x1011c6c0
mov rax, rdx
mov r8d, ebp
mov dword [rsp + 0x50], ebp
mov ebp, dword [rcx + rdx*4 + 0x10]
xor rax, 1
mov eax, dword [rcx + rax*4 + 0x10]
mov dword [rsp + 0x3c], ebp
mov dword [rsp + 0x48], ebp
mov dword [rsp + 0x54], eax
jmp 0x1011c6c0
mov r8d, dword [rcx + 0x14]
lea ebp, [rdx - 3]
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x4c], eax
mov eax, dword [rcx + 0x18]
mov dword [rsp + 0x3c], ebp
mov dword [rsp + 0x48], ebp
mov dword [rsp + 0x50], r8d
mov dword [rsp + 0x54], eax
mov ecx, dword [rsp + 0x58]
mov word [rbx + rdi + 0xf57c], si
mov dword [rbx + rdi + 0xf588], ebp
mov dword [rbx + rdi + 0xf590], r8d
mov dword [rbx + rdi + 0xf594], eax
mov dword [rbx + rdi + 0xf58c], ecx
mov rcx, qword [rdi]
call qword [rdi + 0x18]
mov edx, dword [rbx + rdi + 0xf578]
movzx r14d, byte [rax - 1]
lea r8, [rax - 1]
mov ecx, ebp
mov ebp, dword [rdi + 0x64]
and ebp, r13d
mov r13d, dword [rbx + rdi + 0xf598]
mov eax, esi
mov qword [rsp + 0x80], rax
mov eax, ebp
mov r11d, esi
shl r11, 4
xor r10d, r10d
mov r12, r8
add r11, rax
sub r12, rcx
mov qword [rsp + 0x40], r8
movzx eax, word [rdi + r11*2 + 0x1f70]
movzx r9d, byte [r12]
mov dword [rsp + 0x30], ebp
mov rcx, rax
xor rax, 0x7f0
mov byte [rsp + 0x28], r9b
shr rax, 4
shr rcx, 4
mov qword [rsp + 0x60], r11
mov eax, dword [rdi + rax*4 + 0x820]
mov dword [rsp + 0x38], r10d
add eax, edx
cmp r13d, 0x40000000
mov dword [rsp + 0x34], eax
mov eax, dword [rdi + rcx*4 + 0x820]
lea r15d, [rdx + rax]
jae 0x1011c78b
cmp r9b, r14b
je 0x1011c790
cmp r15d, r13d
jbe 0x1011c798
xor r15d, r15d
jmp 0x1011c8d4
mov ecx, dword [rdi + 0xbc]
mov eax, dword [rsp + 0xf8]
movzx edx, byte [r8 - 1]
shl eax, 8
add edx, eax
mov rax, qword [rdi + 0x68]
and edx, dword [rdi + 0x60]
shl edx, cl
cmp esi, 7
lea ecx, [rdx + rdx*2]
lea rbp, [rax + rcx*2]
jb 0x1011c838
movzx r8d, r14b
xor r11d, r11d
movzx r9d, r9b
bts r8d, 8
mov r10d, 0x100
nop
mov ecx, r8d
add r9d, r9d
mov eax, r10d
shr ecx, 8
and eax, r9d
add eax, r10d
add ecx, eax
movzx edx, word [rbp + rcx*2]
mov ecx, r8d
add r8d, r8d
shr ecx, 7
shr rdx, 4
mov eax, r8d
and ecx, 1
xor eax, r9d
neg ecx
not eax
shr rcx, 4
and r10d, eax
and ecx, 0x7f
xor rdx, rcx
add r11d, dword [rdi + rdx*4 + 0x820]
cmp r8d, 0x10000
jb 0x1011c7e0
mov r10d, dword [rsp + 0x38]
jmp 0x1011c880
movzx r8d, r14b
xor r9d, r9d
bts r8d, 8
nop
nop
nop
mov eax, r8d
shr r8d, 1
movzx edx, word [rbp + r8*2]
and eax, 1
neg eax
shr rdx, 4
shr rax, 4
and eax, 0x7f
xor rdx, rax
add r9d, dword [rdi + rdx*4 + 0x820]
cmp r8d, 2
jae 0x1011c850
mov r11d, r9d
add r15d, r11d
cmp r15d, r13d
jae 0x1011c8c6
mov r9b, byte [rsp + 0x28]
mov r11, qword [rsp + 0x60]
mov ebp, dword [rsp + 0x30]
mov dword [rbx + rdi + 0xf598], r15d
mov dword [rbx + rdi + 0xf5a0], 1
mov dword [rbx + rdi + 0xf5a4], 0xffffffff
mov word [rbx + rdi + 0xf59e], 0
mov r10d, 1
jmp 0x1011c8d4
mov r9b, byte [rsp + 0x28]
mov r11, qword [rsp + 0x60]
mov ebp, dword [rsp + 0x30]
mov ecx, dword [rdi + 0x40]
mov r13d, dword [rsp + 0x34]
mov edx, esi
movzx eax, word [rdi + rdx*2 + 0x1f10]
xor rax, 0x7f0
shr rax, 4
mov eax, dword [rdi + rax*4 + 0x820]
add r13d, eax
mov eax, 0x7ff
sub eax, dword [rsp + 0x24]
mov dword [rsp + 0x98], r13d
cmp ecx, eax
cmova ecx, eax
cmp esi, 7
mov dword [rsp + 0x5c], ecx
jae 0x1011c9aa
cmp r9b, r14b
jne 0x1011c9aa
mov r8d, dword [rbx + rdi + 0xf598]
cmp r13d, r8d
jae 0x1011c9aa
cmp dword [rbx + rdi + 0xf5a0], 2
jb 0x1011c947
cmp dword [rbx + rdi + 0xf5a4], 0
je 0x1011c9aa
movzx eax, word [rdi + rdx*2 + 0x1f28]
movzx ecx, word [rdi + r11*2 + 0x20f0]
shr rcx, 4
shr rax, 4
mov edx, dword [rdi + rcx*4 + 0x820]
add edx, dword [rdi + rax*4 + 0x820]
add edx, r13d
cmp edx, r8d
jae 0x1011c9a6
mov ecx, dword [rsp + 0x5c]
mov dword [rbx + rdi + 0xf598], edx
mov dword [rbx + rdi + 0xf5a0], 1
mov dword [rbx + rdi + 0xf5a4], 0
mov word [rbx + rdi + 0xf59e], 0
xor r10d, r10d
jmp 0x1011c9aa
mov ecx, dword [rsp + 0x5c]
cmp ecx, 2
jb 0x1011d488
mov edx, dword [rdi + 0x48]
cmp ecx, edx
mov ebx, edx
cmovbe ebx, ecx
test r10d, r10d
mov dword [rsp + 0x2c], ebx
jne 0x1011cb3f
test r15d, r15d
je 0x1011cb50
cmp r9b, r14b
je 0x1011cb61
cmp ecx, 2
jbe 0x1011cb72
mov r13, qword [rsp + 0x40]
movzx eax, byte [r12 + 1]
cmp byte [r13 + 1], al
jne 0x1011cb83
movzx eax, byte [r12 + 2]
cmp byte [r13 + 2], al
jne 0x1011cb8f
inc edx
mov r10d, 3
cmp edx, ecx
mov r11, r10
cmova edx, ecx
cmp edx, r10d
jbe 0x1011ca3d
lea rcx, [r13 + 3]
sub r12, r13
movzx eax, byte [r12 + rcx]
cmp byte [rcx], al
jne 0x1011ca3d
inc r10d
inc r11
inc rcx
cmp r10d, edx
jb 0x1011ca26
mov r9d, dword [rsp + 0xf8]
mov r12d, dword [rsp + 0x20]
mov r14d, dword [rsp + 0x24]
inc r9d
mov ecx, esi
lea rax, [0x10000000]
movzx eax, byte [rcx + rax + 0x1513e8]
and r9d, dword [rdi + 0x64]
mov rcx, rax
mov r8, rax
shl rcx, 4
add rcx, r9
movzx edx, word [rdi + rcx*2 + 0x20f0]
movzx eax, word [rdi + rcx*2 + 0x1f70]
xor rax, 0x7f0
xor rdx, 0x7f0
shr rax, 4
shr rdx, 4
mov ecx, dword [rdi + rdx*4 + 0x820]
mov rdx, qword [rsp + 0x78]
add ecx, dword [rdi + rax*4 + 0x820]
movzx eax, word [rdi + r8*2 + 0x1f10]
add rdx, r11
xor rax, 0x7f0
shr rax, 4
add ecx, dword [rdi + rax*4 + 0x820]
movzx eax, word [rdi + r8*2 + 0x1f28]
shr rax, 4
add ecx, dword [rdi + rax*4 + 0x820]
lea eax, [r10 + r14]
cmp r12d, eax
lea r8d, [r15 + rcx]
cmovb r12d, eax
shl rdx, 5
mov dword [rsp + 0x20], r12d
imul r9, r9, 0x110
add r9, r11
add r8d, dword [rdi + r9*4 + 0xb16c]
cmp r8d, dword [rdx + rdi + 0xf578]
jae 0x1011cb99
lea eax, [r10 - 1]
mov dword [rdx + rdi + 0xf578], r8d
mov dword [rdx + rdi + 0xf584], 0
mov dword [rdx + rdi + 0xf580], eax
mov word [rdx + rdi + 0xf57e], 1
jmp 0x1011cb99
mov r13, qword [rsp + 0x40]
mov r12d, dword [rsp + 0x20]
mov r14d, dword [rsp + 0x24]
jmp 0x1011cb99
mov r13, qword [rsp + 0x40]
mov r12d, dword [rsp + 0x20]
mov r14d, dword [rsp + 0x24]
jmp 0x1011cb99
mov r13, qword [rsp + 0x40]
mov r12d, dword [rsp + 0x20]
mov r14d, dword [rsp + 0x24]
jmp 0x1011cb99
mov r13, qword [rsp + 0x40]
mov r12d, dword [rsp + 0x20]
mov r14d, dword [rsp + 0x24]
jmp 0x1011cb99
mov r12d, dword [rsp + 0x20]
mov r14d, dword [rsp + 0x24]
jmp 0x1011cb99
mov r12d, dword [rsp + 0x20]
mov r14d, dword [rsp + 0x24]
lea rax, [rsp + 0x48]
xor esi, esi
movsxd r15, ebp
mov qword [rsp + 0xa8], rax
mov dword [rsp + 0x30], 2
mov dword [rsp + 0x70], esi
mov qword [rsp + 0x60], r15
nop
mov eax, dword [rax]
mov r11, r13
sub r11, rax
movzx eax, byte [r11]
cmp byte [r13], al
jne 0x1011cfc8
movzx eax, byte [r11 + 1]
cmp byte [r13 + 1], al
jne 0x1011cfc8
mov r9d, 2
cmp ebx, r9d
jbe 0x1011cc06
mov ecx, r9d
movzx eax, byte [rcx + r11]
cmp byte [rcx + r13], al
jne 0x1011cc06
inc r9d
cmp r9d, ebx
jb 0x1011cbf0
mov rbx, qword [rsp + 0x80]
lea eax, [r9 + r14]
mov r8d, r9d
movzx edx, word [rdi + rbx*2 + 0x1f28]
cmp r12d, eax
cmovb r12d, eax
test esi, esi
mov dword [rsp + 0x20], r12d
jne 0x1011cc63
mov rax, rbx
shl rax, 4
add rax, r15
movzx ecx, word [rdi + rax*2 + 0x20f0]
mov rax, rdx
xor rcx, 0x7f0
shr rax, 4
shr rcx, 4
mov r10d, dword [rdi + rcx*4 + 0x820]
add r10d, dword [rdi + rax*4 + 0x820]
jmp 0x1011cccf
movzx ecx, word [rdi + rbx*2 + 0x1f40]
mov rax, rdx
xor rax, 0x7f0
shr rax, 4
cmp esi, 1
mov r10d, dword [rdi + rax*4 + 0x820]
jne 0x1011cc96
mov rax, rcx
shr rax, 4
add r10d, dword [rdi + rax*4 + 0x820]
jmp 0x1011cccf
movzx edx, word [rdi + rbx*2 + 0x1f58]
mov eax, 2
xor rcx, 0x7f0
sub eax, esi
shr rdx, 4
shr rcx, 4
shr rax, 4
and eax, 0x7f
xor rdx, rax
mov eax, dword [rdi + rdx*4 + 0x820]
add eax, dword [rdi + rcx*4 + 0x820]
add r10d, eax
mov eax, dword [rsp + 0x98]
movsxd rcx, r9d
lea ebp, [r10 + rax]
mov rax, r15
mov dword [rsp + 0x38], ebp
imul rax, rax, 0x110
mov qword [rsp + 0x88], rax
add rax, rcx
lea rdx, [rdi + rax*4 + 0xb170]
mov rax, qword [rsp + 0x78]
add rax, rcx
shl rax, 5
lea rcx, [rax + rdi + 0xf584]
mov edi, ebp
mov eax, dword [rdx]
lea r10d, [rdi + rax]
cmp r10d, dword [rcx - 0xc]
jae 0x1011cd30
mov dword [rcx - 0xc], r10d
mov dword [rcx - 4], r8d
mov dword [rcx], esi
mov word [rcx - 6], 0
add r8d, 0xffffffff
sub rdx, 4
sub rcx, 0x20
cmp r8d, 2
jae 0x1011cd14
test esi, esi
mov rdi, qword [rsp + 0xf0]
jne 0x1011cd57
lea r10d, [r9 + 1]
mov dword [rsp + 0x30], r10d
mov eax, dword [rdi + 0x48]
lea r8d, [r9 + 1]
lea ebx, [r8 + rax]
mov eax, dword [rsp + 0x5c]
cmp ebx, eax
cmova ebx, eax
add r8d, 2
cmp r8d, ebx
ja 0x1011cfb8
lea eax, [r8 - 2]
mov ecx, eax
movzx eax, byte [rax + r11]
cmp byte [rcx + r13], al
jne 0x1011cfbe
lea eax, [r8 - 1]
mov ecx, eax
movzx eax, byte [rax + r11]
cmp byte [rcx + r13], al
jne 0x1011cfc4
mov eax, dword [rsp + 0xf8]
mov r14, qword [rdi + 0x68]
mov r15d, r9d
movzx r10d, byte [r15 + r13]
movzx esi, byte [r15 + r11]
lea ecx, [r9 + rax]
mov eax, dword [rdi + 0x64]
xor r12d, r12d
bts r10d, 8
and eax, ecx
shl ecx, 8
mov ebp, 0x100
mov dword [rsp + 0x74], eax
movzx eax, byte [r15 + r13 - 1]
add eax, ecx
mov ecx, dword [rdi + 0xbc]
and eax, dword [rdi + 0x60]
shl eax, cl
lea r13d, [rax + rax*2]
nop
add esi, esi
mov eax, ebp
mov ecx, r10d
shr ecx, 8
and eax, esi
add eax, ebp
add eax, ecx
mov ecx, r10d
add r10d, r10d
shr ecx, 7
add rax, r13
movzx edx, word [r14 + rax*2]
and ecx, 1
mov eax, r10d
neg ecx
shr rdx, 4
xor eax, esi
shr rcx, 4
not eax
and ecx, 0x7f
and ebp, eax
xor rdx, rcx
add r12d, dword [rdi + rdx*4 + 0x820]
cmp r10d, 0x10000
jb 0x1011cdf0
mov r10d, dword [rsp + 0x74]
mov rcx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x88]
mov ebp, dword [rsp + 0x38]
add rax, r15
lea rdx, [0x10000000]
movzx ecx, byte [rcx + rdx + 0x151408]
shl rcx, 4
add rcx, r10
movzx ecx, word [rdi + rcx*2 + 0x1f70]
shr rcx, 4
mov edx, dword [rdi + rcx*4 + 0x820]
add edx, dword [rdi + rax*4 + 0xb170]
lea eax, [r10 + 1]
and eax, dword [rdi + 0x64]
add edx, r12d
movzx ecx, word [rdi + rax*2 + 0x2190]
mov r10d, eax
movzx eax, word [rdi + rax*2 + 0x2010]
xor rax, 0x7f0
add ebp, edx
xor rcx, 0x7f0
shr rax, 4
shr rcx, 4
mov edx, dword [rdi + rcx*4 + 0x820]
add edx, dword [rdi + rax*4 + 0x820]
movzx eax, word [rdi + 0x1f1a]
xor rax, 0x7f0
shr rax, 4
add edx, dword [rdi + rax*4 + 0x820]
movzx eax, word [rdi + 0x1f32]
shr rax, 4
add edx, dword [rdi + rax*4 + 0x820]
movsxd rax, r8d
add ebp, edx
cmp r8d, ebx
jae 0x1011cf26
mov r13, qword [rsp + 0x40]
sub r11, r13
lea rcx, [r13 + rax]
nop
movzx eax, byte [r11 + rcx]
cmp byte [rcx], al
jne 0x1011cf2b
inc r8d
inc rcx
cmp r8d, ebx
jb 0x1011cf10
jmp 0x1011cf2b
mov r13, qword [rsp + 0x40]
mov r12d, dword [rsp + 0x20]
mov r14d, dword [rsp + 0x24]
sub r8d, r9d
lea ecx, [r8 + r9]
add ecx, r14d
cmp r12d, ecx
cmovb r12d, ecx
add r8d, 0xffffffff
mov eax, r8d
mov dword [rsp + 0x20], r12d
imul r10, r10, 0x110
add r10, rax
mov eax, dword [rdi + r10*4 + 0xb170]
lea edx, [rbp + rax]
mov eax, ecx
shl rax, 5
cmp edx, dword [rax + rdi + 0xf578]
jae 0x1011cfa9
mov esi, dword [rsp + 0x70]
mov ebx, dword [rsp + 0x2c]
mov r15, qword [rsp + 0x60]
inc r9w
mov dword [rax + rdi + 0xf584], esi
mov dword [rax + rdi + 0xf578], edx
mov dword [rax + rdi + 0xf580], r8d
mov word [rax + rdi + 0xf57e], r9w
jmp 0x1011cfc8
mov esi, dword [rsp + 0x70]
mov ebx, dword [rsp + 0x2c]
mov r15, qword [rsp + 0x60]
jmp 0x1011cfc8
mov ebx, dword [rsp + 0x2c]
jmp 0x1011cfc8
mov ebx, dword [rsp + 0x2c]
jmp 0x1011cfc8
mov ebx, dword [rsp + 0x2c]
mov rax, qword [rsp + 0xa8]
inc esi
add rax, 4
cmp esi, 4
mov dword [rsp + 0x70], esi
mov qword [rsp + 0xa8], rax
jb 0x1011cbc0
mov rcx, qword [rsp + 0x68]
cmp ecx, ebx
jbe 0x1011d02e
lea r8, [rdi + 0xa20]
xor edx, edx
xor eax, eax
cmp ebx, dword [r8]
mov ecx, ebx
jbe 0x1011d01d
nop
nop
nop
add rax, 2
add edx, 2
cmp ebx, dword [r8 + rax*4]
ja 0x1011d010
add edx, 2
mov dword [r8 + rax*4], ebx
mov qword [rsp + 0xa0], rdx
jmp 0x1011d035
lea r8, [rdi + 0xa20]
mov r10d, dword [rsp + 0x30]
cmp ecx, r10d
jb 0x1011d492
mov rax, qword [rsp + 0x80]
mov edx, dword [rsp + 0x34]
movzx eax, word [rdi + rax*2 + 0x1f10]
shr rax, 4
mov eax, dword [rdi + rax*4 + 0x820]
add edx, eax
lea eax, [rcx + r14]
cmp r12d, eax
mov dword [rsp + 0x74], edx
cmovb r12d, eax
xor r11d, r11d
xor eax, eax
cmp r10d, dword [r8]
mov dword [rsp + 0x2c], r11d
mov dword [rsp + 0x20], r12d
jbe 0x1011d0a3
nop
nop
nop
add rax, 2
add r11d, 2
cmp r10d, dword [r8 + rax*4]
ja 0x1011d090
mov dword [rsp + 0x2c], r11d
mov r10d, dword [r8 + rax*4 + 4]
lea rsi, [r8 + rax*4]
mov eax, 6
cmp r10d, 0x100000
mov ecx, 0x13
mov qword [rsp + 0x68], rsi
cmovb ecx, eax
mov rax, r10
mov dword [rsp + 0x38], r10d
shr rax, cl
mov r8, r10
imul r15, r15, 0x110
movzx eax, byte [rax + rdi + 0x2d70]
mov qword [rsp + 0x60], r15
lea r15d, [r14 - 3]
lea r9d, [rax + rcx*2]
mov eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0xf8]
lea r12d, [rax + rcx]
lea ebx, [rax + 3]
mov dword [rsp + 0x34], r15d
shl r12d, 8
mov dword [rsp + 0x30], r12d
nop
mov rax, qword [rsp + 0x60]
lea r14d, [rbx - 3]
mov ebp, r14d
add rax, rbp
mov ecx, dword [rdi + rax*4 + 0x6d6c]
lea eax, [rbx - 5]
lea r13d, [rdx + rcx]
mov edx, 3
lea ecx, [rbx - 5]
cmp eax, edx
cmovb edx, ecx
cmp r10d, 0x80
jae 0x1011d15c
mov al, r8b
mov ecx, edx
shl rcx, 7
and eax, 0x7f
add rcx, rax
add r13d, dword [rdi + rcx*4 + 0x16f0]
jmp 0x1011d17d
shl rdx, 6
mov eax, r9d
mov cl, r8b
add rdx, rax
and ecx, 0xf
mov eax, dword [rdi + rdx*4 + 0x12f0]
add eax, dword [rdi + rcx*4 + 0x12b0]
add r13d, eax
lea ecx, [r15 + rbx]
shl rcx, 5
cmp r13d, dword [rcx + rdi + 0xf578]
jae 0x1011d1b4
lea eax, [r10 + 4]
mov dword [rcx + rdi + 0xf578], r13d
mov dword [rcx + rdi + 0xf580], r14d
mov dword [rcx + rdi + 0xf584], eax
mov word [rcx + rdi + 0xf57e], 0
cmp r14d, dword [rsi]
jne 0x1011d465
mov eax, dword [rdi + 0x48]
mov r10, qword [rsp + 0x40]
mov r9d, ebx
lea edx, [rbx + rax - 2]
mov eax, dword [rsp + 0x5c]
sub r10, r8
cmp edx, eax
cmova edx, eax
cmp ebx, edx
ja 0x1011d417
mov r8, qword [rsp + 0x40]
lea eax, [rbx - 2]
mov ecx, eax
movzx eax, byte [rax + r10 - 1]
cmp byte [rcx + r8], al
jne 0x1011d417
lea eax, [rbx - 1]
mov ecx, eax
movzx eax, byte [rax + r10 - 1]
cmp byte [rcx + r8], al
jne 0x1011d417
cmp ebx, edx
movsxd rax, ebx
jae 0x1011d23c
lea rcx, [r8 + rax]
lea r8, [r10 - 1]
sub r8, qword [rsp + 0x40]
movzx eax, byte [r8 + rcx]
cmp byte [rcx], al
jne 0x1011d237
inc r9d
inc rcx
cmp r9d, edx
jb 0x1011d223
mov r8, qword [rsp + 0x40]
mov rax, qword [rsp + 0x80]
mov r15d, dword [rsp + 0xf8]
movzx r8d, byte [r8 + r14]
movzx r10d, byte [r10 + r14 - 1]
add r15d, 0xfffffffd
lea rcx, [0x10000000]
movzx ecx, byte [rax + rcx + 0x1513f8]
add r15d, ebx
sub r9d, r14d
and r15d, dword [rdi + 0x64]
shl rcx, 4
xor esi, esi
mov eax, r15d
bts r8d, 8
mov r11d, 0x100
add rcx, rax
movzx eax, word [rdi + rcx*2 + 0x1f70]
mov ecx, dword [rdi + 0xbc]
shr rax, 4
add r13d, dword [rdi + rax*4 + 0x820]
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + r14 - 1]
add eax, r12d
mov r12, qword [rdi + 0x68]
and eax, dword [rdi + 0x60]
shl eax, cl
lea ebp, [rax + rax*2]
nop
add r10d, r10d
mov eax, r11d
mov ecx, r8d
shr ecx, 8
and eax, r10d
add eax, r11d
add eax, ecx
mov ecx, r8d
add r8d, r8d
shr ecx, 7
add rax, rbp
movzx edx, word [r12 + rax*2]
and ecx, 1
mov eax, r8d
neg ecx
shr rdx, 4
xor eax, r10d
shr rcx, 4
not eax
and ecx, 0x7f
and r11d, eax
xor rdx, rcx
add esi, dword [rdi + rdx*4 + 0x820]
cmp r8d, 0x10000
jb 0x1011d2c0
lea eax, [r15 + 1]
and eax, dword [rdi + 0x64]
mov r8d, eax
movzx ecx, word [rdi + rax*2 + 0x2170]
movzx eax, word [rdi + rax*2 + 0x1ff0]
xor rax, 0x7f0
xor rcx, 0x7f0
shr rax, 4
shr rcx, 4
mov edx, dword [rdi + rcx*4 + 0x820]
lea ecx, [r14 + r9]
add edx, dword [rdi + rax*4 + 0x820]
add ecx, dword [rsp + 0x24]
movzx eax, word [rdi + 0x1f18]
xor rax, 0x7f0
shr rax, 4
add edx, dword [rdi + rax*4 + 0x820]
movzx eax, word [rdi + 0x1f30]
shr rax, 4
add edx, dword [rdi + rax*4 + 0x820]
mov eax, dword [rsp + 0x20]
add edx, esi
add r13d, edx
cmp eax, ecx
mov edx, ecx
cmovb eax, ecx
add r9d, 0xffffffff
shl rdx, 5
mov dword [rsp + 0x20], eax
mov eax, r9d
imul r8, r8, 0x110
add r8, rax
mov eax, dword [rdi + r8*4 + 0xb170]
lea r8d, [r13 + rax]
cmp r8d, dword [rdx + rdi + 0xf578]
jae 0x1011d403
mov eax, dword [rsp + 0x38]
mov r11d, dword [rsp + 0x2c]
mov rsi, qword [rsp + 0x68]
mov r12d, dword [rsp + 0x30]
mov r15d, dword [rsp + 0x34]
inc r14w
add eax, 4
mov dword [rdx + rdi + 0xf578], r8d
mov dword [rdx + rdi + 0xf580], r9d
mov dword [rdx + rdi + 0xf584], eax
mov word [rdx + rdi + 0xf57e], r14w
jmp 0x1011d417
mov r11d, dword [rsp + 0x2c]
mov rsi, qword [rsp + 0x68]
mov r12d, dword [rsp + 0x30]
mov r15d, dword [rsp + 0x34]
add r11d, 2
add rsi, 8
cmp r11d, dword [rsp + 0xa0]
mov dword [rsp + 0x2c], r11d
mov qword [rsp + 0x68], rsi
je 0x1011d47c
mov r10d, dword [rsi + 4]
mov eax, 6
mov ecx, 0x13
cmp r10d, 0x100000
mov dword [rsp + 0x38], r10d
mov r8, r10
cmovb ecx, eax
mov rax, r10
shr rax, cl
movzx eax, byte [rax + rdi + 0x2d70]
lea r9d, [rax + rcx*2]
mov edx, dword [rsp + 0x74]
add r12d, 0x100
inc ebx
mov dword [rsp + 0x30], r12d
jmp 0x1011d110
mov r12d, dword [rsp + 0x20]
mov r14d, dword [rsp + 0x24]
jmp 0x1011d492
mov r12d, dword [rsp + 0x20]
mov r14d, dword [rsp + 0x24]
mov rbx, qword [rsp + 0x78]
inc r14d
lea rsi, [0x10000000]
inc rbx
cmp r14d, r12d
mov dword [rsp + 0x24], r14d
mov qword [rsp + 0x78], rbx
jne 0x1011c462
jmp 0x1011d515
mov eax, r14d
mov ebx, r14d
shl rax, 5
mov r8d, dword [rax + rdi + 0xf578]
lea eax, [r14 + 1]
cmp eax, r12d
movsxd rcx, eax
ja 0x1011d4fa
shl rcx, 5
lea rcx, [rcx + rdi + 0xf578]
mov edx, dword [rcx]
cmp r8d, edx
jb 0x1011d4ef
mov r8d, edx
mov ebx, eax
inc eax
add rcx, 0x20
cmp eax, r12d
jbe 0x1011d4e3
mov edx, ebx
sub edx, r14d
je 0x1011d50a
mov rcx, qword [rdi]
add dword [rdi + 0x4c], edx
call qword [rdi + 0x28]
mov r14d, ebx
jmp 0x1011d515
mov dword [rdi + 0x3c], eax
mov dword [rdi + 0x38], ebp
movsxd rax, r12d
shl rax, 5
lea rcx, [rax + rdi + 0xf578]
nop
nop
nop
mov dword [rcx], 0x40000000
sub rcx, 0x20
add r12d, 0xffffffff
jne 0x1011d530
lea r9d, [r14 + 1]
movsxd rax, r9d
mov dword [rdi + 0x34], r9d
lea r8, [rax + 0x7ac]
shl r8, 5
add r8, rdi
shl rax, 5
lea rdx, [rax + rdi + 0xf584]
nop
nop
nop
mov eax, r14d
mov ecx, r14d
add rax, 0x7ac
shl rcx, 5
movzx r10d, word [rcx + rdi + 0xf57e]
mov r11d, dword [rcx + rdi + 0xf584]
shl rax, 5
mov eax, dword [rax + rdi]
sub r14d, eax
test r10d, r10d
je 0x1011d5e9
sub r8, 0x20
add r9d, 0xffffffff
sub rdx, 0x20
sub r14d, r10d
cmp r10d, 1
mov dword [r8], eax
mov eax, r10d
jne 0x1011d5c6
mov dword [rdx], r11d
mov r11d, 0xffffffff
jmp 0x1011d5e9
mov dword [rdx], 0
sub rdx, 0x20
add r9d, 0xffffffff
sub r8, 0x20
lea eax, [r10 - 1]
mov dword [rdx], 0xffffffff
mov dword [r8], 1
test r14d, r14d
je 0x1011d605
sub rdx, 0x20
add r9d, 0xffffffff
sub r8, 0x20
mov dword [r8], eax
mov dword [rdx], r11d
jmp 0x1011d570
mov dword [rdi + 0xb8], r11d
mov dword [rdi + 0x30], r9d
mov r13, qword [rsp + 0xc8]
mov r14, qword [rsp + 0xc0]
mov r15, qword [rsp + 0xb8]
mov r12, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xd8]
mov rsi, qword [rsp + 0xe0]
mov rbp, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x100]
add rsp, 0xe8
ret