Function at 0x140011cb8
Capabilities:
Contain obfuscated stackstrings
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 - 0x400]
sub rsp, 0x500
mov rax, qword [0x1400399a8]
xor rax, rsp
mov qword [rbp + 0x3f0], rax
mov rax, qword [rbp + 0x460]
xor esi, esi
mov qword [rbp + 0x20], rax
mov r14b, 0x70
mov rax, qword [0x1400396a8]
mov word [rbp - 0x68], ax
movsx eax, word [0x1400396b4]
lea r10d, [rsi + 1]
mov dword [rsp + 0x64], eax
mov rax, qword [0x1400396a8]
movzx r12d, byte [0x14003961e]
mov byte [rsp + 0x51], al
mov eax, 0xead0
mov qword [rbp + 0x40], r9
movzx r9d, word [0x140039690]
mov qword [rbp - 0x10], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x48], r8
movzx r8d, word [0x140039708]
mov word [rsp + 0x5c], ax
mov rbx, qword [0x140039710]
movzx eax, byte [0x1400395b7]
mov dword [rsp + 0x7c], eax
mov eax, 0xa613
mov byte [rsp + 0x50], 0x47
mov word [rsp + 0x60], ax
movzx eax, word [0x1400396b4]
mov dword [rbp - 0x64], 0x56
mov word [rbp - 0x60], ax
movsx eax, word [0x140039698]
mov dword [rsp + 0x68], eax
mov eax, dword [0x1400396e4]
mov word [rsp + 0x54], ax
movsx rax, word [0x140039698]
mov qword [rbp - 8], rax
mov al, byte [0x1400395b3]
mov byte [rsp + 0x51], 0x8a
movsx eax, byte [0x1400395b3]
mov word [rbp - 0x68], ax
mov rax, qword [0x140039688]
movsx eax, word [0x1400396a0]
mov dword [rbp - 0x58], eax
mov al, byte [0x1400396c4]
mov byte [rsp + 0x51], al
movzx eax, word [0x14003969c]
mov word [rbp - 0x68], ax
movsxd rax, dword [0x1400396cc]
mov qword [rbp - 8], rax
mov eax, dword [0x140039700]
mov dword [rbp - 0x58], eax
mov eax, dword [str.M_fbO]
movsx ecx, word [0x1400396a4]
mov qword [rbp - 8], rax
mov eax, dword [0x1400395dc]
mov qword [rbp - 8], 0x7e28753f
mov dword [0x14003965c], 2
mov qword [rbp - 0x70], r9
mov r9d, 0xf245
lea ecx, [rcx + rax*2]
mov dword [rbp - 0x48], r9d
mov eax, dword [0x140dcf1a0]
mov dword [0x1400395dc], ecx
mov dword [rsp + 0x58], eax
movsx eax, word [rsp + 0x54]
mov edx, dword [rsp + 0x68]
sub edx, eax
mov dword [rsp + 0x70], r8d
mov eax, dword [rsp + 0x68]
sub edx, eax
mov ecx, dword [0x14003965c]
mov dword [rbp - 0x5c], r14d
mov dword [rbp - 0x50], 3
mov dword [rsp + 0x68], edx
test ecx, ecx
je 0x140011e9d
sub ecx, r10d
je 0x140011e8d
cmp ecx, r10d
jne 0x140011eb3
mov al, byte [0x1400396b4]
add al, r10b
movzx eax, al
imul r14d, eax, 0x70
mov dword [rbp - 0x5c], r14d
jmp 0x140011eb3
mov eax, dword [0x1400396cc]
add eax, 0xcf57eb9
mov dword [rbp - 0x64], eax
jmp 0x140011eb3
mov eax, dword [rsp + 0x7c]
add r12, rax
movzx eax, byte [rsp + 0x50]
neg rax
mov qword [0x140039680], rax
mov eax, dword [rsp + 0x58]
mov r15d, 0xc
add eax, 0x7a
mov dword [rbp - 0x1c], eax
mov rax, qword [0x140039688]
add al, 0x32
mov byte [0x1400395b3], al
movzx eax, word [0x140dcf1a0]
mov word [0x1400396d4], ax
mov eax, dword [rsp + 0x58]
movzx ecx, word [0x1400396b0]
add eax, 4
mov dword [rbp - 0x58], eax
mov eax, 0x1719
imul ecx, eax
mov al, byte [0x140039690]
mov byte [0x14109d27a], al
mov word [rsp + 0x5c], cx
mov eax, dword [rsp + 0x58]
add eax, 0x1fb
mov dword [0x1400396cc], 0xe2df0780
mov dword [rbp - 0x58], eax
movsx rax, word [0x1400396a0]
mov qword [0x1400396a8], rax
mov eax, dword [0x140dcf1a0]
add word [0x1400396a4], r10w
mov dword [rsp + 0x58], eax
mov al, byte [0x140039700]
add al, 0x2d
mov byte [0x14003961e], al
mov eax, dword [rsp + 0x58]
add eax, 0xfe
mov dword [rsp + 0x78], eax
mov eax, 0x271b
movsx edi, byte [0x1400395b3]
movzx ecx, word [0x1400396bc]
add di, ax
movzx eax, word [0x1400396d0]
imul eax, ecx
mov word [0x1400396d0], ax
mov rax, qword [0x140039710]
mov eax, dword [rsp + 0x58]
add eax, 0x1be
mov dword [rbp - 0x20], eax
movsx rcx, word [0x1400396f8]
mov rax, qword [0x140039680]
lea rdx, [rax + rax]
mov eax, dword [rsp + 0x58]
add eax, 0x2f2
add rcx, rdx
mov qword [0x140039680], rcx
mov dword [rbp - 0x58], eax
movzx eax, word [rsp + 0x60]
shl ax, 8
mov word [0x1400396bc], ax
mov al, byte [0x140f29ce0]
mov byte [0x1400395f3], al
mov eax, dword [0x140dcf1a0]
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x58]
add eax, 0x285
mov dword [rbp - 0x28], eax
mov eax, dword [rsp + 0x58]
add eax, 0x111
mov dword [rbp - 0x80], eax
movsx eax, word [0x1400396b4]
sub eax, 0xb0
mov byte [rsp + 0x51], 0xe6
cdqe
mov qword [rbp - 0x78], rax
mov eax, dword [rsp + 0x58]
add eax, 0x37c
mov dword [rsp + 0x74], eax
mov eax, dword [0x140dcf1a0]
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x68]
test eax, eax
je 0x1400120f8
movzx ecx, word [rsp + 0x5c]
xor edx, edx
movzx r9d, r8w
mov r8, qword [0x140039690]
mov qword [rsp + 0x28], 0xc1
mov qword [rsp + 0x20], rsi
call fcn.14001bba8
cmp ax, r15w
mov word [0x140039698], ax
mov edx, esi
lea r10d, [r15 - 0xb]
setne dl
mov ecx, esi
test ax, ax
setne cl
cmp ecx, edx
jae 0x1400120e6
movzx ecx, byte [0x14003961f]
mov rdx, rsi
movzx eax, word [rsp + 0x5c]
add eax, ecx
movzx r9d, r14b
movzx eax, byte [0x1400395b7]
mov ecx, esi
sete cl
lea r8d, [rcx + rax*4]
mov rax, qword [0x1400396d8]
mov rcx, qword [0x140039680]
test rax, rax
mov eax, dword [0x1400396e0]
not rcx
sete dl
sub rcx, rax
sub rdx, r9
xor rcx, rdx
imul rcx, r8
mov r8d, esi
test rcx, rcx
sete r8b
neg r9d
mov dword [0x1400396cc], r9d
mov dword [rsp + 0x70], r8d
jmp 0x1400120f2
add dword [0x1400396e0], 0xffffffac
mov r8d, dword [rsp + 0x70]
mov r9d, 0xf245
mov eax, dword [rsp + 0x58]
mov edx, esi
add eax, 0x203
mov dword [rbp - 0x44], eax
mov eax, dword [rsp + 0x58]
add eax, 0x158
mov dword [rbp - 0x30], eax
movzx ecx, byte [rsp + 0x50]
movsx eax, byte [0x1400395b6]
cmp eax, ecx
mov al, byte [rsp + 0x50]
mov eax, dword [rsp + 0x68]
mov ecx, esi
setg dl
imul eax, ecx
cmp edx, eax
je 0x14001215e
movzx eax, word [rsp + 0x54]
test ax, ax
je 0x14001215e
mov eax, dword [rsp + 0x64]
imul ecx, eax, 0x7de04c97
test ecx, ecx
sete al
sub al, bl
add al, byte [0x14003969c]
add al, r10b
mov byte [0x1400395b3], al
mov eax, dword [rsp + 0x58]
xor ebx, ebx
add eax, 0x346
mov edx, ebx
mov dword [rbp - 0x54], eax
movzx eax, byte [0x14003961f]
mov dword [0x140fb932c], eax
mov eax, dword [0x1400396e4]
not al
shl al, 2
mov byte [0x1400395b7], al
mov eax, dword [0x140dcf1a0]
mov dword [rsp + 0x58], eax
movzx eax, byte [rsp + 0x50]
sub al, byte [0x1400396f0]
mov byte [rsp + 0x50], al
mov eax, dword [rsp + 0x58]
add eax, 0x2a5
mov dword [rbp - 0x80], eax
mov eax, dword [rsp + 0x58]
mov r15b, byte [0x1400396b8]
add eax, 0x2d4
mov dword [rbp - 0x38], eax
add r15b, 0x4b
mov eax, dword [rsp + 0x58]
movzx ecx, byte [0x14003961e]
add eax, 0x1ea
cmp ecx, r9d
mov dword [rbp - 0x38], eax
mov eax, ebx
setbe dl
cmp cl, 0x52
setbe al
cmp edx, eax
jne 0x140012221
mov rcx, qword [0x1400396d8]
mov edx, ebx
movsx rax, di
cmp rcx, rax
mov rax, qword [0x1400396d8]
mov ecx, ebx
setg dl
cmp rax, 0x39
setg cl
cmp edx, ecx
jae 0x140012269
movzx eax, byte [0x1400395b7]
sub r8w, ax
jmp 0x140012264
cmp word [0x1400396b8], bx
jne 0x140012234
cmp byte [0x1400395b7], bl
mov ecx, ebx
je 0x140012237
mov ecx, r10d
movzx eax, word [0x1400396f8]
test ecx, ecx
jne 0x140012269
movzx eax, word [0x140f1b272]
mov cl, byte [0x14003961f]
mov word [0x1400396c4], ax
mov al, byte [rsp + 0x51]
xor cl, al
movzx r8d, cl
not r8w
mov dword [rsp + 0x70], r8d
movzx eax, word [rsp + 0x60]
sub eax, 0x3bc7f4c2
mov qword [rbp + 8], rbx
mov dword [0x1400396cc], eax
movzx eax, word [rsp + 0x54]
movsx edx, word [0x1400396a4]
add ax, r10w
mov word [rsp + 0x54], ax
movsx eax, r8w
imul edx, eax
mov eax, ebx
cmp dword [0x14003965c], ebx
mov dword [rbp - 0x38], ebx
sete al
mov qword [rbp - 0x18], rbx
sub dx, ax
movzx eax, word [rsp + 0x60]
sub dx, ax
mov qword [rbp + 0x30], rbx
mov al, byte [0x1400395f3]
neg al
movzx eax, r14b
sbb cx, cx
add cx, 0x3615
add cx, ax
movsx eax, dx
not cx
movsx ecx, cx
imul ecx, eax
not cx
mov word [0x140039698], cx
movzx ecx, byte [0x14003961e]
call fcn.14001ba24
mov qword [rbp + 0x10], rax
mov r13, rax
test al, al
je 0x14001230e
movzx ecx, word [0x140dcf1a0]
mov word [0x1400396c0], cx
jmp 0x140012329
mov al, byte [0x1400396e0]
mov byte [rsp + 0x51], al
mov eax, dword [0x14003965c]
add eax, 0xf46
mov dword [0x1400395dc], eax
mov al, byte [rsp + 0x50]
test al, al
je 0x140012387
movzx eax, word [rsp + 0x5c]
cmp eax, dword [0x1400396e0]
ja 0x140012354
mov al, byte [0x140039680]
mov byte [0x1400395f3], al
mov dword [rsp + 0x68], 0xeae40d79
jmp 0x140012387
test r14b, r14b
je 0x140012387
movsx eax, r13b
movzx ecx, ax
imul eax, ecx, 0x51
cmp byte [0x14003961e], bl
mov word [0x1400396d4], ax
je 0x14001237c
movzx r9d, word [0x1400396f8]
jmp 0x140012383
mov r9, qword [0x1400396a8]
mov qword [rbp - 0x70], r9
mov r8d, 0x7e
mov qword [rbp + 0x28], rbx
mov r14b, 0xda
lea r9d, [r8 - 0x7d]
mov eax, dword [rsp + 0x64]
movzx ecx, byte [0x1400395b7]
add ecx, 0xdd
and eax, ecx
mov dword [rsp + 0x64], eax
movzx eax, word [0x1400396b8]
neg ax
mov eax, dword [str.M_fbO]
sbb dl, dl
add dl, 0xa6
xor dl, al
mov rax, qword [0x1400396e8]
mov cl, byte [0x1400396f0]
test rax, rax
sete al
and cl, al
movzx eax, word [0x1400396bc]
xor al, byte [0x140039680]
add cl, dl
add al, cl
mov byte [0x1400395f3], al
sub r8, r9
jne 0x140012398
mov eax, dword [str.M_fbO]
mov rax, qword [0x1400396d8]
mov rax, qword [rbp + 0x20]
mov word [rsp + 0x54], bx
mov cl, byte [rsp + 0x50]
mov qword [rbp + 0x50], rbx
mov dword [rax], ebx
mov al, byte [rsp + 0x50]
cmp cl, al
ja 0x1400124c6
movsx rax, byte [0x1400395b6]
add rax, qword [0x140039700]
je 0x14001247d
mov edx, dword [rsp + 0x7c]
mov eax, ebx
cmp dword [0x1400396e0], ebx
not edx
movzx r8d, word [0x1400396f0]
sete al
or edx, eax
movsx eax, di
imul r8d, eax
movsx rax, r13b
sub rax, r12
imul r8d, edx
movsx edx, word [rsp + 0x54]
sub edx, dword [0x14003969c]
imul rdx, rax
imul rdx, r8
mov qword [0x1400396e8], rdx
jmp 0x1400124c6
cmp word [0x1400396f0], bx
mov rcx, rbx
mov rax, qword [0x140039688]
mov edx, ebx
sete cl
cmp rax, rcx
mov eax, dword [0x1400396c8]
not eax
setl dl
cmp eax, edx
jbe 0x1400124c6
cmp dword [0x140039674], ebx
je 0x1400124c6
mov eax, 0xffda
mov word [0x1400396d0], ax
mov eax, dword [rsp + 0x68]
add eax, 0x2b21de95
mov dword [rsp + 0x64], eax
mov r10, qword [rbp - 0x78]
mov ecx, ebx
movsx rax, r15b
cmp r12, rax
mov eax, ebx
sete cl
cmp r12, 0x14
sete al
cmp ecx, eax
jne 0x1400124ff
movsx rax, byte [0x1400395b3]
cmp qword [0x140039680], rax
jne 0x140012527
mov eax, dword [0x1400396f4]
mov r14b, bl
jmp 0x140012527
movzx eax, word [rsp + 0x60]
mov ecx, 0x5dec
movzx eax, r10w
sub ax, cx
mov word [0x1400396b4], ax
movzx eax, byte [rsp + 0x51]
add eax, 0x2ed25f59
mov dword [0x14003969c], eax
movzx ecx, byte [rsp + 0x50]
mov edx, ebx
movzx eax, word [rsp + 0x5c]
mov r8d, 9
cmp cx, ax
mov al, byte [rsp + 0x50]
mov ecx, ebx
setbe dl
cmp al, r8b
setbe cl
cmp edx, ecx
jbe 0x14001257c
mov eax, dword [rsp + 0x70]
sub ax, word [0x140039700]
movsxd rcx, dword [0x1400396e4]
add rcx, qword [0x140039708]
mov dword [rsp + 0x70], eax
mov eax, dword [0x1400396e4]
and eax, ecx
mov dword [0x1400396e4], eax
jmp 0x14001259a
cmp qword [0x140039680], rbx
je 0x14001259a
movsx eax, byte [0x1400395b3]
add eax, 0x57594e4a
cdqe
mov qword [0x140039708], rax
movzx eax, byte [rsp + 0x50]
mov qword [0x140e39550], rax
movsx eax, r14b
imul ecx, eax, 0x5badc235
mov rax, qword [0x140039710]
mov dword [rbp + 0x90], 0x1a696836
mov dword [rbp + 0x94], 0x5f675b68
mov word [rbp + 0x98], 0x38
add dword [0x1400396e0], ecx
mov ecx, 0x372a
sub ax, cx
mov word [0x1400396f8], ax
mov rax, rbx
add byte [rbp + rax + 0x90], 6
add rax, r9
cmp rax, r8
jb 0x1400125ec
xor r11d, r11d
mov qword [rbp], rbx
sub r10, r9
lea rax, [rbp + 0x90]
mov qword [rbp + 0x38], rax
mov edx, r11d
movzx eax, byte [0x1400395b7]
mov edi, 4
cmp word [0x1400396f0], ax
mov bl, dil
mov eax, r11d
mov qword [rbp - 0x78], r10
setb dl
cmp word [0x1400396f0], r8w
setb al
cmp edx, eax
jbe 0x140012712
mov al, byte [0x14003965c]
mov r9b, 0x45
mov byte [rsp + 0x30], al
mov r8b, 0x1e
mov byte [rsp + 0x28], r11b
mov dl, 0x29
mov cl, 0x48
mov byte [rsp + 0x20], r11b
call fcn.14001befc
mov rcx, qword [0x1400396e8]
lea r9d, [rdi - 3]
movzx edx, word [0x1400396c0]
xor r11d, r11d
mov r10, qword [rbp - 0x78]
cmp rcx, 3
mov r8d, r11d
mov r14b, al
setbe r8b
add edx, r8d
jne 0x140012712
cmp word [0x1400396a4], r11w
je 0x1400126c2
movzx ecx, word [0x1400396bc]
mov edx, 0x5517
movzx edi, byte [0x1400395b7]
add di, dx
movzx eax, cl
mov qword [rbp - 0x70], rdi
imul ebx, eax, 0x72
jmp 0x140012716
mov rdi, qword [rbp - 0x70]
mov ecx, r11d
movsx eax, r13b
mov r8d, 0xe936afd0
sub r8d, eax
movsx eax, word [rsp + 0x54]
movsx edx, word [0x140039698]
imul edx, eax
movzx eax, word [0x1400396c4]
mov qword [rbp - 0x50], r8
sub edx, dword [0x1400395dc]
cmp rax, r10
not edx
sete cl
sub edx, ecx
mov ecx, dword [0x1400396f4]
inc ecx
add ecx, edx
mov dword [0x1400396c8], ecx
jmp 0x14001271a
mov rdi, qword [rbp - 0x70]
mov r8, qword [rbp - 0x50]
test r13b, r13b
je 0x140012724
test r8d, r8d
jne 0x140012727
mov r9, r11
cmp dword [0x140039674], r11d
mov r8d, r11d
movzx eax, word [0x1400396d0]
mov rdx, r11
sete r8b
add r8d, eax
movsx eax, byte [0x1400395b3]
cmp r8d, eax
mov rax, qword [0x140039688]
setle dl
sub rax, r9
cmp rax, rdx
jl 0x1400127a2
movzx eax, word [rsp + 0x5c]
mov rcx, qword [0x140039700]
cmp rax, rcx
jne 0x140012782
movsx r12, r14b
movabs rax, 0x258e2123a1661
add r12, rax
jmp 0x1400127a2
mov eax, dword [0x14003965c]
add eax, 0x7d6f
movsxd r10, eax
lea rax, [rcx - 0x838]
mov qword [0x1400396e8], rax
mov qword [rbp - 0x78], r10
movzx ecx, word [rsp + 0x60]
movzx eax, word [0x1400396d0]
imul rcx, r10
mov qword [rbp - 0x40], r11
cmp rcx, rax
jne 0x1400127fb
mov edx, 0xe1
mov ecx, 1
movzx eax, word [0x1400396b4]
sar ax, 5
movsx rax, ax
mov qword [0x140039700], rax
mov al, byte [0x140dcf1a0]
mov byte [rsp + 0x50], al
movzx eax, word [0x1400396a0]
add ax, cx
mov word [0x1400396a0], ax
sub rdx, rcx
jne 0x1400127c5
xor edx, edx
mov cl, 0x39
call fcn.14001bd04
movsx ecx, al
xor r10d, r10d
mov word [0x1400396f8], cx
movzx eax, word [0x1400396f8]
test ax, ax
jne 0x14001286d
mov eax, dword [0x1400396f4]
test eax, eax
je 0x14001283e
mov r12d, dword [0x1400395dc]
movabs rax, 0xa457aafb452cd
imul r12, rax
jmp 0x14001286d
mov rax, qword [0x1400396a8]
test rax, rax
mov eax, dword [rsp + 0x64]
jne 0x14001285d
mov cl, r13b
sub cl, bl
sub cl, 0x5d
add cl, al
mov byte [rbp - 0x5c], cl
jmp 0x14001286d
test eax, eax
je 0x14001286d
mov eax, 0xffff8fff
add di, ax
mov qword [rbp - 0x70], rdi
movzx r8d, word [0x1400396d0]
mov r9d, 4
movsx eax, r15b
imul r15d, eax, 0xffffffc6
lea eax, [r12 + 0x47e005ad]
movsx ecx, r9w
mov word [0x140039698], r9w
mov dword [rsp + 0x6c], r8d
mov dword [rsp + 0x64], eax
mov dword [rsp + 0x58], r15d
test ecx, ecx
je 0x140012947
sub ecx, 1
je 0x14001290f
sub ecx, 1
je 0x1400128f2
sub ecx, 1
je 0x1400128de
mov r8, qword [rbp - 0x78]
mov ebx, 0xf245
cmp ecx, 1
jne 0x140012965
mov eax, dword [rbp - 0x64]
mov r14b, 0x54
sub ebx, eax
mov dword [rbp - 0x48], ebx
jmp 0x140012965
movzx eax, word [0x1400396a0]
add ax, 0x46
mov word [0x1400396a0], ax
jmp 0x140012908
movzx eax, byte [rsp + 0x50]
xor eax, dword [0x1400395dc]
xor eax, 0x93b053c1
mov dword [0x1400395dc], eax
mov ebx, 0xf245
jmp 0x140012961
movsx edx, word [rsp + 0x54]
mov ebx, 0xf245
movsx eax, word [rsp + 0x54]
mov r8, qword [rbp - 0x78]
sub edx, eax
movzx eax, word [0x1400396c0]
sub dx, ax
mov word [rsp + 0x54], dx
mov eax, dword [0x1400396e4]
imul eax, eax, 0x78
cdqe
xor r8, rax
mov qword [rbp - 0x78], r8
jmp 0x140012965
mov eax, dword [rsp + 0x68]
mov ebx, 0xf245
sub ax, 0x2a
mov dword [0x1400396e0], ebx
mov word [0x140039698], ax
mov r8, qword [rbp - 0x78]
mov eax, dword [rbp - 0x28]
imul edx, eax, 0x161
mov eax, dword [rsp + 0x74]
imul ecx, eax, 0x43
mov eax, dword [rsp + 0x74]
sub edx, ecx
imul ecx, eax, 0x170
or rax, 0xffffffffffffffff
cmp edx, ecx
je 0x140012cdc
cmp qword [rbp - 0x10], rax
je 0x140012bd6
mov eax, dword [0x140dcf1a0]
mov dword [0x140039674], eax
mov eax, dword [0x1400396f4]
mov rcx, qword [0x140039700]
sar eax, 2
mov word [0x1400396b4], ax
mov eax, dword [0x140dcf1a0]
mov dword [rsp + 0x74], eax
movsx rax, word [0x1400396b8]
imul rcx, rax
mov eax, dword [rsp + 0x74]
add eax, 0x263
mov qword [0x140039700], rcx
mov dword [rbp - 0x28], eax
movzx eax, word [0x1400396d0]
sub eax, 0x6c6
mov dword [0x14003965c], eax
mov eax, dword [rsp + 0x74]
add eax, 0x248
mov dword [rbp - 0x68], eax
mov eax, dword [rsp + 0x74]
add eax, 0x44
mov dword [rsp + 0x74], eax
mov ecx, dword [rbp - 0x68]
mov eax, dword [rbp - 0x68]
or ecx, eax
mov eax, dword [rsp + 0x74]
add ecx, eax
mov edx, dword [rbp - 0x28]
add edx, ecx
mov ecx, dword [rbp - 0x68]
mov eax, dword [rbp - 0x28]
and ecx, eax
cmp edx, ecx
je 0x140012bca
mov eax, dword [0x1400396e4]
mov edx, 0x1ae
neg eax
mov r15d, 1
mov dword [0x14003965c], eax
movzx ecx, byte [rsp + 0x51]
mov al, byte [rsp + 0x51]
sub ecx, ebx
sub cl, al
mov byte [rsp + 0x51], cl
movzx eax, word [rsp + 0x60]
add ax, di
or di, ax
sub rdx, r15
jne 0x140012a48
mov esi, 0x400
mov qword [rbp - 0x70], rdi
mov ecx, esi
mov rdx, r15
call fcn.1400207e4
xor edx, edx
mov qword [rbp + 0x28], rax
mov qword [rsp + 0x40], rdx
lea rcx, [rbp + 0x30]
mov qword [rsp + 0x38], rdx
mov r9, rax
mov qword [rsp + 0x30], rdx
mov rdx, qword [rbp - 0x10]
mov qword [rsp + 0x28], rcx
mov rcx, qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov qword [rsp + 0x20], rsi
mov rsi, qword [rbp + 0x18]
mov r8, rsi
call fcn.14000b2b0
mov rdx, qword [0x1400396e8]
mov r15d, dword [rsp + 0x58]
movsx rcx, r13b
cmp rdx, rcx
jbe 0x140012b15
movzx eax, byte [0x14003961f]
xor r8d, r8d
cmp ax, di
mov edx, r8d
mov al, byte [0x14003961f]
mov ecx, r8d
setne dl
cmp al, 1
setne cl
cmp edx, ecx
jbe 0x140012b18
movzx eax, byte [0x1400395b7]
mov ecx, 0x3056
imul ebx, eax
movsx eax, r13b
add ax, cx
mov word [0x1400396bc], ax
mov dword [rbp - 0x48], ebx
jmp 0x140012b18
xor r8d, r8d
movzx eax, word [rsp + 0x5c]
movabs rcx, 0xa1a009c15dcad
mov qword [rsp + 0x40], r8
xor rax, rcx
mov qword [rsp + 0x38], r8
lea rcx, [fcn.1400207e4]
mov qword [0x140039700], rax
xor r9d, r9d
mov rax, qword [rbp + 0x28]
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], r8
lea r8d, [r9 + 1]
movsxd rbx, dword [rax + 0x3c]
add rbx, rax
mov edx, dword [rbx + 0x50]
call fcn.14000b2b0
mov ecx, dword [rbx + 0x50]
xor edx, edx
mov qword [rsp + 0x40], rdx
mov r13, rax
mov qword [rsp + 0x38], rdx
mov r9, r13
mov qword [rsp + 0x30], rdx
mov r8, rsi
mov rdx, qword [rbp - 0x10]
mov qword [rbp - 0x18], rax
lea rax, [rbp + 0x30]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov rcx, qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
call fcn.14000b2b0
movsx ecx, byte [0x1400395f3]
sub cx, word [rbp - 0x50]
movsxd rsi, dword [r13 + 0x3c]
add rsi, r13
mov word [rsp + 0x70], cx
xor r10d, r10d
lea r9d, [r10 + 4]
jmp 0x140012bcd
mov r13, rsi
mov qword [rbp + 0x50], r13
jmp 0x140012cdf
movzx eax, word [0x1400396c0]
cmp ax, word [0x1400396d4]
jne 0x140012c0c
cmp qword [0x140039690], r10
je 0x140012c68
mov rax, qword [0x1400396e8]
movsx ecx, r15b
sub ecx, eax
mov qword [0x1400396e8], 1
mov dword [rbp - 0x48], ecx
jmp 0x140012c68
test r12, r12
je 0x140012c20
mov eax, dword [0x1400396c8]
sub r8, rax
mov qword [rbp - 0x78], r8
jmp 0x140012c68
cmp byte [0x14003961e], r10b
je 0x140012c35
mov eax, 0x3a13
mov word [rsp + 0x5c], ax
jmp 0x140012c68
movzx eax, word [rsp + 0x60]
mov rax, qword [0x1400396d8]
movsx edx, byte [0x1400395b3]
movsx ecx, byte [rbp - 0x50]
imul edx, ecx
mov ecx, 0x36b7
movsx eax, r15b
add ax, cx
mov word [0x1400396b4], ax
mov byte [0x1400395b3], dl
cmp word [0x1400396b4], r10w
mov r8, qword [rbp + 0x18]
mov r13, r8
mov qword [rbp - 0x18], r8
je 0x140012cae
mov rcx, qword [0x1400396d8]
mov eax, dword [0x1400396e4]
xor cl, al
mov al, byte [0x1400396d0]
sub al, dil
sub al, cl
sub al, byte [0x1400395b7]
sub al, 0x26
mov byte [rbp + 0x10], al
mov eax, 0xb338
mov word [rsp + 0x5c], ax
jmp 0x140012cd3
test di, di
jne 0x140012cd3
movzx edx, byte [0x1400395b5]
movzx eax, byte [0x1400395b5]
mov rcx, qword [0x1400396d8]
add rax, rdx
add cl, al
mov byte [0x1400395b5], cl
movsxd rsi, dword [r8 + 0x3c]
add rsi, r8
jmp 0x140012cdf
mov r13, rsi
mov ecx, dword [rbp - 0x30]
mov edx, dword [rbp - 0x44]
add ecx, 0x88
add edx, ecx
mov ecx, dword [rbp - 0x54]
mov eax, dword [rbp - 0x44]
xor ecx, eax
cmp edx, ecx
je 0x1400137a8
mov ebx, dword [rsp + 0x70]
test bx, bx
je 0x140012d2f
mov rax, qword [rbp - 0x50]
test eax, eax
je 0x140012d18
mov word [0x1400396d4], r9w
jmp 0x140012d56
cmp word [0x1400396f0], r10w
je 0x140012d56
mov r12d, dword [0x1400396e0]
shr r12, 3
jmp 0x140012d56
cmp word [rbp - 0x60], r10w
je 0x140012d52
movzx eax, byte [rsp + 0x51]
mov dword [0x1400396e4], eax
mov eax, dword [rsp + 0x68]
imul eax, eax, 0x3709
mov qword [0x1400396d8], rax
mov rax, qword [rbp - 0x50]
cmp dword [rsi + 0x88], r10d
je 0x1400137a8
movsx r8d, r15b
movzx edx, bx
cmp r8d, edx
jl 0x140012d78
mov rax, qword [0x140039710]
jmp 0x140012d7b
add r14b, al
imul rax, qword [rbp - 0x78], 0x5ee5
movsx ecx, r14b
neg edx
mov qword [0x1400396d8], rax
add ecx, r8d
mov eax, dword [rsp + 0x64]
mov r9d, dword [rsi + 0x88]
add eax, 0x671e0e9c
imul ecx, eax
add r9, r13
mov eax, 1
mov qword [rbp + 0x58], r9
sub eax, ecx
mov rcx, qword [0x1400396d8]
add ecx, eax
mov dword [0x1400396e0], edx
mov ebx, dword [r9 + 0x1c]
mov eax, 0x2a4
add rbx, r13
mov qword [rbp - 0x50], rcx
mov ecx, dword [0x1400395dc]
add ax, cx
mov word [0x140039698], ax
mov esi, dword [r9 + 0x20]
add rsi, r13
cwde
mov qword [rbp - 0x30], rbx
mov qword [rbp - 8], rsi
cmp eax, ecx
ja 0x140012e19
cmp dword [0x1400396c8], r10d
jne 0x140012e19
movzx r12d, byte [0x1400395b7]
movzx eax, di
not ax
shl r12d, 6
mov word [0x1400396b0], ax
mov r11d, dword [r9 + 0x24]
xor r14d, r14d
add r11, r13
movsx rax, di
mov r13d, dword [rsp + 0x6c]
mov qword [0x1400396e8], rax
movsx eax, r13w
neg eax
mov qword [rbp - 0x28], r11
mov dword [0x140039674], eax
mov dword [rbp - 0x44], r10d
cmp dword [r9 + 0x18], r14d
jbe 0x1400137b0
movzx r8d, word [rbp - 0x78]
movsx edi, word [rbp - 0x60]
not r8w
mov word [rbp - 0x68], r8w
mov dword [rsp + 0x74], edi
mov eax, dword [rsp + 0x7c]
test eax, eax
movzx ecx, word [0x14003965c]
cmovne cx, word [0x1400396cc]
mov word [0x1400396c4], cx
mov ecx, r14d
movsx eax, r15b
sub eax, 0xdb16
cdqe
mov qword [0x1400396e8], rax
mov eax, dword [rsp + 0x64]
test eax, eax
movsx eax, r13w
sete cl
sub ecx, eax
movsxd rdx, ecx
movsx rcx, word [0x1400396f8]
mov rax, qword [0x140039710]
movzx r13d, word [0x1400396b0]
and rax, rcx
cmp rax, rdx
mov ecx, r14d
movzx eax, byte [rsp + 0x50]
sete cl
mov dword [rbp - 0x54], eax
add r13d, edi
movzx eax, r8w
or ax, word [0x1400396cc]
add r13d, ecx
movzx ecx, byte [0x14003961e]
mov r8d, 0x1a48
sub cx, ax
mov eax, r14d
add cx, word [0x1400396b4]
cmp dword [0x14003965c], r14d
sete al
or cx, ax
mov word [0x1400396b4], cx
mov eax, dword [0x1400396e4]
mov edx, r14d
movzx ecx, byte [0x1400395b4]
cmp ecx, eax
mov eax, r14d
setg dl
cmp byte [0x1400395b4], 0xe
seta al
cmp edx, eax
ja 0x140012f5b
movsx r12, byte [0x1400395b3]
mov ecx, 0xfd1
movzx eax, word [0x1400396e0]
neg r12
sub ax, cx
mov word [rsp + 0x60], ax
jmp 0x140012f7f
mov eax, 0x4b6c
add ax, word [0x140039698]
mov word [0x1400396d0], ax
mov eax, dword [0x1400396c8]
add eax, 0x54516de
mov dword [0x1400396e0], eax
sub r8, 1
jne 0x140012f14
mov rcx, qword [rbp - 0x18]
mov r15d, r10d
movzx eax, word [r11 + r15*2]
mov r14d, dword [rbx + rax*4]
add r14, rcx
cmp r10d, dword [r9 + 0x18]
jae 0x140012fb5
movzx eax, word [0x140dcf1a0]
mov word [rsp + 0x5c], ax
mov eax, dword [rsi + r15*4]
add rax, rcx
mov qword [rbp + 0x38], rax
lea rdx, [rbp]
mov rcx, r14
call fcn.140014ef4
mov esi, eax
cmp eax, 1
jbe 0x14001374a
call fcn.1400172c4
xor edx, edx
mov qword [rbp - 0x40], rax
mov qword [rsp + 0x40], rdx
lea rcx, [fcn.14001f800]
mov qword [rsp + 0x38], rdx
mov r9d, 0x104
mov qword [rsp + 0x30], rdx
lea rbx, [rax + 0x18]
mov qword [rsp + 0x28], rdx
xor r8d, r8d
mov qword [rsp + 0x20], rdx
mov rdi, rax
mov rdx, rbx
call fcn.14000b2b0
mov r8, qword [rbp + 0x38]
lea rcx, [0x140020680]
xor eax, eax
mov r9d, 0x103
mov qword [rsp + 0x40], rax
mov rdx, rbx
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
call fcn.14000b2b0
mov rcx, qword [rbp - 0x28]
mov rax, qword [rbp + 0x18]
mov qword [rdi], rax
movzx eax, word [rcx + r15*2]
mov word [rdi + 8], ax
movzx eax, word [rcx + r15*2]
mov rcx, qword [rbp - 0x30]
mov r15, qword [rbp + 0x18]
mov ecx, dword [rcx + rax*4]
add rcx, r15
mov qword [rdi + 0x10], rcx
cmp esi, 2
jne 0x1400130b9
mov ecx, dword [rsp + 0x64]
xor edx, edx
cmp r13d, dword [rbp - 0x54]
not cx
mov eax, edx
mov esi, 0xffffbb51
cmove ax, cx
mov qword [rbp - 0x70], rsi
mov word [0x1400396b4], ax
mov rax, qword [rbp]
movsxd rcx, dword [rax + r14]
add rcx, rax
mov rax, qword [rdi + 0x10]
mov rdi, qword [rbp - 0x40]
add rax, 4
add rcx, rax
mov qword [rdi + 0x220], rcx
jmp 0x1400130f9
cmp esi, 3
jne 0x1400131f0
movzx eax, word [0x140039708]
mov ecx, 0x496c
sub ax, cx
add word [0x1400396b4], ax
mov rax, qword [0x1400396a8]
mov rcx, qword [rdi + 0x10]
mov rax, qword [rbp]
mov rdi, qword [rbp - 0x40]
mov edx, dword [rax + rcx]
mov qword [rdi + 0x220], rdx
mov rsi, qword [rbp - 0x70]
mov ebx, dword [rsp + 0x70]
xor r13d, r13d
mov rdx, qword [rdi + 0x220]
lea r8, [rbp + 0x60]
mov rcx, qword [sym.imp.KERNEL32.dll_VirtualQuery]
mov r9d, 0x30
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
call fcn.14000b2b0
test rax, rax
jne 0x140013320
mov al, byte [0x1400395b5]
mov r14, qword [rbp + 8]
xor al, 0x8d
mov r8d, dword [rsp + 0x6c]
movzx eax, al
mov word [0x1400396c0], ax
mov rax, qword [0x1400396a8]
sar rax, 8
mov qword [0x1400396d8], rax
cmp r14, qword [rbp + 0x40]
jae 0x14001323b
mov eax, dword [0x14003969c]
movzx ecx, byte [0x1400395b7]
lea ecx, [rcx + rax*2]
mov rax, qword [rbp - 0x40]
mov dword [0x14003969c], ecx
mov rcx, qword [rbp + 0x48]
mov qword [rcx + r14*8], rax
mov dword [rsp + 0x64], r13d
movzx eax, word [rsp + 0x5c]
add al, 0x45
mov byte [rsp + 0x58], al
mov eax, dword [rsp + 0x7c]
sub eax, 0x4d289f5
mov dword [0x1400396cc], eax
mov eax, dword [rsp + 0x64]
test eax, eax
jne 0x1400131e1
mov ecx, dword [0x1400396f4]
mov eax, dword [rsp + 0x68]
xor ecx, 0x3c
sub eax, ecx
mov dword [rsp + 0x68], eax
mov eax, 0x5ed3
add eax, r8d
mov word [0x1400396d0], ax
mov r9d, 1
add r14, r9
mov qword [rbp + 8], r14
jmp 0x140013241
cmp esi, 4
jne 0x1400130f5
mov eax, dword [rbp - 0x64]
xor r13d, r13d
xor eax, dword [0x1400395dc]
movzx esi, r13w
mov rdx, qword [rdi + 0x10]
movzx ebx, word [0x140dcf1a0]
mov rdi, qword [rbp - 0x40]
mov dword [rbp - 0x64], eax
mov rax, qword [rbp]
mov qword [rbp - 0x70], rsi
mov dword [rsp + 0x70], ebx
mov ecx, dword [rax + rdx]
mov rax, qword [rcx + rdx + 6]
mov qword [rdi + 0x220], rax
jmp 0x140013100
mov r9d, 1
mov rdx, qword [rbp + 0x10]
mov ecx, r13d
movsx eax, dl
cmp eax, dword [0x1400395dc]
mov eax, r13d
setae cl
cmp dl, 0x2a
setge al
cmp ecx, eax
jbe 0x140013281
movzx eax, word [rsp + 0x5c]
mov ecx, dword [rsp + 0x68]
movzx r12d, word [0x1400396d4]
add ecx, eax
mov dword [rsp + 0x68], ecx
sub r12, 0x4a187ef9
jmp 0x1400132c9
movsx ecx, word [0x1400396f8]
movzx eax, bx
cmp ecx, eax
jg 0x140013298
mov byte [0x1400395b4], 0xb8
jmp 0x1400132c9
movsxd rax, dword [0x140039674]
mov ecx, r13d
cmp rax, qword [0x140039680]
setge cl
cmp ecx, dword [0x1400396cc]
jge 0x1400132c9
movzx edx, word [0x1400396c0]
movzx ecx, r8w
imul edx, ecx
mov word [0x1400396c0], dx
mov r14, qword [rbp + 0x20]
mov dword [rbp - 0x38], 4
add dword [r14], r9d
lea rcx, [rbp - 0x40]
call fcn.140014380
mov rbx, qword [rbp - 0x30]
xor r14d, r14d
mov edi, dword [rsp + 0x74]
mov r13d, dword [rsp + 0x6c]
mov r10d, dword [rbp - 0x44]
mov r9, qword [rbp + 0x58]
inc r10d
mov r15d, dword [rsp + 0x58]
mov r11, qword [rbp - 0x28]
movzx r8d, word [rbp - 0x68]
mov rsi, qword [rbp - 8]
mov dword [rbp - 0x44], r10d
cmp r10d, dword [r9 + 0x18]
jb 0x140012e67
jmp 0x1400137b0
cmp qword [rbp + 0x68], r15
jne 0x140013392
xor ecx, ecx
call fcn.14001ba24
mov word [rsp + 0x54], ax
movzx eax, word [rsp + 0x54]
test ax, ax
je 0x1400132d7
mov eax, dword [rsp + 0x7c]
mov edx, r13d
cmp eax, dword [0x140039674]
mov ecx, r13d
mov eax, dword [rsp + 0x7c]
sete dl
cmp eax, 0x45
sete cl
cmp edx, ecx
jbe 0x14001336c
mov rax, qword [0x1400396e8]
sub byte [rbp - 0x5c], al
jmp 0x1400132d7
movzx eax, word [0x1400396d4]
add ax, ax
add ax, word [0x140039680]
mov word [0x1400396d4], ax
lea eax, [r12 + 0x22]
mov byte [rsp + 0x51], al
jmp 0x1400132d7
mov qword [rsp + 0x40], r13
lea rdi, [fcn.14001f800]
mov qword [rsp + 0x38], r13
lea rdx, [rbp + 0x1d0]
mov qword [rsp + 0x30], r13
mov ebx, 0x104
mov qword [rsp + 0x28], r13
mov r9d, ebx
xor r8d, r8d
mov qword [rsp + 0x20], r13
mov rcx, rdi
call fcn.14000b2b0
mov r14, qword [rbp - 0x10]
lea r8, [rbp + 0x1d0]
mov rcx, r14
mov r9d, ebx
mov rdx, r15
call fcn.140014618
mov qword [rsp + 0x40], r13
lea rdx, [rbp + 0x2e0]
mov qword [rsp + 0x38], r13
mov r9d, ebx
mov qword [rsp + 0x30], r13
xor r8d, r8d
mov qword [rsp + 0x28], r13
mov rcx, rdi
mov qword [rsp + 0x20], r13
call fcn.14000b2b0
movzx ecx, byte [0x14003961f]
lea r8, [rbp + 0x2e0]
mov eax, 0x2b
mov r9d, ebx
sub rax, rcx
mov rcx, r14
add qword [0x140039690], rax
movzx eax, word [rsp + 0x54]
mov rdx, qword [rbp + 0x68]
and eax, 0x20
mov dword [0x1400396e4], eax
call fcn.140014618
mov rax, r13
mov dword [rbp + 0xa0], 0x6b6f6268
mov dword [rbp + 0xa4], 0x2f306962
mov dword [rbp + 0xa8], 0x6969612b
mov byte [rbp + 0xac], r13b
add byte [rbp + rax + 0xa0], 3
inc rax
cmp rax, 0xc
jb 0x140013475
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0x1d0]
call qword [sym.imp.SHLWAPI.dll_StrStrIA]
test rax, rax
je 0x140013511
lea rdx, [rbp + 0xb0]
mov dword [rbp + 0xb0], 0x6e72656b
lea rcx, [rbp + 0x2e0]
mov dword [rbp + 0xb4], 0x61626c65
mov dword [rbp + 0xb8], 0x642e6573
mov word [rbp + 0xbc], 0x6c6c
mov byte [rbp + 0xbe], r13b
call qword [sym.imp.SHLWAPI.dll_StrStrIA]
test rax, rax
je 0x140013511
mov r13d, dword [rbp - 0x64]
lea rcx, [rbp - 0x40]
mov eax, 0xca
sub r13w, ax
mov dword [rsp + 0x6c], r13d
call fcn.140014380
mov rbx, qword [rbp - 0x30]
xor r14d, r14d
mov edi, dword [rsp + 0x74]
jmp 0x1400132f0
mov qword [rsp + 0x40], r13
lea rdx, [rbp + 0xc0]
mov qword [rsp + 0x38], r13
mov r9, rbx
mov qword [rsp + 0x30], r13
xor r8d, r8d
mov qword [rsp + 0x28], r13
mov rcx, rdi
mov qword [rsp + 0x20], r13
call fcn.14000b2b0
movsx rax, byte [0x1400395b3]
lea r8, [rbp + 0xc0]
mov rdx, qword [rbp + 0x68]
mov r9d, ebx
mov rcx, r14
mov qword [0x1400396e8], rax
call fcn.140014618
mov rbx, qword [rbp - 0x40]
lea r8, [rbp + 0xc0]
mov qword [rsp + 0x40], r13
lea rcx, [0x140020680]
mov qword [rsp + 0x38], r13
mov r9d, 0x103
mov qword [rsp + 0x30], r13
lea rdi, [rbx + 0x11c]
mov qword [rsp + 0x28], r13
mov rdx, rdi
mov qword [rsp + 0x20], r13
call fcn.14000b2b0
mov qword [rsp + 0x40], r13
lea rcx, [0x140020b70]
mov qword [rsp + 0x38], r13
xor r9d, r9d
mov qword [rsp + 0x30], r13
xor r8d, r8d
mov qword [rsp + 0x28], r13
mov rdx, rdi
mov qword [rsp + 0x20], r13
call fcn.14000b2b0
test rax, rax
je 0x1400136b7
mov qword [rsp + 0x40], r13
lea rdx, [rbp + 0xc0]
mov qword [rsp + 0x38], r13
lea rcx, [fcn.14001f800]
mov qword [rsp + 0x30], r13
mov ebx, 0x104
mov qword [rsp + 0x28], r13
mov r9d, ebx
xor r8d, r8d
mov qword [rsp + 0x20], r13
call fcn.14000b2b0
movsxd rax, dword [0x1400396e4]
cmp qword [rbp - 0x78], rax
jb 0x14001364c
cmp byte [rbp + 0x10], r13b
jne 0x140013662
cmp word [0x1400396d4], r13w
mov r13d, dword [rsp + 0x6c]
je 0x140013667
movzx ecx, byte [rsp + 0x51]
movzx edx, byte [rsp + 0x51]
add edx, ecx
add dl, byte [0x1400396c4]
mov byte [rsp + 0x51], dl
jmp 0x140013667
movzx r13d, byte [rsp + 0x50]
mov ecx, 0x3931
add r13w, cx
mov dword [rsp + 0x6c], r13d
jmp 0x140013667
mov r13d, dword [rsp + 0x6c]
mov r9d, ebx
lea r8, [rbp + 0xc0]
mov rdx, r15
mov rcx, r14
call fcn.140014618
lea rdx, [rbp + 0xc0]
mov rcx, rdi
call fcn.140013f04
xor r14d, r14d
test eax, eax
je 0x1400136b3
lea rcx, [rbp - 0x40]
mov qword [0x140039700], 0xc215
call fcn.140014380
mov rbx, qword [rbp - 0x30]
mov edi, dword [rsp + 0x74]
jmp 0x1400132f0
mov rbx, qword [rbp - 0x40]
mov r14, qword [rbp + 8]
cmp r14, qword [rbp + 0x40]
jae 0x1400136f7
mov rax, qword [rbp + 0x48]
xor edx, edx
lea ecx, [rdx + 0x47]
mov qword [rax + r14*8], rbx
call fcn.14001c06c
mov qword [rbp - 0x50], rax
test eax, eax
je 0x1400136e9
movsx eax, si
add eax, 0x4d194f47
mov dword [0x140039674], eax
mov edi, 1
add r14, rdi
mov qword [rbp + 8], r14
jmp 0x1400136fc
mov edi, 1
xor edx, edx
xor ecx, ecx
call fcn.14001bd04
movsx ebx, al
mov dword [rsp + 0x70], ebx
test al, al
je 0x140013738
mov edx, 0x86
movzx ecx, word [0x1400396c0]
add qword [0x140039708], rdi
add rcx, 0xc35b
mov qword [0x140039688], rcx
sub rdx, rdi
jne 0x140013715
jmp 0x14001373f
dec si
mov qword [rbp - 0x70], rsi
mov rax, qword [rbp + 0x20]
add dword [rax], edi
jmp 0x1400132e0
movzx r8d, word [rsp + 0x54]
xor r14d, r14d
mov edx, dword [rbp - 0x64]
xor r9d, r9d
movzx ecx, word [rsp + 0x60]
mov byte [rsp + 0x30], 0x60
mov byte [rsp + 0x28], r14b
mov byte [rsp + 0x20], 0x69
call fcn.14001befc
mov byte [0x1400395b7], al
movzx eax, word [0x1400396b0]
cmp eax, edi
jl 0x1400132eb
cmp dword [0x1400396c8], r14d
mov r13d, dword [rsp + 0x6c]
je 0x1400132f0
mov eax, 0xdb
mov word [rsp + 0x54], ax
jmp 0x1400132f0
mov r13d, dword [rsp + 0x6c]
xor r14d, r14d
mov eax, dword [rbp - 0x80]
cmp eax, 0x66120
je 0x140013ed4
movsx eax, word [0x1400396b4]
mov edx, r14d
mov dword [rbp - 0x64], eax
mov eax, dword [0x140dcf1a0]
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x58]
movzx ecx, word [0x1400396f0]
add eax, 0x1e
mov dword [rbp - 0x80], eax
movsx eax, r15b
cmp eax, ecx
mov eax, r14d
setg dl
cmp r15b, 0x1e
setg al
cmp edx, eax
ja 0x140013845
movsx ecx, word [0x1400396a0]
mov edx, r14d
mov eax, dword [str.M_fbO]
cmp ecx, eax
movzx eax, word [0x1400396a0]
mov ecx, r14d
setne dl
cmp ax, 0x16
setne cl
cmp edx, ecx
je 0x140013845
movzx eax, word [0x1400396a0]
mov eax, dword [rsp + 0x68]
imul ecx, eax, 0x31c09bc
mov byte [0x1400395b7], 0xff
mov dword [0x1400395dc], ecx
mov eax, dword [rsp + 0x58]
mov r8d, 0x17b
imul edi, dword [0x140039690], 0x9579
add eax, 0xb9
mov r14, qword [rbp + 0x10]
add r15b, r15b
mov dword [rbp - 0x80], eax
mov r9b, 0x78
mov eax, dword [rsp + 0x58]
sub r15b, byte [0x1400395b7]
add eax, 0x4886
mov dword [rbp - 0x54], eax
mov eax, dword [0x1400396e4]
mov eax, dword [0x1400396e4]
mov eax, dword [rbp - 0x80]
mov ecx, dword [rbp - 0x54]
or eax, 0x9678
mov edx, dword [rbp - 0x1c]
xor ecx, 0x92
imul ecx, eax
xor edx, r8d
mov eax, dword [rbp - 0x1c]
xor eax, r8d
movsx esi, r14b
mov r8b, 0x17
sub edx, ecx
mov cl, 0xe4
sub edx, eax
mov eax, dword [0x140dcf1a0]
add edx, 0x2a81d5f9
mov dword [rbp - 0x54], edx
xor edx, edx
mov byte [rsp + 0x30], dl
mov byte [rsp + 0x28], 0xb0
mov byte [rsp + 0x20], dl
mov dword [rsp + 0x58], eax
call fcn.14001befc
xor r9d, r9d
movsx ecx, al
mov dword [rsp + 0x64], ecx
mov edx, r9d
mov eax, dword [rsp + 0x64]
mov ecx, r9d
cmp eax, 0x62
mov eax, dword [rsp + 0x64]
setle dl
test eax, eax
setle cl
cmp ecx, edx
jbe 0x14001391b
mov al, byte [rsp + 0x50]
mov byte [0x1400395b6], al
movzx eax, word [rsp + 0x60]
add word [0x1400396b8], ax
mov eax, dword [rsp + 0x58]
mov r8d, 0x39a
add eax, 0xc1
movsx ebx, r14b
mov dword [rbp - 0x80], eax
mov ecx, 1
mov eax, dword [rbp - 0x48]
mov dword [0x1410962e4], eax
mov qword [0x140039710], 0x29
mov eax, dword [rsp + 0x58]
add eax, 0x18cd
mov dword [rbp - 0x80], eax
mov eax, 0xf3
mov word [rsp + 0x5c], ax
mov eax, dword [rsp + 0x64]
sub al, 0x2d
mov byte [0x14003961f], al
mov eax, dword [rsp + 0x58]
add eax, 0x5d3a
mov dword [rbp - 0x30], eax
mov eax, dword [rsp + 0x7c]
cmp eax, ebx
jbe 0x140013989
mov byte [0x1400395f3], 0x26
jmp 0x1400139ce
movsx eax, byte [0x1400395f3]
mov rcx, r9
cmp r13w, ax
cmove rcx, qword [0x140039680]
imul rax, rcx, 0x361e5c07
mov ecx, 1
test rax, rax
je 0x1400139ce
mov al, byte [0x1400395b5]
movsx eax, byte [0x1400395b3]
add eax, ebx
movsx edx, r15b
add edx, eax
mov eax, r9d
sete al
mov dword [rbp - 0x64], eax
movzx eax, word [rsp + 0x54]
sub r8d, ecx
add ax, cx
mov word [rsp + 0x54], ax
test r8d, r8d
jg 0x140013978
mov ecx, 0xf7
call fcn.14001ba24
xor r9d, r9d
mov byte [0x14003961e], al
cmp word [rsp + 0x70], r9w
je 0x140013a21
movzx eax, word [0x1400396c0]
mov ecx, r9d
test ax, ax
mov eax, dword [rsp + 0x68]
not eax
sete cl
cmp ecx, eax
jae 0x140013a21
lea r10d, [r9 + 1]
mov r8d, r10d
jmp 0x140013a2a
mov r8d, r9d
mov r10d, 1
movzx edx, word [0x1400396c0]
mov ecx, r9d
movsx eax, word [0x1400396a4]
not edx
cmp edx, eax
mov eax, r9d
setl cl
cmp ecx, edi
setg al
cmp eax, r8d
ja 0x140013ba1
movsx ecx, r12w
test ecx, ecx
je 0x140013b76
sub ecx, 1
je 0x140013b62
sub ecx, 1
je 0x140013b3b
sub ecx, 1
je 0x140013a8e
mov r9, qword [rbp - 0x70]
xor r12d, r12d
cmp ecx, 1
jne 0x140013ab5
mov dword [0x1400396cc], 0xaf783c3e
jmp 0x140013ab5
mov rax, qword [0x1400396d8]
mov qword [0x140039700], rax
mov rax, qword [0x1400396a8]
sub eax, 0x68727480
mov dword [0x1400396f4], eax
mov r9, qword [rbp - 0x70]
xor r12d, r12d
mov eax, dword [rbp - 0x20]
or r11, 0xffffffffffffffff
mov eax, dword [rbp - 0x58]
mov eax, dword [rsp + 0x78]
mov eax, dword [rsp + 0x78]
mov eax, dword [rsp + 0x78]
mov eax, dword [rbp - 0x80]
xor eax, 0x19fa
mov dword [rbp - 0x20], eax
cmp qword [rbp - 0x10], r11
je 0x140013ed4
mov al, byte [rsp + 0x51]
mov edx, r12d
movzx ecx, word [rsp + 0x54]
sub al, 0x1b
add r14b, al
mov eax, r12d
cmp si, cx
setge dl
cmp sil, 0x41
setge al
cmp edx, eax
jbe 0x140013c33
mov cl, byte [rsp + 0x51]
mov al, r14b
xor al, byte [0x140039674]
add cl, byte [0x140039698]
sub r14b, al
cmp byte [0x1400395f3], r12b
movzx r8d, r14b
sete al
xor al, cl
movzx ecx, al
imul r8d, ecx
jmp 0x140013c9c
movzx ecx, word [0x140039698]
sub cx, word [0x14003965c]
mov eax, dword [0x1400396c8]
or word [0x140039698], cx
mov qword [0x140ddcc50], rax
jmp 0x140013aae
mov eax, dword [rsp + 0x7c]
add eax, 0x4c288911
mov dword [str.M_fbO], eax
jmp 0x140013aae
movsx eax, byte [0x14003965c]
movzx ecx, word [rsp + 0x54]
mov r9d, dword [0x1400396e4]
imul r14d, eax, 0xffffffe5
xor r9w, r12w
movzx eax, byte [rbp - 0x5c]
and cx, ax
add r9w, cx
jmp 0x140013ab2
mov r9, qword [rbp - 0x70]
mov eax, dword [str.M_fbO]
movsx ecx, r9w
not ecx
cmp eax, ecx
jbe 0x140013ab2
xor r12d, r12d
cmp word [0x140039698], r12w
je 0x140013ab5
movzx eax, word [0x1400396bc]
mov r8d, r12d
mov rdx, qword [0x140039710]
not ax
movzx ecx, word [0x1400396cc]
not cx
and cx, ax
movsx eax, word [rbp - 0x60]
sub dx, cx
mov ecx, dword [str.M_fbO]
add ecx, eax
movzx eax, byte [0x14003961e]
mov ecx, r12d
sete r8b
xor r8w, dx
cmp dword [rbp - 0x48], r12d
cmove cx, ax
mov eax, 0x220b
xor cx, r8w
add eax, r13d
mov word [0x1400396c4], cx
mov word [0x1400396bc], ax
jmp 0x140013ab5
mov al, byte [0x14003961f]
mov edx, r12d
neg al
mov al, byte [0x1400395b5]
movsx ecx, word [0x1400396f8]
sbb r8d, r8d
add r8d, r11d
not ecx
test al, al
mov eax, r12d
sete dl
cmp ecx, edx
setl al
add eax, 0xfffffffe
cmp eax, r8d
mov r8d, dword [rbp - 0x5c]
jge 0x140013c9c
movzx ecx, byte [0x14003961f]
mov rax, qword [0x1400396d8]
add rcx, 0x35feb6ac
sub rax, rcx
mov ecx, 0xee8f
mov qword [0x1400396d8], rax
movsx eax, r13w
sub ecx, eax
add dword [0x1400395dc], ecx
mov eax, dword [0x140dcf1a0]
mov dword [rsp + 0x78], eax
test r9w, r9w
je 0x140013d11
mov eax, 0xc9b
movsx ecx, r10w
sub ax, word [rbp - 0x50]
mov word [0x140039698], r10w
mov word [rsp + 0x60], ax
test ecx, ecx
je 0x140013d50
cmp ecx, 1
jne 0x140013d50
mov rcx, qword [0x140039688]
mov rax, qword [0x1400396a8]
mov r15, qword [0x140039688]
and r15b, r8b
movsx edx, al
movsx eax, cl
imul eax, edx
add r15b, al
mov rax, qword [0x1400396d8]
sub r15b, byte [0x1400396e0]
sub r15b, byte [0x1400395b6]
sub r15b, al
jmp 0x140013d50
mov rax, qword [0x1400396e8]
test rax, rax
je 0x140013d26
add qword [0x140039690], r10
jmp 0x140013d50
mov rax, qword [0x1400396a8]
test rax, rax
je 0x140013d50
movzx ecx, word [0x1400396f0]
mov rax, qword [0x140039688]
add ecx, 0xa387
add rax, rcx
mov qword [0x140039688], rax
mov eax, dword [rsp + 0x78]
mov edx, 0xcc
add eax, 0x1a5
mov qword [rsp + 0x28], 0x78
mov dword [rbp - 0x58], eax
mov eax, dword [rsp + 0x68]
shr eax, 2
lea ecx, [rdx + 0x17]
mov dword [0x1400396e0], eax
lea r8d, [rdx + 0x20]
mov eax, dword [rsp + 0x78]
movzx r9d, byte [0x14003961e]
add eax, 0x38d
mov dword [rbp - 0x80], eax
mov qword [rsp + 0x20], r12
call fcn.14001bba8
mov word [0x1400396a4], ax
mov rax, qword [0x1400396e8]
test rax, rax
je 0x140013dcb
cmp byte [0x1400395b4], r12b
mov ecx, r12d
mov eax, dword [rsp + 0x7c]
sete cl
cmp eax, ecx
ja 0x140013dcb
mov ecx, 1
jmp 0x140013dce
mov ecx, r12d
mov eax, dword [0x1400396f4]
mov eax, dword [rsp + 0x64]
mov eax, 1
cmp ecx, eax
jae 0x140013e14
mov edx, dword [rsp + 0x68]
mov rcx, qword [0x140039688]
call fcn.14001bd04
movsx ecx, al
mov word [0x140039698], cx
test r15b, r15b
je 0x140013e46
mov eax, ebx
shl eax, 8
sub bl, 0x63
mov dword [0x1400396e0], eax
mov byte [rsp + 0x50], bl
jmp 0x140013e46
mov eax, dword [rsp + 0x64]
mov eax, dword [rsp + 0x68]
movsx ecx, word [0x1400396b8]
sub eax, edi
sub ecx, 0x70021754
and ecx, eax
movzx eax, word [rsp + 0x54]
add ax, cx
add ax, word [0x1400396c8]
add ax, di
mov word [0x1400396bc], ax
mov ecx, dword [rsp + 0x78]
mov eax, dword [rbp - 0x54]
add ecx, eax
mov dword [rsp + 0x78], ecx
mov edx, dword [rbp - 0x58]
mov eax, dword [rbp - 0x20]
imul edx, eax
mov eax, dword [rsp + 0x78]
imul ecx, eax, 0x2c3
sub edx, ecx
mov ecx, dword [rsp + 0x78]
mov eax, dword [rsp + 0x78]
and ecx, eax
cmp ecx, edx
je 0x140013ed4
mov rdx, qword [rbp + 0x28]
lea rcx, [fcn.140020c18]
mov qword [rsp + 0x40], r12
xor r9d, r9d
mov qword [rsp + 0x38], r12
xor r8d, r8d
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
call fcn.14000b2b0
mov rdx, qword [rbp + 0x50]
lea rcx, [fcn.140020c18]
mov qword [rsp + 0x40], r12
xor r9d, r9d
mov qword [rsp + 0x38], r12
xor r8d, r8d
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
call fcn.14000b2b0
mov eax, dword [rbp - 0x38]
mov rcx, qword [rbp + 0x3f0]
xor rcx, rsp
call fcn.14001e2d0
mov rbx, qword [rsp + 0x558]
add rsp, 0x500
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret