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

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x420]
sub rsp, 0x520
mov rax, qword [0x140044908]
xor rax, rsp
mov qword [rbp + 0x410], rax
movzx r13d, word [0x140044580]
xor r11d, r11d
mov r14d, dword [0x140044514]
mov r10d, 0xe17b
movzx r12d, word [0x1400444d4]
mov r15d, 0x570b
mov rax, qword [rbp + 0x480]
mov qword [rbp + 0x30], rax
movzx eax, byte [0x1400444be]
mov word [rsp + 0x5c], ax
movzx eax, word [0x14004458c]
mov word [rsp + 0x6e], ax
movzx eax, word [0x140044580]
mov word [rsp + 0x70], ax
mov qword [rbp + 0x50], r8
movsx r8, word [0x140044568]
mov qword [rbp - 0x60], 0x84f6
movzx eax, word [0x1400445b0]
mov word [rsp + 0x54], ax
movzx eax, word [0x140044580]
movzx edi, byte [0x140044514]
mov qword [rbp - 0x58], rax
movzx eax, word [0x140044598]
mov dword [rsp + 0x78], eax
mov qword [rbp + 0x20], rcx
mov ecx, 0x2c
mov word [rsp + 0x60], cx
mov eax, dword [0x1400445ac]
mov qword [rbp - 0x80], rax
mov al, byte [0x140044590]
mov byte [rsp + 0x51], al
movzx eax, byte [0x1400444d7]
mov word [rsp + 0x58], ax
mov al, byte [0x140044574]
mov byte [rsp + 0x50], al
mov qword [rbp + 0x48], r9
mov r9d, dword [0x14004457c]
mov al, byte [0x140044588]
mov byte [rsp + 0x5c], al
mov eax, 0xffff9413
mov word [rsp + 0x68], ax
mov eax, 0xd3e0
mov word [rsp + 0x68], ax
movsx rax, word [0x14004458c]
mov qword [rbp], 0x20
mov qword [rbp], 0x904c
mov qword [rbp], rax
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x18], rdx
mov dword [rbp - 0x74], r13d
mov qword [rbp - 0x38], 0x118d0144
mov dword [rbp - 0x70], r10d
mov dword [rsp + 0x74], r12d
mov word [rsp + 0x6c], r8w
mov dword [rbp - 0x6c], r9d
test rax, rax
je 0x1400152b1
mov al, byte [0x1400444bd]
mov byte [0x1400444be], al
jmp 0x1400152e0
test r13w, r13w
je 0x1400152e0
movzx ecx, word [0x140044580]
mov rax, qword [0x140044560]
xor rax, rcx
movsx ecx, r12w
mov qword [0x140044560], rax
movsx edx, word [rsp + 0x60]
imul edx, ecx
mov word [rsp + 0x60], dx
mov eax, dword [0x140e887f0]
mov edx, r11d
mov dword [rsp + 0x64], eax
mov ebx, 0x2d7e
mov rcx, qword [0x140044560]
mov rax, qword [0x140044560]
imul rcx, r8
mov r8d, 1
add rax, rcx
mov qword [0x140044560], rax
mov eax, dword [rsp + 0x64]
add eax, 0x483
mov dword [rbp - 0x48], eax
mov eax, dword [rsp + 0x64]
add eax, 0x552
mov dword [rbp - 0x78], eax
mov eax, dword [rsp + 0x64]
mov rcx, qword [0x140044590]
add eax, 0x7a2
cmp rcx, qword [0x140044558]
mov dword [rsp + 0x64], eax
mov eax, r11d
setb dl
cmp rcx, 0xc
setl al
cmp edx, eax
jne 0x140015382
mov ecx, 0x163
movzx eax, word [rsp + 0x58]
sub ecx, r8d
add r10w, ax
mov eax, dword [0x1400445ac]
add eax, r8d
mov dword [0x1400445ac], eax
test ecx, ecx
jg 0x14001535d
mov dword [rbp - 0x70], r10d
jmp 0x1400153b7
movsx ecx, word [0x1400445a8]
movzx eax, word [rsp + 0x58]
cmp ecx, eax
jge 0x1400153a2
mov eax, r11d
test r9d, r9d
sete al
mov word [rsp + 0x60], ax
jmp 0x1400153b7
mov rax, qword [rbp - 0x80]
cmp rax, r15
je 0x1400153b7
mov rbx, qword [rbp - 0x58]
mov ecx, 0x99
add bx, cx
mov eax, dword [0x140e887f0]
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x68]
add eax, 0xf090
movzx r8d, r10w
mov dword [rbp - 0x4c], eax
movsxd r9, dword [0x14004457c]
movzx edx, word [0x1400445b0]
movzx ecx, word [0x1400445b0]
call fcn.140020dc0
mov r9d, dword [rbp - 0x6c]
xor r10d, r10d
mov qword [rbp - 0x80], rax
mov esi, edi
mov rcx, qword [rbp - 0x80]
movzx eax, byte [0x140044588]
test rcx, rcx
cmovle esi, eax
mov eax, dword [rsp + 0x68]
add eax, 0x4c7
mov dword [rbp - 0x68], esi
mov dword [rbp - 0x48], eax
mov eax, dword [rsp + 0x68]
add eax, 0x47b
mov dword [rsp + 0x68], eax
mov rdx, qword [0x140044560]
movsx rax, word [rsp + 0x78]
add rdx, rax
mov rax, qword [0x140044560]
or rax, rdx
cmp qword [0x140044598], r9
mov qword [0x140044560], rax
jne 0x14001549c
mov rcx, qword [0x140044560]
movsx rax, byte [0x1400444d6]
mov rdx, qword [0x140044590]
sub rcx, rax
mov qword [0x140044560], rcx
test rdx, rdx
movsx ecx, word [rsp + 0x54]
mov eax, r10d
cmove eax, ecx
movsx ecx, byte [0x1400444d6]
sub ecx, eax
mov eax, dword [0x140044584]
xor ax, r15w
sub ax, cx
add ax, r15w
mov word [rsp + 0x70], ax
mov ecx, dword [rsp + 0x68]
mov r11d, 1
mov eax, dword [rsp + 0x68]
or ecx, eax
mov edx, dword [rsp + 0x68]
add ecx, 0xffff0bb3
mov eax, dword [rbp - 0x4c]
add edx, ecx
add eax, edx
movsx r8d, r13w
mov dword [rbp - 0x28], eax
mov edx, 0x362
mov eax, dword [0x140e887f0]
mov dword [rsp + 0x68], eax
movzx eax, word [0x140044580]
cmp r8d, eax
je 0x1400154fd
movsx eax, bx
imul ecx, eax, 0xda1d
mov qword [0x140044550], r9
mov eax, dword [0x140044584]
add ecx, eax
mov dword [0x140044584], ecx
movzx eax, word [rsp + 0x60]
sub edx, r11d
add ax, r11w
mov word [rsp + 0x60], ax
test edx, edx
jg 0x1400154d3
mov eax, dword [rsp + 0x68]
add eax, 0x6b2d
mov dword [rbp - 0x30], eax
movzx eax, r12w
mov qword [0x140044560], 4
movzx edx, word [rsp + 0x60]
and dl, byte [0x1400444d7]
neg ax
movzx eax, word [rsp + 0x58]
sbb cl, cl
and cl, 0x9f
add cl, 0x60
add dl, cl
add dl, byte [0x14004458c]
sub dl, al
mov rax, qword [0x140044560]
mov byte [0x1400444d3], dl
test rax, rax
je 0x1400155e9
sub rax, r11
je 0x1400155ca
sub rax, r11
je 0x1400155a0
sub rax, r11
je 0x140015594
cmp rax, r11
jne 0x1400155fb
movzx eax, word [0x1400445a8]
mov ecx, 0x26d6
sub ax, cx
mov word [0x140044574], ax
jmp 0x1400155fb
mov r13d, 2
mov dword [rbp - 0x74], r13d
jmp 0x1400155fb
mov eax, dword [0x140e887f0]
mov edx, 0x8cb6
mov qword [rbp - 0x60], rax
movzx eax, word [0x1400445a8]
mov ecx, dword [0x140044514]
test ax, ax
cmovne ecx, edx
mov eax, ecx
mov qword [rbp - 0x58], rax
jmp 0x1400155fb
mov cl, byte [0x1400444bf]
mov al, byte [0x1400444fe]
add al, cl
mov byte [0x14104dca1], r13b
or cl, al
mov byte [0x1400444bf], cl
jmp 0x1400155fb
movzx eax, byte [0x1400444d7]
sub eax, 0x3b1a
mov dword [0x140044514], eax
mov eax, dword [rsp + 0x68]
add eax, 0x531
mov dword [rbp - 0x4c], eax
movzx eax, byte [rsp + 0x50]
mov word [rsp + 0x5c], ax
mov eax, dword [rsp + 0x68]
add eax, 0x4a7
cmp word [0x140044588], r10w
mov dword [rbp - 0x48], eax
je 0x140015635
movzx r8d, word [rsp + 0x60]
mov word [rsp + 0x68], r8w
jmp 0x140015641
movsx eax, byte [0x1400444bf]
mov word [rsp + 0x68], ax
movzx eax, byte [0x1400444fe]
mov ecx, 0x24
sub ecx, eax
add dword [0x140044544], ecx
mov ecx, dword [rsp + 0x64]
mov eax, dword [rsp + 0x64]
sub ecx, eax
mov edx, dword [rsp + 0x64]
mov eax, dword [rsp + 0x64]
sub edx, eax
imul edx, ecx
mov ecx, dword [rsp + 0x64]
mov eax, dword [rbp - 0x78]
xor ecx, eax
imul ecx, edx
imul edx, ecx, 0x3cc
mov ecx, dword [rbp - 0x4c]
mov eax, dword [rbp - 0x30]
add ecx, eax
xor ecx, 0x7641
sub ecx, edx
mov dword [rbp - 0x20], ecx
mov eax, dword [0x140044578]
movzx ecx, byte [0x1400444d7]
sub ecx, eax
mov eax, dword [0x140044578]
add eax, ecx
mov dword [0x140044578], eax
mov eax, dword [0x140e887f0]
mov dword [rsp + 0x64], eax
mov eax, 0xa0
mov word [0x1400444d4], ax
movzx eax, word [rsp + 0x58]
mov ecx, dword [0x140044570]
and cx, ax
mov word [rsp + 0x58], cx
mov eax, dword [rsp + 0x64]
add eax, 0x522
mov dword [rbp - 0x48], eax
mov ecx, dword [0x140044578]
movsx eax, r13w
xor ecx, eax
mov dword [0x140044578], ecx
mov ecx, 0x2ce
movzx eax, word [rsp + 0x70]
mov word [0x1410584d8], ax
mov eax, dword [rsp + 0x64]
add eax, 0x682
mov dword [rbp - 0x50], eax
movzx eax, word [rsp + 0x5c]
sub ecx, r11d
add ax, r11w
mov word [rsp + 0x5c], ax
test ecx, ecx
jg 0x140015712
mov eax, dword [rsp + 0x64]
add eax, 0x761
mov dword [rbp - 0x78], eax
mov eax, dword [0x140044584]
test eax, eax
jne 0x14001577b
mov rax, qword [rbp - 0x60]
mov ecx, r10d
movsx r8d, word [rsp + 0x70]
test rax, rax
mov edx, r10d
sete cl
or r8d, ecx
movsx rcx, word [rsp + 0x60]
mov rax, qword [rbp - 0x58]
cmp rcx, rax
sete dl
cmp edx, r8d
jg 0x14001577b
mov sil, byte [0x140044544]
sub sil, 0x40
mov dword [rbp - 0x68], esi
jmp 0x1400157ad
mov eax, dword [0x140044544]
not eax
test eax, eax
je 0x1400157ad
mov eax, dword [0x140044578]
movsx ecx, bx
sub ecx, eax
mov eax, dword [0x140044578]
add eax, ecx
mov dword [0x140044578], eax
mov rax, qword [rbp - 0x80]
add rax, 0x82
xor r15, rax
mov eax, dword [0x140e887f0]
mov dword [rsp + 0x64], eax
mov word [rsp + 0x60], r11w
mov eax, dword [rsp + 0x64]
add eax, 0x7d7
mov dword [rbp - 0x48], eax
mov eax, dword [rsp + 0x64]
add eax, 0x537
mov dword [rbp - 0x48], eax
mov eax, dword [rsp + 0x64]
add eax, 0x52d
mov dword [rbp + 0x28], eax
mov eax, dword [0x140044544]
cmp rax, qword [0x140044558]
jae 0x140015818
mov rax, qword [rbp - 0x58]
cmp rax, r9
jge 0x14001583d
mov rax, qword [rbp - 0x60]
movzx edx, r14w
movsx ecx, byte [0x1400444d3]
test rax, rax
cmovne dx, cx
mov word [0x140044574], dx
jmp 0x14001583d
cmp byte [0x1400444be], r10b
mov rcx, r10
mov rax, qword [0x140044550]
sete cl
cmp rax, rcx
je 0x14001583d
mov al, byte [0x140fc1870]
add byte [0x1400444bf], al
mov ecx, dword [0x140e887f0]
mov eax, 0x280
mov edx, dword [0x14004456c]
mov r13d, 0x118d0144
mov qword [rbp + 0x10], r10
cmp edx, r13d
jle 0x140015866
mov word [0x140044568], cx
jmp 0x140015877
movabs r8, 0xb8a2606eee6d3
mov qword [0x140044550], r8
sub eax, r11d
test eax, eax
jg 0x140015858
xor r13d, r13d
mov ebx, 0x128
mov dword [rbp - 0x4c], r13d
mov qword [rbp + 0x38], r13
mov qword [rbp - 0x10], r13
movzx edx, word [rsp + 0x5c]
mov r9d, 0xe8
mov rax, qword [rbp - 0x80]
mov r8, r15
mov rcx, qword [rbp - 0x58]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0xe3
call fcn.140021294
mov word [0x140044574], ax
movzx eax, word [rsp + 0x5c]
movzx r9d, r12w
test ax, ax
je 0x1400158e4
movzx eax, word [0x140e8e2e4]
mov rcx, qword [rbp - 0x80]
sub rcx, rax
mov qword [rbp - 0x80], rcx
jmp 0x140015936
mov rax, qword [rbp - 0x80]
mov rax, qword [rbp - 0x60]
not rax
cmp r9, rax
jg 0x140015936
mov ecx, 0xfe546f16
mov edx, r13d
mov rax, r15
xor rax, rcx
mov ecx, r13d
or qword [0x140044598], rax
mov al, byte [rsp + 0x51]
test al, al
movzx eax, word [rsp + 0x58]
sete cl
cmp ecx, eax
mov eax, dword [0x140044578]
sete dl
or esi, 0xffffffff
test eax, eax
cmove si, r14w
and si, dx
mov dword [rsp + 0x78], esi
movzx eax, word [rsp + 0x60]
mov r11d, 1
add ax, r11w
mov word [rsp + 0x60], ax
sub rbx, r11
jne 0x140015892
movzx ecx, word [0x140044580]
movabs rax, 0xdec369bbdd39f
movsxd rsi, dword [rbp - 0x68]
add rcx, rax
mov al, byte [0x140e887f0]
mov edx, r13d
mov qword [0x1400445a0], rcx
mov rdi, r13
movsx rcx, word [0x1400444d4]
mov byte [rsp + 0x50], al
mov rax, qword [rbp - 0x58]
movzx r8d, byte [rsp + 0x50]
cmp rcx, rax
movzx eax, word [rbp - 0x70]
sete dl
mov qword [rbp + 0x58], r13
imul r8d, eax
mov al, byte [rsp + 0x50]
mov ecx, dword [0x140044584]
mov qword [rbp - 8], 0x58d2
add r8d, edx
mov rdx, r13
test al, al
mov rax, qword [0x140044560]
sete dl
or rax, rcx
xor rdx, qword [rbp - 0x38]
xor r10d, r10d
sub rdx, rax
mov qword [rbp], r10
mov eax, r10d
test r8d, r8d
mov ecx, r10d
cmove rcx, rdx
test rcx, rcx
mov ecx, 0x8d
sete al
mov word [rsp + 0x54], ax
movzx eax, word [0x14004458c]
mov word [0x140044568], ax
mov rax, qword [rbp - 0x60]
not ax
mov word [0x140044580], ax
movzx eax, word [0x1400444d4]
and ax, cx
mov word [0x140044588], ax
mov rax, qword [rbp - 0x80]
movsx ecx, byte [rsp + 0x51]
xor byte [0x1400444bf], al
add cx, r15w
mov eax, 0x6aae
mov dword [rbp + 0x90], 0xda9594c6
xor cx, r9w
mov dword [rbp + 0x94], 0x9f979b94
add cx, ax
mov word [rbp + 0x98], 0xc4
mov word [rsp + 0x60], cx
mov eax, r10d
xor byte [rbp + rax + 0x90], 0xfa
add rax, r11
cmp rax, 9
jb 0x140015a69
mov rdx, qword [0x140044590]
lea rax, [rbp + 0x90]
mov qword [rbp + 0x40], rax
add r15, 0xdd
movzx eax, word [0x140e887f0]
mov ecx, r10d
mov qword [rbp + 8], r10
mov r13d, edx
mov word [rsp + 0x54], ax
neg r13d
movzx eax, word [0x140044574]
cmp rdx, rax
mov qword [rbp + 0x18], r15
mov eax, r10d
setl cl
cmp rdx, 4
setl al
cmp ecx, eax
jb 0x140015ad6
mov al, r12b
not al
mov byte [0x1400444be], al
mov rax, qword [rbp - 0x60]
mov edx, r10d
movzx eax, word [rsp + 0x54]
mov rax, qword [0x140044560]
movzx ecx, word [0x140044580]
mov eax, dword [0x140044584]
cmp eax, ecx
mov eax, dword [0x140044584]
mov ecx, r10d
setae dl
mov qword [rbp - 0x40], r10
cmp eax, 0x1f
setae cl
cmp edx, ecx
jae 0x140015bb3
movzx eax, byte [0x1400444be]
imul ecx, eax, 0x38
mov byte [0x1400444be], cl
mov ebx, dword [rsp + 0x78]
movzx r14d, word [rsp + 0x6c]
movzx eax, byte [0x1400444d7]
movabs rcx, 0xbf58f1c39d7e9
xor rax, rcx
mov r8d, r10d
mov qword [rbp - 0x60], rax
movzx ecx, word [rsp + 0x60]
movzx eax, byte [0x1400444d7]
test cx, cx
movzx ecx, bx
cmove r8w, ax
mov rax, qword [rbp - 0x60]
movzx edx, ax
not r8w
mov eax, dword [0x140044584]
imul edx, ecx
shr eax, 2
xor dx, r8w
cmp byte [0x1400444d7], r10b
not dx
mov word [0x140044568], dx
mov word [rsp + 0x5c], ax
je 0x140015beb
mov rax, qword [0x140044548]
lea rcx, [rax + rax]
movzx eax, byte [0x1400444fe]
sub rcx, rax
mov qword [0x140044548], rcx
jmp 0x140015bf3
cmp word [0x140044568], r10w
je 0x140015b26
movzx r14d, word [rsp + 0x6c]
mov ecx, 0x1345
movzx eax, r14w
mov ebx, 0x7701
xor ax, cx
add ebx, r12d
mov word [0x1400445a8], ax
mov dword [rsp + 0x78], ebx
jmp 0x140015b30
movsx r13d, word [0x1400444d4]
mov rax, qword [rbp + 0x30]
mov rbx, qword [rbp + 0x20]
mov dword [rax], r10d
cmp rbx, 0xffffffffffffffff
je 0x140015f22
mov rax, qword [0x140044560]
sub rax, 0xa0
mov qword [rbp - 0x80], rax
mov eax, 0x4e8a
mov word [rsp + 0x58], ax
mov eax, dword [0x140044584]
mov eax, dword [0x140e887f0]
movsx r12d, byte [0x1400444bf]
mov dword [rsp + 0x64], eax
mov eax, 0x3516
add r12w, ax
mov dword [0x140044570], r11d
mov ecx, dword [0x140044570]
mov word [rsp + 0x68], r12w
test ecx, ecx
je 0x140015c83
cmp ecx, r11d
jne 0x140015ca2
movsx rax, byte [0x1400444d3]
mov rcx, qword [rbp - 0x58]
add byte [0x1400444fe], r11b
xor rcx, rax
mov rax, qword [rbp - 0x58]
add rax, rcx
mov qword [rbp - 0x58], rax
jmp 0x140015ca2
movzx eax, r12w
xor rax, 0x5171
movsx r14d, sil
neg r14w
mov qword [0x1400445a0], rax
mov word [rsp + 0x6c], r14w
mov ecx, dword [rsp + 0x64]
mov eax, dword [rbp - 0x28]
add ecx, eax
mov dword [rbp - 0x30], ecx
mov rax, qword [0x140044550]
movsx rcx, sil
sub rcx, rax
mov rax, qword [0x140044550]
add rax, rcx
mov qword [0x140044550], rax
mov eax, dword [rsp + 0x64]
add eax, 0x705
mov dword [rbp - 0x68], eax
movzx eax, word [0x140044598]
mov word [0x140e8e2c0], ax
mov eax, 0xffffbf37
mov word [rsp + 0x78], ax
mov eax, dword [rsp + 0x64]
add eax, 0x7d0
mov dword [rbp - 0x28], eax
mov edx, dword [rbp - 0x28]
mov eax, dword [rbp - 0x68]
xor edx, eax
mov ecx, dword [rbp - 0x68]
mov eax, dword [rbp - 0x30]
imul ecx, eax
sub edx, ecx
cmp edx, 0x30d
je 0x140015f13
movzx edx, word [rsp + 0x6e]
mov ecx, r10d
mov al, byte [rsp + 0x51]
test dx, dx
mov r8d, 0x13
sete cl
movzx eax, byte [0x1400444be]
sub eax, ecx
mov dword [0x140044514], eax
movzx eax, word [0x1400445b0]
add ax, r11w
mov word [0x1400445b0], ax
sub r8, r11
jne 0x140015d34
lea eax, [r8 + 0x34]
cmp byte [0x1400444d7], al
jae 0x140015d8f
cmp ax, word [0x140044588]
ja 0x140015d8f
movzx r13d, byte [0x1400444bd]
mov eax, 0xffffac41
sub ax, r15w
add dx, ax
mov word [rsp + 0x6e], dx
add r13d, 0x464e8def
mov esi, 0x400
mov rdx, r11
mov ecx, esi
call fcn.140028604
mov r8, qword [rbp - 0x18]
mov rdi, rax
mov rcx, qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov r9, rdi
mov qword [rbp + 0x58], rax
mov rdx, rbx
xor eax, eax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x38]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
call fcn.14000abe8
xor ecx, ecx
cmp qword [0x140044558], rcx
jne 0x140015dfc
mov al, byte [rsp + 0x51]
test al, al
jne 0x140015dfc
mov rax, qword [0x140044560]
shl rax, 7
mov qword [rbp - 0x80], rax
movsxd rbx, dword [rdi + 0x3c]
movabs rcx, 0x176f1e2b923ee
movzx eax, word [0x140044568]
add rbx, rdi
xor edi, edi
sub rax, rcx
mov qword [rsp + 0x40], rdi
lea rcx, [fcn.140028604]
mov qword [rsp + 0x38], rdi
xor r9d, r9d
mov edx, dword [rbx + 0x50]
mov qword [rsp + 0x30], rdi
lea r15d, [rdi + 1]
mov r8d, r15d
mov qword [rsp + 0x28], rdi
mov qword [rbp - 0x80], rax
mov qword [rsp + 0x20], rdi
call fcn.14000abe8
mov ecx, dword [rbx + 0x50]
mov rsi, rax
mov r8, qword [rbp - 0x18]
mov r9, rsi
mov rdx, qword [rbp + 0x20]
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], rdi
mov qword [rbp - 0x10], rax
lea rax, [rbp + 0x38]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov rcx, qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
call fcn.14000abe8
movzx ecx, word [0x1400445b0]
add byte [0x1400444d3], cl
mov ecx, 0x157
movzx eax, byte [0x1400444d7]
add eax, 0x722e29b3
mov dword [0x14004457c], eax
mov eax, dword [0x140044584]
shr eax, 8
mov byte [0x1400444bd], al
sub rcx, r15
jne 0x140015e9f
mov eax, dword [0x140032858]
lea rcx, [rbp + 0xd0]
movsd xmm0, qword [str.RegOpenKeyExW]
mov dword [rbp + 0xd8], eax
movzx eax, word [0x14003285c]
mov word [rbp + 0xdc], ax
movsd qword [rbp + 0xd0], xmm0
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov r15, qword [rbp + 0x18]
movsxd rcx, eax
mov qword [0x140044598], rcx
movsxd rdi, dword [rsi + 0x3c]
add rdi, rsi
jmp 0x140015f16
mov rsi, rdi
mov qword [rbp], rsi
xor r8d, r8d
jmp 0x140016224
xor ecx, ecx
call fcn.140020c88
movzx eax, ax
xor r10d, r10d
mov qword [0x140044598], rax
test rax, rax
je 0x140015f6b
movzx eax, word [rsp + 0x70]
mov ecx, 0xcfce
movzx ebx, word [rsp + 0x68]
and ax, cx
mov word [0x140044580], ax
movzx eax, word [0x140044580]
test ax, ax
movsx ecx, sil
cmovne ebx, ecx
mov qword [rbp - 0x38], rbx
jmp 0x140015fda
cmp byte [0x1400444bf], r10b
mov edx, r10d
movsx ecx, byte [0x1400444d6]
mov ebx, 0x118d0144
mov eax, dword [0x140044584]
setne dl
not ecx
cmp eax, ecx
adc edx, r10d
je 0x140015fc4
movzx ecx, word [0x140044574]
movzx eax, word [0x140044580]
add cx, cx
sub cx, ax
movzx eax, word [0x140044588]
mov word [0x140044574], cx
mov ecx, 0x51da
sub ax, cx
mov word [rsp + 0x6e], ax
jmp 0x140015fda
mov eax, 0xffffbbb8
sub ax, word [0x1400445a0]
add r14w, ax
mov word [rsp + 0x6c], r14w
mov rcx, qword [rbp - 0x60]
movsx rax, r14w
add rcx, rax
mov eax, dword [0x140e887f0]
cmp word [0x1400444d4], r10w
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x60], 0xffffffff9d095b10
mov dword [rsp + 0x64], eax
je 0x14001609f
movzx ecx, word [0x1400445a8]
mov edx, r10d
movzx eax, word [rsp + 0x70]
mov r8d, 0x13
cmp ax, cx
movzx eax, word [rsp + 0x70]
mov ecx, r10d
setle dl
cmp ax, r8w
setle cl
cmp edx, ecx
jae 0x140016050
movzx eax, word [rsp + 0x58]
mov ecx, 0x4d6a
sub rcx, rax
add qword [0x140044558], rcx
jmp 0x1400160e2
movzx eax, word [rsp + 0x58]
mov rcx, r10
test ax, ax
mov edx, r10d
movsx eax, word [rsp + 0x60]
sete cl
not eax
cmp qword [0x140044598], rcx
mov ecx, r10d
cdqe
setae dl
cmp rax, qword [0x140044590]
setne cl
cmp ecx, edx
je 0x1400160e2
mov eax, dword [0x1400445ac]
mov qword [0x140fa6150], rax
mov qword [0x1400445a0], 0x58d2
jmp 0x1400160e2
mov al, byte [rsp + 0x50]
mov ecx, r10d
test al, al
movsx eax, r14w
sete cl
cmp ecx, eax
jl 0x1400160e2
mov eax, dword [0x140044578]
movsx ecx, byte [0x1400444d3]
sub ecx, eax
mov eax, dword [0x140044578]
add eax, ecx
mov dword [0x140044578], eax
mov rax, qword [0x140044550]
imul rax, r15
mov qword [0x140044550], rax
mov eax, dword [rsp + 0x64]
xor ecx, ecx
add eax, 0x645
mov qword [rsp + 0x28], r10
mov dword [rbp - 0x30], eax
mov edx, 0xdc
mov eax, dword [rsp + 0x64]
movzx r9d, byte [0x1400444fe]
lea r8d, [rcx + 9]
add eax, 0x4f1
mov qword [rsp + 0x20], r10
mov dword [rbp - 0x28], eax
call fcn.140021294
mov dword [0x140044584], eax
xor r8d, r8d
mov eax, dword [0x140044584]
test eax, eax
jne 0x14001613c
mov eax, dword [0x140e887f0]
mov qword [0x140044550], rax
mov ecx, dword [rsp + 0x64]
mov eax, dword [rbp - 0x20]
add ecx, eax
mov dword [rbp - 0x68], ecx
mov edx, dword [rbp - 0x68]
mov eax, dword [rbp - 0x68]
sub edx, eax
mov ecx, dword [rbp - 0x30]
mov eax, dword [rbp - 0x30]
imul ecx, eax
cmp ecx, edx
je 0x14001621e
mov byte [rsp + 0x30], r8b
mov eax, 1
mov byte [rsp + 0x28], sil
mov r9b, 0x22
mov dl, bl
mov word [rsp + 0x78], ax
xor ecx, ecx
mov byte [rsp + 0x20], r8b
call fcn.1400210cc
movzx eax, al
xor r8d, r8d
mov dword [rbp - 0x70], eax
test ax, ax
je 0x1400161b2
movzx eax, word [rsp + 0x58]
xor ax, word [0x1400444d4]
mov word [rsp + 0x58], ax
movzx eax, byte [0x14104dcba]
mov dword [rsp + 0x78], eax
jmp 0x1400161ed
mov rcx, qword [rbp - 0x60]
movzx eax, byte [0x1400444d7]
not rcx
cmp rcx, rax
jle 0x1400161ed
mov eax, dword [0x140044570]
test eax, eax
movzx r12d, word [0x14004456c]
mov eax, 0xffffdd19
cmovne r12w, word [0x140044560]
mov dword [rsp + 0x74], r12d
mov word [rsp + 0x54], ax
movsx rcx, word [0x1400444d4]
mov rax, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x18]
mov qword [rbp - 0x10], rdx
cmp rax, rcx
je 0x140016217
mov eax, 0x6647
movsx ecx, r12w
cwde
imul ecx, eax
add word [rbp - 0x74], cx
movsxd rdi, dword [rdx + 0x3c]
add rdi, rdx
movzx r12d, word [rsp + 0x68]
mov ecx, dword [rbp - 0x50]
mov eax, dword [rbp - 0x50]
sub ecx, eax
mov edx, dword [rbp - 0x78]
add edx, ecx
mov ecx, dword [rbp - 0x78]
mov eax, dword [rbp - 0x50]
add ecx, eax
cmp edx, ecx
je 0x140016fe1
mov eax, dword [0x14004457c]
mov ebx, 2
sub eax, 0x6134725
mov dword [rsp + 0x74], ebx
mov dword [0x140044584], eax
mov al, byte [0x1400444d3]
sub al, 0xa
mov byte [rsp + 0x50], al
mov qword [rbp - 0x60], 0x7fdb
cmp dword [rdi + 0x88], r8d
je 0x140016fe5
movsx eax, word [rsp + 0x5c]
lea edx, [rbx + 3]
movsx ecx, al
imul eax, ecx, 0xffffffc4
xor ecx, ecx
mov qword [0x140044590], 4
mov byte [0x140f7a7c5], r12b
add byte [0x1400444d3], al
mov eax, dword [0x140e887f0]
mov dword [rbp - 0x50], eax
movzx r8d, byte [rsp + 0x50]
movzx r9d, word [rsp + 0x54]
call fcn.140020f28
movzx r13d, ax
xor ebx, ebx
test r13d, r13d
je 0x1400162f8
movsx rax, word [0x14004458c]
movabs rcx, 0x3aa789e75cf3c
movsx r15d, byte [0x1400444bf]
imul rax, rcx
add r15d, 0x38943ae8
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x38], r15
jmp 0x140016314
mov eax, dword [0x1400445ac]
mov rax, qword [rbp - 0x58]
movsx rax, byte [rsp + 0x51]
lea r15, [rax + r15*2]
mov qword [rbp + 0x18], r15
mov r15, qword [rbp - 0x38]
mov eax, dword [rbp - 0x50]
add eax, 0x78d
mov dword [rbp - 0x20], eax
mov al, byte [rsp + 0x50]
test al, al
je 0x1400163a3
mov rax, qword [0x140044550]
mov r9b, 0xa8
movzx ecx, word [rsp + 0x58]
xor r8d, r8d
mov byte [rsp + 0x30], bl
xor edx, edx
mov byte [rsp + 0x28], al
mov byte [rsp + 0x20], 0x9a
call fcn.1400210cc
mov byte [rsp + 0x50], al
mov al, byte [rsp + 0x50]
test al, al
je 0x140016386
mov rax, qword [0x1400445a0]
mov ecx, 0xd470ed0d
imul rax, rcx
and qword [0x140044548], rax
test r13d, r13d
je 0x14001637c
mov word [rbp - 0x74], r14w
jmp 0x1400163cd
mov rax, qword [rbp - 0x80]
mov word [rbp - 0x74], ax
jmp 0x1400163cd
mov eax, dword [rbp - 0x6c]
cmp dword [0x14004456c], eax
ja 0x1400163cd
movsx eax, word [0x14004458c]
sar eax, 4
mov dword [0x140044584], eax
jmp 0x1400163cd
movsxd rdx, dword [0x14004457c]
movsxd rax, dword [0x14004457c]
mov rcx, qword [0x140044550]
add rax, rdx
add ecx, eax
mov dword [0x14004457c], ecx
mov dword [0x1400445ac], 0x1de1ec8
mov eax, dword [rbp - 0x50]
mov ebx, 0x7f
add eax, 0x52b
mov dword [rbp - 0x78], eax
movzx eax, word [rsp + 0x5c]
mov rcx, qword [0x140044550]
lea esi, [rbx - 0x7e]
add cx, ax
mov word [rsp + 0x5c], cx
xor r14d, r14d
mov edx, dword [0x140044578]
xor r9d, r9d
movsx rcx, byte [0x1400444d6]
movzx r8d, word [0x140044588]
mov qword [rsp + 0x28], 0x94
mov qword [rsp + 0x20], 0xce
call fcn.140021294
mov qword [rbp - 0x80], rax
mov rax, qword [rbp - 0x80]
test rax, rax
jne 0x140016471
mov eax, dword [0x140044584]
mov ecx, r14d
not eax
cmp eax, 0x77adeaac
movzx eax, word [rsp + 0x58]
setb cl
or eax, r13d
cmp ecx, eax
jae 0x140016471
movzx eax, word [rsp + 0x70]
mov ecx, esi
sub cx, ax
movsx eax, cx
movsx ecx, word [0x1400444d4]
imul ecx, eax
mov word [0x1400444d4], cx
sub rbx, rsi
jne 0x1400163f7
mov eax, dword [rbp - 0x50]
mov rsi, qword [rbp - 0x10]
add eax, 0x4d3
mov dword [rbp - 0x28], eax
mov ecx, dword [rbp - 0x78]
mov eax, dword [rbp - 0x20]
imul ecx, eax
mov eax, dword [rbp - 0x78]
xor ecx, 0x3c6
cmp ecx, eax
je 0x140016fe1
movzx eax, word [rsp + 0x58]
movsd xmm0, qword [0x140032860]
mov word [0x14104854a], ax
movzx eax, byte [0x1400445a0]
imul ecx, eax, 0xfc
mov eax, 0x691f
add ax, word [0x140044590]
mov word [0x140044588], ax
mov al, byte [0x140032868]
movsd qword [rbp + 0xc0], xmm0
mov byte [0x1400444d7], cl
lea rcx, [rbp + 0xc0]
mov r12d, dword [rdi + 0x88]
add r12, rsi
mov byte [rbp + 0xc8], al
call qword [sym.imp.KERNEL32.dll_lstrlenA]
movzx ecx, byte [0x1400444d7]
mov edx, r14d
mov r8d, dword [r12 + 0x1c]
add r8, rsi
mov byte [rsp + 0x51], al
cmp ecx, 0x58d2
mov qword [rbp - 0x28], r8
mov eax, r14d
setbe dl
cmp cl, 0x14
setbe al
cmp edx, eax
jne 0x140016574
cmp word [0x140044574], r14w
jne 0x140016552
movzx eax, word [rsp + 0x5c]
movzx ecx, byte [0x1400444be]
cmp cx, ax
mov rax, r14
jbe 0x140016557
mov eax, 1
imul rax, qword [0x140044558]
test rax, rax
je 0x140016574
movzx eax, word [0x140044574]
shl eax, 2
mov dword [0x140044570], eax
movsx ecx, word [rsp + 0x54]
mov rax, qword [0x140044560]
sub ecx, 0x73479919
mov edx, dword [r12 + 0x20]
not rax
mov edi, dword [rbp - 0x6c]
add rdx, rsi
mov dword [0x140044514], ecx
lea ecx, [r15 - 1]
imul ecx, dword [0x14004456c]
xor r15d, r15d
mov ebx, dword [r12 + 0x24]
add rbx, rsi
mov qword [rbp - 0x30], rdx
mov qword [rbp - 0x20], rbx
add ecx, r13d
add rcx, rax
movzx eax, word [rsp + 0x54]
add ax, cx
mov word [rsp + 0x54], ax
movsx ecx, word [rsp + 0x54]
movzx eax, word [rsp + 0x54]
sub ecx, edi
and ax, cx
mov ecx, r15d
mov dword [rbp - 0x78], ecx
mov word [rsp + 0x54], ax
cmp dword [r12 + 0x18], r15d
jbe 0x140016fdb
cmp byte [0x1400444be], r15b
je 0x140016664
cmp qword [0x1400445a0], r15
je 0x140016610
imul eax, edi, 0xe9037eb7
add dword [0x14004456c], eax
jmp 0x140016664
mov al, byte [0x1400444bd]
test al, al
je 0x14001663b
movzx eax, word [0x140044580]
mov r9d, 1
mov r13d, dword [0x140e887f0]
sub ax, r9w
mov word [0x140044580], ax
jmp 0x14001666a
mov rax, qword [rbp - 0x58]
movsx eax, byte [0x1400444bf]
sub eax, 0x1e
cmp qword [0x140044548], r15
mov dword [0x140044544], eax
movzx eax, word [rbp - 0x70]
jne 0x140016660
mov rax, qword [rbp - 0x80]
mov byte [rsp + 0x51], al
mov r9d, 1
mov r15d, ecx
movzx eax, word [rbx + r15*2]
mov r14d, dword [r8 + rax*4]
add r14, rsi
cmp ecx, dword [r12 + 0x18]
jae 0x1400166a9
movzx eax, word [rsp + 0x54]
sub ax, r9w
mov word [rsp + 0x54], ax
imul eax, dword [0x140044558], 0x73d19441
mov dword [0x140044514], eax
mov eax, dword [rdx + r15*4]
add rax, rsi
mov qword [rbp + 0x40], rax
lea rdx, [rbp + 8]
mov rcx, r14
call fcn.140018c90
mov esi, eax
mov eax, 1
cmp esi, eax
jbe 0x140016f21
call fcn.14001bbac
mov rdi, rax
mov qword [rbp - 0x40], rax
xor eax, eax
lea rcx, [fcn.140027300]
mov qword [rsp + 0x40], rax
mov r9d, 0x104
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov qword [rsp + 0x30], rax
lea rdx, [rdi + 0x18]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
call fcn.14000abe8
mov r8, qword [rbp + 0x40]
lea rdx, [rdi + 0x18]
xor eax, eax
lea rcx, [0x1400284a0]
mov qword [rsp + 0x40], rax
mov r9d, 0x103
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
call fcn.14000abe8
mov rbx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x28]
mov qword [rdi], rdx
movzx eax, word [rbx + r15*2]
mov word [rdi + 8], ax
movzx eax, word [rbx + r15*2]
mov ecx, dword [rcx + rax*4]
add rcx, rdx
mov qword [rdi + 0x10], rcx
cmp esi, 2
jne 0x1400167b4
mov rax, qword [0x140ebc130]
mov r15, qword [rbp - 8]
mov qword [0x140044598], rax
mov eax, dword [0x140044584]
movsx ecx, r15w
sub ecx, eax
mov eax, dword [0x140044584]
add eax, ecx
mov rcx, qword [rbp + 8]
mov dword [0x140044584], eax
movsxd rax, dword [rcx + r14]
add rcx, 4
add rax, qword [rdi + 0x10]
mov rdi, qword [rbp - 0x40]
add rcx, rax
mov qword [rdi + 0x220], rcx
jmp 0x1400168a2
cmp esi, 3
jne 0x1400167fe
movzx ecx, byte [0x1400444d7]
mov eax, 0x6875
add ecx, dword [rbp - 0x38]
movzx esi, word [rbp + 0x18]
imul esi, eax
mov eax, dword [0x140044514]
xor rcx, rax
mov rax, qword [rbp + 8]
xor rcx, 0x338321fc
mov qword [rbp - 0x58], rcx
mov rcx, qword [rdi + 0x10]
mov dword [rsp + 0x74], esi
mov ecx, dword [rcx + rax]
mov qword [rdi + 0x220], rcx
jmp 0x14001689e
cmp esi, 4
jne 0x14001689e
mov eax, dword [0x14004457c]
cmp dword [rbp - 0x38], eax
jne 0x14001682d
mov ecx, dword [0x140044584]
movzx eax, word [rsp + 0x68]
add ecx, 0x19d2f85d
add ecx, eax
mov dword [0x140044584], ecx
jmp 0x140016883
xor ecx, ecx
cmp qword [0x140044590], rcx
je 0x140016883
cmp qword [0x140044598], rcx
je 0x140016883
movzx ecx, byte [0x1400444bd]
mov eax, 0xffffff12
movsx edx, byte [rsp + 0x51]
xor cx, ax
sub dx, cx
mov eax, 0x1c53
movsx ecx, byte [0x14004456c]
sub dx, r13w
sub dx, ax
mov al, byte [rsp + 0x68]
mov word [rbp - 0x74], dx
not al
movsx edx, al
imul edx, ecx
not dl
mov byte [0x1400444bf], dl
mov rdx, qword [rdi + 0x10]
mov rax, qword [rbp + 8]
mov rdi, qword [rbp - 0x40]
mov ecx, dword [rax + rdx]
mov rax, qword [rcx + rdx + 6]
mov qword [rdi + 0x220], rax
mov r15, qword [rbp - 8]
mov rdx, qword [rdi + 0x220]
lea r8, [rbp + 0x60]
mov rcx, qword [sym.imp.KERNEL32.dll_VirtualQuery]
xor r14d, r14d
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
lea r9d, [r14 + 0x30]
mov qword [rsp + 0x20], r14
call fcn.14000abe8
test rax, rax
jne 0x1400169b2
movzx eax, word [0x1400445a8]
cmp ax, word [rsp + 0x78]
mov rdi, qword [rbp + 0x10]
cmove r15w, word [0x140e887f0]
mov qword [rbp - 8], r15
cmp rdi, qword [rbp + 0x48]
jae 0x14001697f
movzx ecx, word [rsp + 0x58]
mov rax, qword [rbp - 0x60]
cmp rax, rcx
jl 0x14001693d
mov eax, dword [0x14004457c]
test eax, eax
jne 0x140016921
mov rax, qword [rbp - 0x60]
movzx ecx, word [rsp + 0x58]
movzx eax, word [rsp + 0x58]
sub ecx, eax
mov dword [0x140044544], 0x23d43d16
mov dword [0x140044584], ecx
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp + 0x50]
mov qword [rcx + rdi*8], rax
mov cl, byte [0x1400444be]
mov al, byte [0x1400444bd]
add cl, cl
sub cl, al
mov rax, qword [rbp - 0x58]
mov byte [0x1400444be], cl
mov ecx, 0x260f
movsx ecx, cx
movsx edx, ax
imul edx, ecx
inc rdi
mov qword [rbp + 0x10], rdi
mov word [0x1400445a8], dx
movsx eax, byte [0x1400444d3]
add word [rsp + 0x6e], ax
mov eax, 1
mov r14, qword [rbp + 0x30]
mov dword [rbp - 0x4c], 4
add dword [r14], eax
lea rcx, [rbp - 0x40]
call fcn.1400175c8
mov edi, dword [rbp - 0x6c]
xor r15d, r15d
jmp 0x140016fbc
mov rdi, qword [rbp - 0x18]
cmp qword [rbp + 0x68], rdi
je 0x14001699e
xor r15d, r15d
lea rdx, [rbp + 0x1f0]
mov qword [rsp + 0x40], r15
lea rcx, [fcn.140027300]
mov qword [rsp + 0x38], r15
mov r14d, 0x104
mov qword [rsp + 0x30], r15
mov r9d, r14d
mov qword [rsp + 0x28], r15
xor r8d, r8d
mov qword [rsp + 0x20], r15
call fcn.14000abe8
mov r9d, r14d
lea r8, [rbp + 0x1f0]
mov r14, qword [rbp + 0x20]
mov rdx, rdi
mov rcx, r14
call fcn.140017744
mov qword [rsp + 0x40], r15
lea rdx, [rbp + 0x300]
mov qword [rsp + 0x38], r15
lea rcx, [fcn.140027300]
mov qword [rsp + 0x30], r15
mov r9d, 0x104
mov qword [rsp + 0x28], r15
xor r8d, r8d
mov qword [rsp + 0x20], r15
call fcn.14000abe8
movsxd rcx, dword [0x140044570]
lea r8, [rbp + 0x300]
mov rax, qword [0x140044550]
mov r9d, 0x104
mov rdx, qword [rbp + 0x68]
sub ecx, eax
sub ecx, 0x42
mov dword [0x140044570], ecx
mov rcx, r14
call fcn.140017744
mov eax, r15d
mov dword [rbp + 0xa0], 0x908c9b95
mov dword [rbp + 0xa4], 0xcccd929b
mov dword [rbp + 0xa8], 0x92929ad0
mov byte [rbp + 0xac], r15b
xor byte [rbp + rax + 0xa0], 0xfe
inc rax
cmp rax, 0xc
jb 0x140016a9f
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0x1f0]
call qword [sym.imp.SHLWAPI.dll_StrStrIA]
test rax, rax
je 0x140016b35
mov dword [rbp + 0xb0], 0x968a9d93
mov rax, r15
mov dword [rbp + 0xb4], 0x999a949d
mov dword [rbp + 0xb8], 0x9cd69d8b
mov word [rbp + 0xbc], 0x9494
mov byte [rbp + 0xbe], r15b
xor byte [rbp + rax + 0xb0], 0xf8
inc rax
cmp rax, 0xe
jb 0x140016afa
lea rdx, [rbp + 0xb0]
lea rcx, [rbp + 0x300]
call qword [sym.imp.SHLWAPI.dll_StrStrIA]
test rax, rax
je 0x140016b35
lea rcx, [rbp - 0x40]
call fcn.1400175c8
mov edi, dword [rbp - 0x6c]
jmp 0x140016fbc
mov qword [rsp + 0x40], r15
lea rdx, [rbp + 0xe0]
mov qword [rsp + 0x38], r15
lea rcx, [fcn.140027300]
mov qword [rsp + 0x30], r15
mov ebx, 0x104
mov qword [rsp + 0x28], r15
mov r9d, ebx
xor r8d, r8d
mov qword [rsp + 0x20], r15
call fcn.14000abe8
mov esi, dword [rbp - 0x70]
mov ecx, 0x2c2
mov edi, 1
movzx eax, word [0x140044580]
test ax, ax
je 0x140016b90
lea eax, [rsi + r13]
mov word [rsp + 0x54], ax
jmp 0x140016b9d
mov rax, qword [0x140044560]
mov byte [0x1400444d3], al
add byte [0x1400444fe], dil
sub rcx, rdi
jne 0x140016b79
mov rdx, qword [rbp + 0x68]
lea r8, [rbp + 0xe0]
mov r9d, ebx
mov rcx, r14
call fcn.140017744
mov rbx, qword [rbp - 0x40]
lea r8, [rbp + 0xe0]
mov qword [rsp + 0x40], r15
lea rcx, [0x1400284a0]
mov qword [rsp + 0x38], r15
add rbx, 0x11c
mov qword [rsp + 0x30], r15
mov rdx, rbx
mov qword [rsp + 0x28], r15
mov r9d, 0x103
mov qword [rsp + 0x20], r15
call fcn.14000abe8
mov qword [rsp + 0x40], r15
lea rcx, [0x140028760]
mov qword [rsp + 0x38], r15
xor r9d, r9d
mov qword [rsp + 0x30], r15
xor r8d, r8d
mov qword [rsp + 0x28], r15
mov rdx, rbx
mov qword [rsp + 0x20], r15
call fcn.14000abe8
mov esi, dword [rsp + 0x74]
mov rdi, qword [rbp - 0x18]
test rax, rax
je 0x140016d6c
mov eax, dword [0x140044558]
lea rdx, [rbp + 0xe0]
mov qword [rsp + 0x40], r15
lea rcx, [fcn.140027300]
mov qword [rsp + 0x38], r15
add eax, 0xc5c7
mov qword [rsp + 0x30], r15
mov r9d, 0x104
mov byte [0x1400444fe], 0xfa
xor r8d, r8d
mov qword [rsp + 0x28], r15
mov dword [0x140044584], eax
mov qword [rsp + 0x20], r15
call fcn.14000abe8
mov eax, 0x1a62
lea r8, [rbp + 0xe0]
mov r9d, 0x104
mov word [0x140044568], ax
mov rdx, rdi
mov rcx, r14
call fcn.140017744
lea rdx, [rbp + 0xe0]
mov rcx, rbx
call fcn.1400170f4
test eax, eax
je 0x140016d6c
mov cl, byte [0x1400444d4]
and cl, sil
mov dword [0x140044584], 3
mov rax, qword [0x140044550]
sub cl, byte [0x140044598]
add al, cl
mov byte [0x1400444bf], al
mov eax, dword [0x140044584]
test eax, eax
je 0x140016d3c
sub eax, 1
je 0x140016d30
sub eax, 1
je 0x140016d22
cmp eax, 1
jne 0x140016d5a
movzx ecx, word [rsp + 0x5c]
mov rax, qword [rbp - 0x80]
sub cx, ax
mov eax, 0x4ee9
add cx, ax
mov word [rsp + 0x5c], cx
jmp 0x140016d5a
mov eax, 0x25
mov word [0x1400445a8], ax
jmp 0x140016d5a
mov dword [0x14004457c], 0xe5d5f066
jmp 0x140016d5a
movzx eax, byte [0x1400444be]
mov ecx, 0xffffa21a
sub cx, ax
sub cx, word [rbp - 0x70]
sub cx, word [rbp - 0x74]
mov word [0x1400445a8], cx
lea rcx, [rbp - 0x40]
call fcn.1400175c8
mov rbx, qword [rbp - 0x20]
jmp 0x140016b2d
mov rdi, qword [rbp + 0x10]
movzx r14d, word [rsp + 0x6c]
cmp rdi, qword [rbp + 0x48]
jae 0x140016e85
cmp r14w, 0xff90
mov ecx, r15d
mov eax, r15d
setg cl
cmp r14w, 0x3b
setg al
cmp ecx, eax
jb 0x140016df7
movsx rax, byte [0x1400444d6]
mov ecx, 0xf9
mov qword [rsp + 0x28], rax
xor edx, edx
mov rax, qword [rbp - 0x58]
mov qword [rsp + 0x20], rax
lea r9d, [rcx - 0x5e]
lea r8d, [rcx - 0x57]
call fcn.140021294
cmp word [0x14004458c], r15w
mov dword [0x140044514], eax
je 0x140016df7
movzx eax, word [rsp + 0x60]
lea ecx, [r13 + 0x3784]
mov qword [0x140044548], rcx
movzx ecx, word [rsp + 0x6e]
add cx, cx
sub cx, ax
mov word [rsp + 0x6e], cx
mov rax, qword [rbp - 0x40]
mov ebx, 1
mov rcx, qword [rbp + 0x50]
mov qword [rcx + rdi*8], rax
movabs rcx, 0x660cc72ec8e48
movsx rax, word [0x14004458c]
add rax, rcx
mov word [0x1400445a8], bx
mov qword [rbp - 0x60], rax
movsx eax, word [0x1400445a8]
test eax, eax
je 0x140016e6b
cmp eax, ebx
jne 0x140016e7c
movsx ecx, word [rsp + 0x54]
movzx eax, word [rsp + 0x54]
imul ecx, dword [rbp - 0x38]
sub ax, cx
mov word [rsp + 0x54], ax
movzx ecx, word [0x140044580]
movzx eax, word [0x140044580]
sub cx, word [rbp - 0x70]
sub cx, ax
mov word [0x140044580], cx
jmp 0x140016e7c
mov eax, dword [0x140044514]
shr rax, 3
mov qword [0x140044590], rax
add rdi, rbx
mov qword [rbp + 0x10], rdi
jmp 0x140016e8a
mov ebx, 1
movzx r9d, byte [0x1400444d7]
mov edx, 0x60
movzx r8d, word [rbp - 0x38]
lea ecx, [rdx - 0xb]
call fcn.140020f28
mov r8d, dword [0x140044514]
movzx eax, ax
mov qword [rbp - 0x80], rax
test r8d, r8d
je 0x140016ec0
mov edx, ebx
cmp word [rbp - 0x70], r15w
jne 0x140016ec3
mov edx, r15d
movzx ecx, word [0x140044588]
movsx eax, r14w
sub ecx, eax
imul ecx, edx
test ecx, ecx
je 0x140016ede
mov byte [rsp + 0x51], 0x99
jmp 0x140016f16
mov eax, dword [0x140044544]
not eax
test eax, eax
je 0x140016f16
movsx eax, word [rsp + 0x78]
mov rdx, qword [0x1400445a0]
imul eax, eax, 0xffffff90
sub rdx, r8
cdqe
imul rdx, rax
movsx eax, word [rbp - 0x74]
imul eax, eax, 0x1a
mov qword [0x140044598], rdx
cdqe
mov qword [rbp - 0x80], rax
mov rax, qword [rbp + 0x30]
add dword [rax], ebx
jmp 0x140016d63
movzx eax, word [0x1400445b0]
xor r15d, r15d
cmp eax, edi
mov edx, r15d
movzx eax, word [0x1400445b0]
mov ecx, r15d
setae dl
cmp ax, 0x33
setae cl
cmp edx, ecx
ja 0x140016fa1
cmp word [rsp + 0x6c], r15w
je 0x140016f70
movzx eax, byte [0x1400444be]
add eax, 0xd3
mov qword [0x1400445a0], 0xca78
mov qword [0x140044550], rax
jmp 0x140016fbc
movsx rax, word [rsp + 0x6e]
cmp rax, qword [rbp + 0x18]
jge 0x140016fbc
movzx eax, word [rsp + 0x5c]
movzx edx, word [0x1400445a8]
movzx ecx, word [0x140044514]
shr ax, 2
imul edx, ecx
mov word [rbp - 0x74], ax
mov word [rsp + 0x5c], dx
jmp 0x140016fbc
mov edx, dword [0x140044570]
movsx eax, word [rsp + 0x54]
not edx
xor edx, dword [rbp - 0x38]
sub eax, edx
cdqe
mov qword [0x140044598], rax
mov ecx, dword [rbp - 0x78]
mov rdx, qword [rbp - 0x30]
inc ecx
mov r8, qword [rbp - 0x28]
mov rsi, qword [rbp - 0x10]
mov dword [rbp - 0x78], ecx
cmp ecx, dword [r12 + 0x18]
jb 0x1400165f0
mov ebx, dword [rsp + 0x74]
jmp 0x140016fe8
mov ebx, dword [rsp + 0x74]
xor r15d, r15d
mov eax, dword [rbp + 0x28]
mov ecx, dword [rbp - 0x48]
sub ecx, eax
cmp ecx, 0x148
je 0x140017086
mov ecx, dword [0x140044578]
mov rax, qword [0x140044550]
sub ecx, eax
cmp qword [rbp + 0x20], 0xffffffffffffffff
mov dword [0x140044578], ecx
je 0x140017086
mov al, byte [rsp + 0x50]
lea rcx, [fcn.140028808]
mov rdx, qword [rbp + 0x58]
xor al, 0x17
mov qword [rsp + 0x40], r15
xor r9d, r9d
mov qword [rsp + 0x38], r15
xor r8d, r8d
movzx eax, al
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], r15
mov word [0x1400444d4], ax
mov qword [rsp + 0x20], r15
call fcn.14000abe8
mov rdx, qword [rbp]
lea rcx, [fcn.140028808]
mov qword [rsp + 0x40], r15
xor r9d, r9d
mov qword [rsp + 0x38], r15
xor r8d, r8d
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
call fcn.14000abe8
movzx eax, word [rsp + 0x5c]
cmp eax, dword [0x140044544]
jae 0x1400170a6
movabs rax, 0xd9cef114c6a50
mov qword [0x140044598], rax
jmp 0x1400170c5
movzx ecx, word [rsp + 0x58]
lea edx, [r13 - 0xa3d0]
add cx, bx
mov word [rsp + 0x58], cx
mov rcx, qword [rbp - 0x80]
sub rcx, rdx
mov qword [rbp - 0x80], rcx
mov eax, dword [rbp - 0x4c]
mov rcx, qword [rbp + 0x410]
xor rcx, rsp
call fcn.140025dd0
mov rbx, qword [rsp + 0x578]
add rsp, 0x520
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret