Function at 0x140018c90
Capabilities:
Encrypt data using speck

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov rax, qword [0x140044908]
xor rax, rsp
mov qword [rbp + 0x68], rax
mov al, byte [0x1400444bf]
xor ebx, ebx
mov byte [rsp + 0x40], al
movsx eax, byte [0x1400444d6]
mov word [rsp + 0x50], ax
mov qword [rbp - 0x78], 0xa
mov edi, dword [0x1400445ac]
movsxd rax, dword [0x14004456c]
mov qword [rbp - 0x68], rax
mov eax, 0xe9
mov word [rbp - 0x7c], ax
mov eax, 0xffff97f2
mov word [rsp + 0x44], ax
mov eax, dword [0x140044544]
mov qword [rsp + 0x78], rax
mov al, byte [0x1400445a0]
mov byte [rsp + 0x40], al
movsx eax, word [0x1400444d4]
mov dword [rsp + 0x60], eax
mov eax, dword [0x140044570]
movsx r15d, byte [0x1400444d6]
mov r13b, byte [0x140044568]
mov dword [rsp + 0x74], eax
mov eax, 0x20f7
mov word [rsp + 0x54], ax
mov rax, qword [0x1400445a0]
mov qword [rbp - 0x50], rax
mov eax, 0x317d
mov dword [rsp + 0x64], 0x13e1f65c
mov r8, qword [0x140044560]
mov word [rsp + 0x4c], ax
movzx eax, byte [0x1400444be]
mov word [rsp + 0x5c], ax
mov eax, 0x7b07
mov word [rsp + 0x5c], ax
mov dword [rsp + 0x6c], 0xfa3f
mov byte [rsp + 0x58], 0x93
movzx eax, word [0x140044580]
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x10], 0x6a
movzx eax, word [0x140044580]
mov eax, dword [0x140e887f0]
mov dword [rsp + 0x5c], eax
movzx eax, word [rsp + 0x50]
movsx eax, byte [0x1400444bf]
imul r12d, eax, 0x13
mov eax, dword [rsp + 0x5c]
add eax, 0x659
mov qword [rbp + 0x20], rcx
mov dword [rbp - 0x18], eax
mov rcx, qword [rbp - 0x68]
mov rax, qword [rbp - 0x68]
add rcx, rax
mov qword [rbp - 0x10], rdx
mov qword [rbp - 0x68], rcx
mov eax, dword [rsp + 0x5c]
add eax, 0x4a7
mov qword [rbp - 0x60], r8
mov dword [rsp + 0x6c], eax
mov eax, dword [0x140044578]
test eax, eax
je 0x140018e32
movzx eax, word [0x140032848]
lea rcx, [rbp + 0x28]
movups xmm0, xmmword [str.The_request_to_the]
mov word [rbp + 0x38], ax
mov al, byte [0x14003284a]
mov byte [rbp + 0x3a], al
movups xmmword [rbp + 0x28], xmm0
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov r8, qword [rbp - 0x60]
mov dword [rbp - 0x7c], eax
mov ecx, dword [rsp + 0x5c]
mov edx, 0x159
add ecx, 0x6e9
mov r9d, 1
mov dword [rbp - 0x48], ecx
mov ecx, dword [0x140044584]
xor cl, 0x48
mov byte [0x1400444fe], cl
mov ecx, dword [0x140e887f0]
mov dword [rsp + 0x5c], ecx
mov rcx, qword [rbp - 0x78]
mov rax, qword [rbp - 0x50]
imul rcx, rax, 0x40c5939d
mov al, byte [0x1400444bd]
sub al, cl
mov byte [0x1400444bd], al
movzx eax, word [rsp + 0x54]
add ax, r9w
mov word [rsp + 0x54], ax
sub rdx, r9
jne 0x140018e67
mov eax, dword [rsp + 0x5c]
mov rcx, rbx
add eax, 0x7b0
mov edx, 0x6c6f3486
mov dword [rbp + 4], eax
movzx eax, word [rsp + 0x50]
test ax, ax
mov rax, qword [rbp - 0x78]
mov rdi, qword [0x140044590]
sete cl
sub ax, cx
mov word [0x1400445b0], ax
movabs rax, 0xe598924cc235c
imul rdi, rax
mov eax, dword [rsp + 0x5c]
add eax, 0x58a
mov qword [0x140044598], r9
mov dword [rsp + 0x6c], eax
mov eax, dword [0x140044578]
sub eax, r9d
mov dword [0x140044578], eax
mov eax, edx
mov qword [0x140044550], rax
mov rax, qword [0x140044598]
test rax, rax
je 0x140018f19
cmp rax, r9
jne 0x140018f38
mov dword [rsp + 0x64], r8d
jmp 0x140018f38
movzx eax, word [0x1400445a8]
movzx r15d, byte [0x1400444be]
add ax, r9w
mov word [0x1400445a8], ax
shl r15w, 5
mov eax, dword [rsp + 0x5c]
add eax, 0x68b
mov dword [rbp + 8], eax
mov ecx, dword [0x14004457c]
mov eax, dword [rsp + 0x60]
cmp ecx, eax
jbe 0x140018f66
movzx eax, word [rsp + 0x54]
mov eax, dword [0x1400445ac]
mov qword [0x140044590], rax
jmp 0x140018fb8
test r15w, r15w
je 0x140018f8e
movzx eax, word [0x1400444d4]
sar ax, 6
mov word [0x14004458c], ax
movsx eax, byte [0x1400444d6]
sub word [0x140044568], ax
jmp 0x140018fb8
mov rax, qword [rbp - 0x50]
test rax, rax
je 0x140018fa8
mov eax, dword [rsp + 0x64]
sub eax, 0x1edda2e2
mov dword [0x140044570], eax
jmp 0x140018fb8
movzx eax, word [rsp + 0x50]
test ax, ax
cmovne r12d, dword [0x140044514]
mov eax, dword [0x140e887f0]
mov ecx, ebx
mov dword [rsp + 0x5c], eax
mov esi, 0x14b51bfd
movsx eax, word [rsp + 0x44]
movzx edx, word [0x140044568]
imul edx, eax
movzx eax, word [rsp + 0x44]
sub ax, dx
mov edx, ebx
mov word [rsp + 0x44], ax
mov rax, qword [0x140044590]
mov qword [rbp - 0x38], rax
mov eax, dword [rsp + 0x5c]
add eax, 0x61a
mov dword [rbp - 4], eax
mov eax, dword [rsp + 0x5c]
add eax, 0x4a1
mov dword [rbp - 8], eax
movzx eax, byte [0x140ed8903]
mov word [rsp + 0x58], ax
mov eax, dword [rsp + 0x5c]
add eax, 0x652
mov dword [rbp], eax
mov eax, dword [0x140e887f0]
mov dword [rsp + 0x5c], eax
movzx eax, word [0x140044580]
cmp ax, word [0x140044588]
movzx eax, word [0x140044580]
sete dl
cmp ax, 0x1c
sete cl
cmp edx, ecx
jae 0x140019079
movsx eax, word [0x1400444d4]
shl eax, 5
mov dword [0x1400445ac], eax
mov ecx, dword [0x140044584]
mov eax, dword [0x140044578]
add ecx, 0x9f
add ecx, eax
mov dword [0x140044584], ecx
mov eax, dword [rsp + 0x5c]
xor r8d, r8d
add eax, 0x4fe
mov byte [rsp + 0x30], 0xc
mov dword [rsp + 0x6c], eax
xor edx, edx
mov r9, qword [rsp + 0x78]
mov rcx, qword [rbp - 0x78]
mov byte [rsp + 0x28], 0xc7
mov byte [rsp + 0x20], bl
call fcn.1400210cc
movzx r11d, al
mov ecx, ebx
cmp r11, 0x2b
mov qword [rbp - 0x28], r11
mov eax, ebx
setne cl
test r11, r11
setne al
cmp eax, ecx
jbe 0x1400190d1
mov rax, qword [rsp + 0x78]
inc rax
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0x5c]
mov r9d, 0x284
mov r10, qword [rbp - 0x38]
add eax, 0x70a
movzx r11d, word [rsp + 0x58]
mov r14d, 1
mov dword [rbp - 0x58], eax
mov eax, dword [0x140044578]
mov r8d, ebx
movzx ecx, word [0x140044574]
mov edx, ebx
cmp ecx, eax
movsx ecx, byte [0x1400444bf]
mov eax, dword [rsp + 0x74]
setae r8b
cmp eax, ecx
setne dl
cmp r8d, edx
jb 0x14001912f
mov eax, dword [rsp + 0x60]
shr rax, 3
mov qword [rsp + 0x78], rax
jmp 0x140019192
test r12d, r12d
je 0x140019153
mov al, byte [0x1400444d6]
add al, 0x2e
add byte [0x1400444d3], al
mov eax, dword [0x140044584]
add eax, 0x7598c852
mov dword [rsp + 0x60], eax
jmp 0x140019192
mov eax, dword [rsp + 0x74]
mov ecx, ebx
test eax, eax
mov edx, ebx
mov eax, ebx
sete cl
cmp r11d, ecx
mov ecx, ebx
setbe dl
test r10, r10
sete al
cmp esi, eax
setbe cl
or edx, ecx
je 0x140019181
movzx eax, r13b
sub esi, eax
jmp 0x140019192
mov al, byte [0x1400444bd]
test al, al
je 0x140019192
add byte [0x1400444d6], 0xba
add r13b, r14b
sub r9d, r14d
test r9d, r9d
jg 0x1400190f3
mov eax, dword [rsp + 0x5c]
xor r8d, r8d
mov r11, qword [rbp - 0x28]
add eax, 0x60a
mov dword [rbp - 0x2c], eax
mov r9b, r11b
mov rcx, qword [rbp - 0x68]
mov al, byte [0x1400444fe]
mov dl, byte [0x140044544]
mov byte [rsp + 0x30], 0x59
mov byte [rsp + 0x28], al
mov byte [rsp + 0x20], cl
mov cl, r11b
call fcn.1400210cc
movzx eax, al
mov qword [rbp + 0x18], rax
test rax, rax
jne 0x140019263
movzx eax, word [rsp + 0x58]
mov edx, ebx
cmp dword [0x140044544], eax
mov eax, ebx
mov r8, qword [rbp - 0x38]
sete dl
cmp dword [0x140044544], 5
sete al
cmp edx, eax
jbe 0x14001922a
movsxd rcx, dword [0x14004457c]
mov rax, qword [rsp + 0x78]
sub rcx, rax
mov rax, qword [rsp + 0x78]
add rax, rcx
mov qword [rsp + 0x78], rax
jmp 0x14001928c
mov eax, dword [0x140044578]
mov ecx, 0xffffff46
movsx eax, word [0x14004458c]
sub ecx, eax
mov eax, dword [0x1400445ac]
add eax, ecx
movzx ecx, word [0x140044568]
sub cx, word [0x140044548]
xor word [0x140044568], cx
mov dword [0x1400445ac], eax
jmp 0x14001928c
movzx eax, word [0x140044580]
test ax, ax
je 0x140019275
mov eax, dword [0x1400445ac]
mov ecx, dword [0x140044514]
mov eax, ecx
mov r8, qword [rbp - 0x38]
sub eax, r8d
xor ecx, eax
mov dword [0x140044514], ecx
mov eax, dword [0x140e887f0]
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x5c]
add eax, 0x760
mov dword [rbp - 0x44], eax
cmp word [rsp + 0x58], bx
je 0x14001937d
test r12d, r12d
je 0x140019358
mov rcx, qword [0x140044550]
mov rax, qword [0x140044550]
sub rcx, rax
mov rax, qword [rbp - 0x78]
add rax, rcx
mov rcx, qword [rbp - 0x28]
add rcx, 0x18
mov qword [0x140044550], rax
mov rax, qword [rsp + 0x78]
imul rcx, rax
imul rax, rcx, 0xffffffffffffff9e
mov ecx, ebx
test rax, rax
sete cl
mov dword [0x1400445ac], ecx
mov r9, qword [rbp - 0x60]
mov eax, dword [rsp + 0x5c]
add eax, 0x648
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x5c]
add eax, 0x4e0
mov dword [rsp + 0x48], eax
mov eax, dword [0x140e887f0]
mov dword [rsp + 0x60], eax
mov eax, dword [0x140044584]
test eax, eax
je 0x1400193d1
mov al, byte [rsp + 0x40]
test al, al
je 0x1400193ae
movsxd rcx, dword [0x14004457c]
imul rcx, qword [0x140044590]
mov eax, dword [0x14004457c]
and eax, ecx
mov dword [0x14004457c], eax
jmp 0x1400193f6
cmp qword [0x140044548], rbx
je 0x1400192f8
mov rax, qword [rbp - 0x68]
mov ecx, 0xffffb237
movsx ecx, cx
movsx edx, ax
imul edx, ecx
mov word [rsp + 0x44], dx
jmp 0x1400192f8
mov eax, dword [rsp + 0x60]
test eax, eax
je 0x14001938e
movsx ecx, word [0x1400445a8]
jmp 0x140019395
movzx ecx, byte [0x1400444fe]
mov r9, qword [rbp - 0x60]
mov eax, r9d
mov dword [rsp + 0x74], ecx
and eax, 0x55
mov dword [0x140044544], eax
jmp 0x1400192fc
cmp qword [0x140044558], rbx
jne 0x1400193c5
mov eax, dword [0x140044570]
test eax, eax
jne 0x1400193c5
mov rax, qword [rbp - 0x78]
mov rdi, r8
xor rdi, 0x73bd
jmp 0x1400193f6
cmp qword [0x140044590], rbx
jne 0x1400193f6
movzx eax, word [rsp + 0x50]
movzx ecx, word [0x1400445a0]
xor ax, si
movzx edx, ax
imul edx, ecx
mov word [0x140044580], dx
mov eax, dword [rsp + 0x60]
mov ecx, ebx
add r15w, word [0x140044574]
add eax, 0x4e2
mov dword [rbp - 0x70], eax
mov r12d, ebx
mov qword [0x1400445a0], 3
mov eax, 0x26dd
add eax, r15d
mov qword [rbp - 0x38], 0x77
mov word [rsp + 0x5c], ax
mov eax, dword [rsp + 0x60]
add eax, 0x709
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x60]
add eax, 0x5ea
mov dword [rsp + 0x6c], eax
mov al, byte [rsp + 0x40]
test al, al
movsx eax, word [rbp - 0x7c]
sete cl
and ecx, eax
mov eax, dword [0x140e887f0]
cmp byte [0x1400444d7], bl
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x60]
sete r12b
add qword [0x140044548], 0x92
add eax, 0x79c
mov dword [rbp - 0x80], eax
sub r12d, 0xd
mov eax, 4
xor r12d, ecx
mov word [0x1400445a8], ax
mov rax, qword [0x140eabf30]
mov qword [rbp + 0x10], rax
movsx eax, word [0x1400445a8]
mov ecx, eax
test eax, eax
je 0x140019523
sub ecx, r14d
je 0x14001950b
sub ecx, r14d
je 0x1400194f7
sub ecx, r14d
je 0x1400194dd
cmp ecx, r14d
jne 0x14001954a
mov eax, dword [0x140044578]
imul ecx, r9d, 0x963045d2
or ecx, eax
mov dword [0x140044578], ecx
jmp 0x14001954a
mov rax, qword [0x140044550]
and al, 0x74
mov byte [0x1400444d6], al
mov rax, qword [0x140044550]
add esi, eax
jmp 0x14001954a
mov rax, qword [0x140044550]
and eax, 0x9dbb
mov dword [0x140044570], eax
jmp 0x14001954a
movzx eax, word [0x1400445b0]
mov ecx, 0x1853
sub ax, cx
mov word [0x140044580], ax
jmp 0x14001954a
movzx eax, si
mov ecx, 0x7499
sub ax, cx
mov word [0x1400444d4], ax
movsx eax, byte [0x1400444d6]
sub eax, 0x1f083b76
cdqe
mov qword [0x1400445a0], rax
mov eax, dword [rsp + 0x60]
mov ecx, ebx
add eax, 0x65d
mov dword [rsp + 0x6c], eax
movsx rax, word [0x1400444d4]
cmp rdi, rax
mov eax, ebx
sete cl
cmp rdi, 8
sete al
cmp ecx, eax
jb 0x14001958b
sub qword [0x140044598], r14
mov eax, 0x275c
add eax, edi
mov word [0x1400445b0], ax
jmp 0x1400195b0
cmp byte [0x1400444be], bl
jne 0x1400195b0
movsx rcx, word [rsp + 0x44]
mov eax, 0xc4c6
mov word [0x140044568], ax
mov rax, qword [rbp - 0x78]
add rax, rcx
mov qword [rbp - 0x78], rax
mov eax, dword [rsp + 0x60]
xor edx, edx
add eax, 0x5d1
xor r9d, r9d
mov dword [rsp + 0x6c], eax
movsx rax, word [0x1400445a8]
sub qword [0x140044548], rax
lea ecx, [rdx + 0x10]
mov eax, dword [0x140e887f0]
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x68]
add eax, 0x853
mov dword [rsp + 0x6c], eax
mov r8, qword [rsp + 0x78]
call fcn.140020dc0
mov r14, qword [rbp + 0x20]
mov r8, qword [rbp - 0x28]
mov word [rsp + 0x44], ax
movzx eax, word [rsp + 0x44]
test ax, ax
jns 0x140019637
movsxd rdx, dword [rsp + 0x64]
mov ecx, ebx
movzx eax, byte [0x1400444d7]
cmp rdx, r8
cmovne ecx, eax
test ecx, ecx
jne 0x140019637
mov cl, byte [0x140044548]
mov al, byte [rsp + 0x40]
sub cl, 0x13
add cl, al
mov byte [rsp + 0x40], cl
mov eax, dword [rsp + 0x68]
mov ecx, 0x760c
add eax, 0x80a
mov dword [rsp + 0x6c], eax
mov eax, dword [0x1400445ac]
sub ax, cx
mov dword [rbp - 0x30], eax
movsx eax, word [0x1400444d4]
shl eax, 4
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x68]
add eax, 0x823
mov dword [rbp - 0x20], eax
movzx eax, word [0x140044580]
mov eax, dword [0x140e887f0]
mov dword [rsp + 0x68], eax
mov rax, qword [rbp - 0x50]
test rax, rax
je 0x1400196f1
movsxd rcx, dword [rsp + 0x64]
mov rax, qword [rbp - 0x68]
sub rcx, rax
mov rax, qword [rbp - 0x68]
add rax, rcx
mov qword [rbp - 0x68], rax
mov r10, qword [rbp - 0x60]
mov eax, dword [rsp + 0x68]
add eax, 0x4c8
mov dword [rbp - 0x40], eax
movzx eax, word [rsp + 0x50]
cmp r8, rax
jb 0x1400197ed
cmp word [0x1400444d4], bx
je 0x1400197ca
movsx ecx, word [0x1400445a8]
mov eax, dword [0x140044544]
add ecx, 0xe4
movsxd r10, ecx
shr rax, 1
mov qword [rbp - 0x60], r10
mov qword [rbp + 0x18], rax
jmp 0x1400197ed
mov eax, dword [0x140044570]
test eax, eax
je 0x140019729
cmp dword [0x140044544], ebx
je 0x140019729
mov r13, qword [rbp - 0x78]
mov eax, dword [0x1400445ac]
add r13b, 0x78
movsx ecx, word [0x1400444d4]
test eax, eax
cmovne ecx, dword [0x140044570]
movsxd rax, ecx
jmp 0x14001969c
movsx eax, word [0x1400444d4]
mov ecx, ebx
cmp dword [0x140044514], eax
mov eax, ebx
mov r9, qword [rbp + 0x10]
setae cl
test r9, r9
setne al
cmp eax, ecx
jne 0x140019787
movzx eax, word [rsp + 0x54]
movzx edx, word [0x1400445b0]
mov word [0x14103530e], ax
sub edx, 0x6ab8b2d4
mov rax, qword [rsp + 0x78]
mov edi, r12d
imul rdi, rax
movsx rax, word [rsp + 0x54]
sub rdi, rdx
sub rdi, rax
sub rdi, r8
sub rdi, r9
jmp 0x1400196a0
cmp qword [0x140044548], rbx
je 0x1400196a0
mov al, byte [0x1400444bd]
mov r10, qword [rbp - 0x60]
movzx ecx, r10w
and cx, word [0x140044568]
add word [0x140044568], cx
movzx ecx, word [rsp + 0x5c]
xor cl, al
mov al, byte [0x1400444bd]
sub al, cl
mov byte [0x1400444bd], al
jmp 0x1400196a4
movzx eax, word [0x140044580]
movsx edx, word [0x14004458c]
imul edx, edx
sub edx, eax
movzx eax, byte [rsp + 0x40]
sub edx, eax
not edx
movsxd rax, edx
mov qword [rbp - 0x28], rax
mov eax, dword [rsp + 0x68]
add r15w, si
add eax, 0x605
mov dword [rbp - 0x7c], eax
mov eax, 0x23e1
sub r15w, ax
mov eax, dword [rsp + 0x68]
add eax, 0x533
mov dword [rsp + 0x70], eax
mov rax, qword [0x140044550]
test rax, rax
je 0x140019888
mov r9d, dword [rsp + 0x64]
xor r8d, r8d
mov byte [rsp + 0x30], bl
mov dl, 0x65
mov byte [rsp + 0x28], bl
mov cl, 0xf9
mov byte [rsp + 0x20], bl
call fcn.1400210cc
mov r10, qword [rbp - 0x60]
movzx eax, al
mov word [rsp + 0x54], ax
mov eax, dword [0x140044578]
test eax, eax
je 0x140019870
movzx eax, word [rsp + 0x50]
movzx ecx, byte [0x1400444be]
imul ecx, eax
movzx eax, word [rsp + 0x50]
sub ax, cx
mov word [rsp + 0x50], ax
jmp 0x1400198ab
movsxd rax, dword [rsp + 0x74]
mov rdx, qword [0x1400445a0]
sub rdx, rax
xor qword [0x1400445a0], rdx
jmp 0x1400198ab
movsx eax, word [0x1400444d4]
movzx ecx, word [0x140044588]
mov dword [0x14004456c], eax
mov eax, 0x5e2b
imul ecx, eax
mov word [0x1400445b0], cx
mov edx, dword [rbp - 0x30]
mov ecx, ebx
mov eax, dword [0x140044570]
movsx r8d, dx
cmp r8d, eax
mov dword [rsp + 0x70], r8d
mov eax, ebx
setl cl
cmp dx, 0x4b
mov edx, 0x4e
setl al
cmp ecx, eax
je 0x1400198e5
mov al, byte [0x140044558]
add al, dl
mov byte [rsp + 0x40], al
jmp 0x14001991f
movzx ecx, word [0x1400445a8]
movsx eax, byte [0x1400444bf]
cmp cx, ax
jne 0x14001991f
cmp qword [0x140044548], 0x3ba04bd3
jb 0x14001991f
movzx eax, byte [0x1400444fe]
mov r12d, ebx
mov qword [rbp - 0x78], rax
mov eax, dword [0x140044584]
test eax, eax
sete r12b
mov ecx, dword [rbp - 0x48]
mov eax, dword [rbp - 0x18]
imul ecx, eax
mov eax, dword [rbp - 0x48]
cmp eax, ecx
je 0x14001bb7d
sub r15w, r12w
cmp byte [r14], 0xe9
jne 0x140019986
movsxd r8, dword [0x14004457c]
xor r9d, r9d
movzx ecx, r15w
xor edx, edx
call fcn.140020dc0
mov word [rsp + 0x54], ax
mov edx, 1
mov al, byte [rsp + 0x40]
mov ecx, dword [0x140044578]
mov eax, dword [rsp + 0x74]
imul ecx, eax
mov dword [0x140044578], ecx
mov al, byte [rsp + 0x40]
mov rcx, qword [rbp - 0x10]
lea eax, [rdx + 1]
mov qword [rcx], rdx
jmp 0x14001bb7f
mov ecx, dword [rbp + 8]
mov eax, dword [rbp + 4]
cmp ecx, eax
je 0x14001bb7d
cmp byte [r14], 0x90
jne 0x140019a68
cmp byte [r14 + 1], 0xe9
jne 0x140019a68
mov rax, qword [rbp - 0x50]
mov r12d, 2
movzx ecx, r13b
cmp rax, rcx
jb 0x140019a0a
movsx eax, byte [0x1400444d6]
not eax
mov word [0x140044588], r12w
movsxd rdx, eax
and rdx, qword [0x140044558]
movzx eax, word [0x140044568]
not eax
movsxd rcx, eax
movzx eax, byte [0x1400444d7]
add rdx, rcx
sub rdx, rax
movzx ecx, r15w
sub rdx, qword [0x140044590]
inc rdx
add rcx, rdx
mov qword [0x140044598], rcx
jmp 0x140019a59
mov rax, qword [rbp - 0x68]
cmp rax, rdi
jg 0x140019a59
mov rax, qword [rsp + 0x78]
neg rax
movzx eax, word [0x140044568]
sbb rcx, rcx
neg rcx
add rcx, 0xffffffffffffff2b
imul rcx, rax
mov eax, 0xfe7d9389
imul rcx, qword [0x140044548]
add rcx, rax
mov eax, dword [0x140044578]
sete byte [0x1400444be]
shl eax, 2
mov dword [0x1400445ac], eax
mov rcx, qword [rbp - 0x10]
mov qword [rcx], r12
mov eax, r12d
jmp 0x14001bb7f
mov eax, dword [rbp]
mov edx, 0x8e
imul ecx, eax, 0x27a
sub edx, ecx
mov ecx, dword [rbp - 8]
mov eax, dword [rbp - 4]
add ecx, eax
cmp edx, ecx
je 0x14001bb7d
movzx edx, r15w
mov ecx, 0x31a
mov r9d, 1
mov dword [0x1400445ac], 4
mov eax, dword [rsp + 0x64]
add word [0x14004458c], r9w
add eax, edx
mov dword [rsp + 0x64], eax
sub rcx, r9
jne 0x140019a97
cmp byte [r14], 0x8b
jne 0x140019b0a
cmp byte [r14 + 1], 0xff
jne 0x140019b0a
cmp byte [r14 + 2], 0xe9
jne 0x140019b0a
mov r8, qword [rbp - 0x28]
mov r9b, r12b
mov byte [rsp + 0x30], bl
mov dl, dil
mov byte [rsp + 0x28], bl
mov byte [rsp + 0x20], 0x9d
call fcn.1400210cc
mov byte [0x1400444bd], al
mov r12d, 2
mov al, byte [0x1400444bd]
mov al, byte [0x1400444bd]
lea r9d, [r12 + 1]
jmp 0x14001bb71
mov eax, dword [rbp - 0x2c]
mov ecx, 0x3aa
sub ecx, eax
mov eax, dword [rbp - 0x58]
sub eax, 0x21e
cmp ecx, eax
je 0x14001bb7d
movsx ecx, word [rsp + 0x4c]
mov edx, 0x3d1
mov r11, qword [rbp + 0x10]
movzx eax, r13b
mov r8, r11
and ecx, eax
movzx eax, word [rsp + 0x4c]
add ax, cx
mov word [rsp + 0x4c], ax
movabs rax, 0xf20139e173682
xor r8, rax
mov eax, dword [0x140044570]
sub edx, r9d
mov ecx, dword [0x14004456c]
sub ecx, eax
movsxd rax, ecx
add rax, r8
mov qword [0x140044548], rax
mov eax, dword [rsp + 0x64]
add al, 0x77
mov byte [0x1400444fe], al
mov rax, qword [rsp + 0x78]
add rax, r9
mov qword [rsp + 0x78], rax
test edx, edx
jg 0x140019b55
mov eax, dword [0x140e887f0]
mov edx, ebx
mov dword [rsp + 0x68], eax
mov r9d, 3
mov eax, dword [rsp + 0x68]
movzx ecx, byte [0x1400444d7]
add eax, 0x749
cmp rcx, r11
mov dword [rsp + 0x5c], eax
mov eax, ebx
setle dl
cmp cl, r9b
setbe al
cmp edx, eax
jae 0x140019bd8
mov eax, dword [rsp + 0x60]
test eax, eax
je 0x140019c0c
mov edi, dword [0x140e887f0]
jmp 0x140019c0c
movsx ecx, word [rsp + 0x44]
movzx eax, word [0x140044574]
cmp ecx, eax
jne 0x140019c0c
movzx ecx, byte [0x1400444bd]
mov eax, dword [0x14004457c]
add rcx, 0xed
sar eax, 7
cdqe
mov qword [0x140044558], rcx
mov qword [rbp - 0x50], rax
mov eax, dword [rsp + 0x68]
mov edx, ebx
add eax, 0x6a8
mov dword [rbp - 0x58], eax
movzx eax, byte [0x1400444d7]
cmp qword [0x1400445a0], rax
mov eax, ebx
setb dl
cmp qword [0x1400445a0], 0x1b
setb al
cmp edx, eax
jbe 0x140019c9d
mov rax, qword [rsp + 0x78]
cmp qword [0x1400445a0], rax
ja 0x140019c5a
movzx r8d, word [0x1400445b0]
mov word [rsp + 0x58], r8w
jmp 0x140019cd0
mov ecx, dword [0x140044584]
mov eax, dword [rsp + 0x64]
add ecx, eax
mov dword [0x140044584], ecx
mov eax, ebx
mov ecx, dword [0x140044570]
movsx edx, byte [0x1400444d6]
add ecx, 0x77
add edx, ecx
mov ecx, dword [0x14004457c]
not ecx
sete al
sub ecx, eax
mov eax, dword [rsp + 0x74]
sub cx, ax
mov word [0x1400445b0], cx
jmp 0x140019cca
movzx eax, word [0x1400445b0]
mov rdx, rbx
cmp rax, qword [0x140044598]
movsx rcx, word [rsp + 0x54]
setb dl
add rcx, qword [0x140044590]
cmp rcx, rdx
je 0x140019cca
mov byte [0x1400444bd], r12b
movzx r8d, word [rsp + 0x58]
mov eax, dword [rsp + 0x68]
mov r12d, 2
add eax, 0x5cc
cmp byte [r14], 0x68
mov dword [rbp - 0x2c], eax
jne 0x140019e47
cmp byte [r14 + 5], 0xc3
jne 0x140019e93
mov eax, dword [0x140e887f0]
mov r8d, ebx
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x68]
add eax, 0x73a
mov dword [rsp + 0x6c], eax
movsxd rcx, dword [rsp + 0x74]
mov eax, dword [rsp + 0x74]
add rcx, qword [0x140044598]
or eax, ecx
mov dword [rsp + 0x74], eax
movzx ecx, byte [0x1400444bd]
mov eax, dword [rsp + 0x68]
sub ecx, 0x64
add eax, 0x74f
mov dword [0x140044544], ecx
mov dword [rsp + 0x6c], eax
movsx rax, word [0x14004458c]
cmp qword [0x140044598], rax
mov eax, ebx
setae r8b
cmp qword [0x140044598], 0x39
setae al
cmp r8d, eax
ja 0x140019dce
mov r9b, byte [rbp + 0x18]
mov r8b, r13b
mov byte [rsp + 0x30], bl
mov dl, r13b
mov byte [rsp + 0x28], bl
mov cl, 0x72
mov byte [rsp + 0x20], 0xd4
call fcn.1400210cc
movzx eax, al
lea rcx, [rbp + 0x40]
mov dword [rsp + 0x64], eax
mov rax, qword [rbp - 0x50]
mov eax, dword [0x140032770]
movups xmm0, xmmword [str.The_context_for_th]
mov dword [rbp + 0x60], eax
movups xmm1, xmmword [0x140032760]
movzx eax, word [0x140032774]
mov word [rbp + 0x64], ax
movups xmmword [rbp + 0x40], xmm0
movups xmmword [rbp + 0x50], xmm1
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [0x1400445ac], eax
jmp 0x140019de1
test rdi, rdi
je 0x140019de1
movzx eax, word [0x140044580]
mov word [0x141074002], ax
mov eax, dword [rsp + 0x68]
add eax, 0x68b
mov dword [rbp - 0x48], eax
mov ecx, dword [rbp - 0x48]
mov eax, dword [rbp - 0x48]
add ecx, eax
cmp ecx, 7
je 0x14001bb7d
mov al, byte [0x1400444fe]
mov ecx, 0x6d
add al, al
sub al, byte [rsp + 0x58]
mov byte [0x1400444fe], al
call fcn.140020c88
movzx eax, ax
mov qword [rbp - 0x78], rax
mov rax, qword [rbp - 0x78]
test rax, rax
jg 0x14001b4e3
movsx ecx, word [rsp + 0x44]
movsx eax, byte [0x1400444d3]
sub cx, ax
mov word [rsp + 0x44], cx
jmp 0x14001b4e3
cmp byte [r14], 0x90
jne 0x140019e93
cmp byte [r14 + 1], 0x68
jne 0x140019e93
cmp byte [r14 + 6], 0xc3
jne 0x140019e93
mov eax, 0xd5
mov word [0x1400444d4], ax
lea ecx, [rax - 0x6c]
lea edx, [rcx - 0x68]
mov eax, dword [rsp + 0x60]
sub ecx, edx
add al, 0xb
mov byte [rsp + 0x40], al
movzx eax, word [0x1400445a8]
add ax, dx
mov word [0x1400445a8], ax
test ecx, ecx
jg 0x140019e6d
jmp 0x14001a192
mov ecx, dword [rsp + 0x48]
mov eax, dword [rsp + 0x48]
xor ecx, eax
mov edx, dword [rbp - 0x44]
add ecx, 0xfffffec8
add edx, ecx
mov ecx, dword [rsp + 0x48]
mov eax, dword [rbp - 0x44]
or ecx, eax
cmp ecx, edx
je 0x14001bb7d
mov eax, dword [rsp + 0x74]
not eax
test eax, eax
je 0x140019edb
mov eax, dword [rsp + 0x74]
cmp dword [0x140044514], eax
jae 0x140019edb
movzx eax, word [rsp + 0x50]
mov rax, qword [0x140044550]
mov eax, dword [0x140e887f0]
mov rcx, rbx
mov dword [rsp + 0x48], eax
mov rdx, rbx
mov al, byte [rsp + 0x40]
test al, al
mov rax, rbx
sete cl
cmp qword [rbp + 0x18], rcx
mov ecx, ebx
setb dl
imul rdx, r10
mov r10, qword [rbp - 0x28]
test esi, esi
sete al
cmp rax, r10
movsx eax, word [0x14004458c]
setl cl
add ecx, 0xcd
add eax, ecx
cdqe
cmp rax, rdx
jg 0x140019f45
movsx eax, word [rsp + 0x4c]
mov edx, dword [0x140044584]
add edx, eax
movzx eax, word [rsp + 0x4c]
or ax, dx
mov word [rsp + 0x4c], ax
jmp 0x140019f54
mov rax, qword [0x1400445a0]
shr rax, 7
mov qword [rbp - 0x68], rax
mov eax, dword [rsp + 0x48]
add eax, 0xdf20
mov dword [rbp - 0x2c], eax
mov eax, dword [rsp + 0x48]
add eax, 0x55e
mov dword [rbp - 0x48], eax
mov rax, qword [rbp - 0x78]
cmp rax, rdi
jg 0x140019fa3
movsx ecx, word [rsp + 0x44]
mov rdx, r11
movsx rax, word [0x14004458c]
not rdx
add rax, qword [rbp - 0x60]
add rdx, rax
mov eax, 0xa5
sub eax, ecx
add rdx, rdi
movsxd rcx, eax
and rcx, rdx
mov qword [rbp - 0x68], rcx
mov eax, dword [rsp + 0x48]
add eax, 0xc865
cmp word [0x140044574], bx
mov dword [rbp - 0x44], eax
movsx eax, word [0x1400444d4]
cmovne eax, dword [0x140044544]
mov dword [0x140044578], eax
movsx rcx, word [rsp + 0x54]
mov rax, qword [rbp - 0x78]
cmp rax, rcx
jl 0x14001a00d
test r8w, r8w
je 0x140019feb
mov eax, dword [0x140e887f0]
mov qword [rbp - 0x50], rax
jmp 0x14001a041
mov rax, qword [0x140044550]
test rax, rax
je 0x14001a041
movzx eax, byte [0x1400444be]
xor rax, 0x5430
mov qword [0x140044590], rax
jmp 0x14001a041
test rdi, rdi
je 0x14001a025
movsx r15d, byte [0x1400444d6]
mov eax, 0x7fb1
sub r15w, ax
jmp 0x14001a041
cmp word [0x140044568], bx
jne 0x14001a033
mov r15d, r12d
jmp 0x14001a041
movzx eax, word [0x1400445a8]
mov rax, qword [0x140044550]
mov edx, dword [rbp - 0x44]
mov eax, dword [rbp - 0x48]
xor edx, eax
mov r8d, dword [rbp - 0x44]
mov eax, dword [rbp - 0x48]
sub r8d, eax
imul r8d, edx
mov eax, 0x9c598b93
mov edx, dword [rbp - 0x58]
xor r8, rax
mov eax, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x5c]
xor edx, eax
mov eax, dword [rsp + 0x5c]
xor ecx, eax
mov al, byte [r14]
imul ecx, edx
mov dl, 0x25
sub r8d, ecx
mov dword [rbp - 0x58], r8d
cmp al, 0xff
jne 0x14001a1a1
cmp byte [r14 + 1], dl
jne 0x14001a377
cmp byte [r14 + 2], bl
jne 0x14001a377
mov eax, dword [0x140e887f0]
mov r8d, 1
mov dword [rsp + 0x48], eax
mov ecx, dword [0x1400445ac]
mov rax, qword [0x140044548]
add rcx, r8
imul rax, rcx
mov qword [0x140044548], rax
mov eax, dword [rsp + 0x48]
add eax, 0x856
mov dword [rsp + 0x6c], eax
mov ecx, dword [rsp + 0x48]
mov eax, dword [rbp - 0x58]
add ecx, eax
mov eax, dword [0x140e887f0]
mov dword [rbp - 0x44], ecx
mov ecx, 0x1bc
mov qword [rbp - 0x78], rax
movzx eax, word [rsp + 0x54]
mov eax, dword [rsp + 0x48]
add eax, 0x76e
mov dword [rbp - 0x58], eax
mov edx, dword [rbp - 0x44]
mov eax, dword [rbp - 0x44]
imul edx, eax
mov eax, dword [rbp - 0x58]
sub ecx, eax
cmp ecx, edx
je 0x14001bb7d
mov rax, qword [rsp + 0x78]
mov eax, dword [rsp + 0x64]
mov eax, dword [rsp + 0x64]
movzx eax, word [0x140044590]
add ax, 0x19
mov word [0x14004458c], ax
mov rax, qword [0x140044550]
mov rcx, qword [0x140044550]
xor eax, 0x1f
mov dword [0x14004456c], eax
mov rax, qword [rbp - 0x68]
cmp rcx, rax
jge 0x14001a17f
lea edx, [r8 + 0x53]
movzx ecx, word [0x140044580]
sub ecx, 0x70f8064c
mov dword [0x140044584], ecx
mov al, byte [rsp + 0x40]
add al, r8b
mov byte [rsp + 0x40], al
sub rdx, r8
jne 0x14001a15a
jmp 0x14001a18c
movzx eax, word [rsp + 0x50]
sub al, 0x7d
mov byte [0x1400444d7], al
mov r9d, 4
mov rcx, qword [rbp - 0x10]
mov qword [rcx], r12
mov eax, r9d
jmp 0x14001bb7f
cmp al, 0x8b
jne 0x14001a311
cmp byte [r14 + 1], 0xff
jne 0x14001a377
cmp byte [r14 + 2], 0xff
jne 0x14001a377
cmp byte [r14 + 3], dl
jne 0x14001a377
movsx ecx, word [rsp + 0x54]
mov r8d, 0x224d
mov eax, dword [0x140044578]
sub ecx, eax
mov eax, ecx
mov ecx, 1
mov qword [0x1400445a0], rax
lea edx, [rcx + 3]
mov al, byte [0x14004458c]
add al, 0x5d
mov dword [0x140044584], edx
mov byte [rsp + 0x40], al
mov eax, dword [0x140044584]
test eax, eax
je 0x14001a2d6
sub eax, 1
je 0x14001a29d
sub eax, 1
je 0x14001a27d
sub eax, 1
je 0x14001a246
cmp eax, 1
jne 0x14001a2e8
mov eax, dword [0x1400445ac]
movzx ecx, byte [0x1400444bd]
shl cx, 4
mov word [0x1400445a8], cx
jmp 0x14001a2cf
movzx eax, byte [rsp + 0x40]
mov rdx, qword [0x140044550]
imul rcx, rax, 0xb6
mov rax, qword [rsp + 0x78]
not rdx
and rdx, rcx
mov byte [0x1400444d3], 0x6d
and eax, edx
mov ecx, 1
mov dword [0x1400445ac], eax
lea edx, [rcx + 3]
jmp 0x14001a2e8
mov eax, dword [0x140044570]
mov eax, dword [rsp + 0x74]
movzx eax, word [rsp + 0x4c]
mov rax, qword [rsp + 0x78]
mov eax, dword [0x1400445ac]
mov eax, dword [rsp + 0x74]
jmp 0x14001a2e8
mov rax, qword [0x140044550]
add qword [0x140044598], rax
movsx rax, byte [0x1400444d3]
mov rcx, qword [0x140044560]
imul rcx, rax
mov rax, qword [0x140044560]
add rax, rcx
mov qword [0x140044560], rax
mov ecx, 1
jmp 0x14001a2e8
mov al, byte [0x140044544]
add al, byte [0x1400444d3]
mov byte [0x1400444d7], al
sub r8, rcx
jne 0x14001a1ed
mov eax, dword [rsp + 0x64]
mov eax, dword [rsp + 0x74]
movzx eax, word [rsp + 0x54]
mov eax, dword [0x1400445ac]
mov eax, edx
mov byte [0x1400444d3], cl
jmp 0x14001b625
cmp al, 0xb8
jne 0x14001a377
cmp byte [r14 + 5], 0xff
jne 0x14001a377
cmp byte [r14 + 6], 0xe0
jne 0x14001a377
mov rdx, qword [0x140044560]
mov rcx, qword [0x140044560]
mov eax, dword [0x140044544]
sub rdx, rax
mov eax, 0x75f
sub rdx, rcx
mov rcx, qword [rbp - 0x10]
mov qword [0x140044560], rdx
mov edx, dword [0x140044578]
shr rdx, 6
mov qword [0x140044598], rdx
sub r15w, ax
mov edx, 1
mov word [0x1400444d4], r15w
mov qword [rcx], rdx
jmp 0x14001a199
mov eax, dword [rbp - 0x70]
mov ecx, ebx
mov eax, esi
cmp r11, rax
mov dword [0x14004456c], r9d
mov eax, 0xfd
sete cl
sub ax, word [0x1400444d4]
add word [0x140044574], ax
mov word [0x140044580], cx
mov eax, dword [0x140044584]
sub al, dl
mov byte [0x1400444be], al
cmp byte [r14], 0xb8
jne 0x14001a490
cmp byte [r14 + 5], 0x50
jne 0x14001a490
cmp byte [r14 + 6], 0xc3
jne 0x14001a490
xor ecx, ecx
call fcn.140020c88
mov ecx, ebx
movzx eax, ax
cmp eax, 0x22
sete cl
test eax, eax
sete bl
cmp ebx, ecx
ja 0x14001a421
movsx rcx, word [0x1400444d4]
mov rax, qword [rbp - 0x78]
cmp rcx, rax
jg 0x14001a447
movzx eax, byte [rsp + 0x40]
mov rdx, qword [0x1400445a0]
movzx ecx, byte [0x1400444bd]
sub rdx, rax
add cx, dx
mov word [0x1400445b0], cx
jmp 0x14001a447
sub si, word [rbp - 0x30]
movzx eax, word [0x140044580]
add si, ax
add si, word [0x140044590]
xor si, word [0x140044588]
not si
mov word [0x140044574], si
movzx eax, byte [rsp + 0x40]
movabs rcx, 0xac76ac5acf624
imul rax, rcx
movabs rcx, 0xd9dcc9a488378
mov edx, 1
mov qword [0x140044558], rax
movsx rax, byte [0x1400444bf]
add rax, rcx
mov rcx, qword [rbp - 0x10]
mov qword [rbp - 0x50], rax
mov qword [rcx], rdx
mov eax, 3
jmp 0x14001bb7f
mov eax, dword [rbp - 0x80]
mov ecx, 0x208
sub ecx, eax
mov eax, dword [rbp - 0x80]
sub eax, 0x190
cmp ecx, eax
je 0x14001bb7d
mov rcx, qword [rbp - 0x50]
mov r8d, ebx
mov rax, qword [rbp - 0x50]
xor rcx, r10
and rax, rcx
movzx r9d, r15w
mov qword [rbp - 0x50], rax
mov ecx, ebx
mov al, byte [0x1400444bd]
mov r10d, r9d
movzx r15d, word [0x140044574]
test al, al
mov eax, dword [rsp + 0x70]
not eax
mov dword [rsp + 0x70], r9d
sete cl
shl r10d, 4
xor ecx, eax
mov dword [rsp + 0x5c], r10d
mov eax, dword [0x140e887f0]
mov dword [rsp + 0x74], ecx
mov dword [rsp + 0x48], eax
movabs rax, 0xeceb8c2d27f99
add r15, rax
mov eax, dword [rsp + 0x48]
add eax, 0x475
mov dword [rbp - 0x80], eax
movsx rax, word [rsp + 0x4c]
cmp qword [0x1400445a0], rax
mov eax, ebx
seta r8b
cmp qword [0x1400445a0], 0x27
seta al
cmp r8d, eax
je 0x14001a5b0
mov ecx, dword [0x1400445ac]
xor r8d, r8d
movzx eax, word [0x140044568]
mov r9, qword [0x1400445a0]
mov qword [rsp + 0x28], rcx
xor ecx, ecx
lea edx, [r8 + 0x44]
mov qword [rsp + 0x20], rax
call fcn.140021294
movzx r8d, word [rsp + 0x58]
mov r9d, dword [rsp + 0x70]
test r8w, r8w
mov r10d, dword [rsp + 0x5c]
mov qword [0x140044558], rax
mov rax, qword [rsp + 0x78]
mov eax, dword [0x140044584]
mov eax, dword [0x1400445a0]
cmovne eax, dword [0x140044558]
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x74]
imul ecx, eax, 0xfd413ce6
mov dword [0x140044544], ecx
jmp 0x14001a5b6
movzx r8d, word [rsp + 0x58]
mov eax, dword [rsp + 0x48]
add eax, 0x4ab1
mov dword [rsp + 0x70], eax
movsxd rax, dword [0x14004457c]
cmp rax, rdi
jle 0x14001a5e1
cmp dword [0x14004456c], ebx
jne 0x14001a5e1
mov dword [0x14004457c], 0x36
mov eax, dword [rsp + 0x48]
add eax, 0x280d
mov qword [0x140044548], r12
mov dword [rbp - 0x70], eax
mov r13, qword [rbp - 0x78]
movzx eax, word [0x140044598]
xor r13b, 0xe7
add word [0x140044574], ax
mov eax, 0x54f7
mov dword [0x14004456c], ebx
mov word [rsp + 0x54], ax
movzx ecx, word [rsp + 0x44]
movzx edx, byte [0x1400444d4]
test cx, cx
movzx eax, byte [0x140044544]
cmovne edx, eax
mov qword [rbp - 0x18], r13
cmp dword [0x14004456c], ebx
mov byte [0x1400444bf], dl
jne 0x14001a670
mov ecx, dword [rsp + 0x64]
imul eax, r9d, 0x14e6
sub ecx, eax
mov dword [rsp + 0x64], ecx
mov ecx, dword [0x1400445ac]
mov eax, dword [0x1400445ac]
add eax, dword [0x140044558]
add eax, ecx
mov dword [0x1400445ac], eax
mov ecx, dword [rbp - 0x80]
mov eax, dword [rbp - 0x80]
sub ecx, eax
mov eax, dword [rsp + 0x70]
add eax, 0xc7c6
xor eax, ecx
sub eax, 0x10a76
mov dword [rbp - 0x58], eax
mov eax, dword [0x140e887f0]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x48]
add eax, 0x288e
mov dword [rsp + 0x70], eax
movzx ecx, byte [rsp + 0x40]
movzx eax, byte [0x1400444fe]
sub ecx, eax
mov al, byte [rsp + 0x40]
add al, cl
movzx ecx, r10w
mov byte [rsp + 0x40], al
movzx eax, word [rsp + 0x44]
test ax, ax
mov eax, dword [rsp + 0x48]
cmovne cx, r8w
sub esi, dword [0x1400445a0]
add eax, 0xa12b
mov word [rsp + 0x58], cx
mov dword [rbp - 0x70], eax
movsx ecx, word [rsp + 0x44]
not ecx
test ecx, ecx
jne 0x14001a6f6
cmp word [0x140044568], bx
je 0x14001a700
mov dword [0x1400445ac], 0xdeec25d3
mov eax, dword [rsp + 0x48]
add eax, 0x4ca
cmp qword [0x1400445a0], 0x77
mov dword [rbp - 0x70], eax
movzx eax, word [0x140f02b30]
mov word [0x140044568], ax
jae 0x14001a790
movzx eax, byte [0x1400444d7]
mov ecx, 0x77fd
add ax, cx
mov edx, 1
mov word [rsp + 0x54], dx
mov word [0x140044580], ax
movsx eax, word [rsp + 0x54]
test eax, eax
je 0x14001a770
cmp eax, edx
jne 0x14001a790
movzx ecx, byte [rsp + 0x40]
sub rcx, qword [0x140044590]
mov al, byte [rsp + 0x40]
add al, cl
mov byte [0x1400444d7], r12b
mov byte [rsp + 0x40], al
jmp 0x14001a790
movsx ecx, word [0x1400445a8]
xor cx, word [0x140f41f60]
mov word [0x1400445a8], cx
mov qword [0x140044548], 0x3ca3
mov eax, dword [rsp + 0x70]
mov ecx, 0x2fcc
sub ecx, eax
xor r9d, r9d
mov edx, 0xcd
mov dword [rbp - 0x2c], ecx
lea r8d, [r9 + 0x46]
lea ecx, [rdx + 0x2b]
call fcn.140020f28
movzx ecx, word [0x140044574]
movzx eax, ax
mov qword [0x140044598], rax
test rax, rax
mov eax, dword [0x140e887f0]
cmovne cx, word [rsp + 0x58]
mov word [0x140044574], cx
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x48]
add eax, 0x94d2
mov dword [rsp + 0x68], eax
movzx eax, word [0x140044558]
add word [0x14004458c], ax
mov rax, qword [rbp - 0x50]
movsx ecx, ax
movsx eax, word [0x14004458c]
imul eax, ecx
mov ecx, 0x688e
mov word [0x14004458c], ax
mov rax, qword [rbp - 0x78]
add ax, cx
mov ecx, 0x1640
xor ax, cx
movsx ecx, word [rsp + 0x5c]
mov word [0x140044568], ax
mov eax, dword [rsp + 0x48]
add eax, 0x4df
mov dword [rsp + 0x70], eax
movsx edx, word [0x1400445a8]
movsx eax, word [0x14004458c]
imul edx, ecx
movsx ecx, dx
mov edx, 0x98
imul ecx, eax
mov eax, 0xffffdd8a
cwde
lea r8d, [rdx + 0x2f]
movsx ecx, cx
imul ecx, eax
mov al, byte [0x1400445a0]
mov word [0x1400444d4], cx
xor ecx, ecx
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x48]
mov r9, qword [0x140044590]
add eax, 0xe5f5
mov dword [rsp + 0x70], eax
call fcn.140020dc0
mov word [rsp + 0x50], ax
mov edx, ebx
movzx eax, word [rsp + 0x50]
movzx eax, word [0x140e887f0]
mov word [rsp + 0x50], ax
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x68]
add eax, 0xb80b
or ecx, eax
mov eax, dword [rsp + 0x68]
movsx r8d, byte [0x1400444d6]
or eax, ecx
sub eax, 0x1d62a
cmp word [0x14004458c], r8w
mov dword [rbp - 4], eax
mov eax, ebx
setle dl
cmp word [0x14004458c], 0x2e
setle al
cmp edx, eax
je 0x14001a923
cmp dword [0x140044544], 0x10
mov edx, ebx
mov eax, ebx
setae dl
cmp dword [0x140044544], 3
setae al
cmp eax, edx
je 0x14001a923
mov rax, qword [0x140044550]
mov r8b, byte [0x1400444d6]
mov eax, 0xffffffee
sub al, sil
mov byte [rbp - 0x38], al
mov eax, dword [0x140e887f0]
mov dword [rsp + 0x48], eax
test r8b, r8b
je 0x14001aa02
mov al, byte [0x1400444be]
mov r9b, 0x91
mov byte [rsp + 0x30], 0x58
mov r8b, 0xbf
mov byte [rsp + 0x28], al
xor edx, edx
xor ecx, ecx
mov byte [rsp + 0x20], 0x38
call fcn.1400210cc
movzx ecx, al
mov edx, ebx
cmp ecx, 5
mov dword [0x14004456c], ecx
mov eax, ebx
setne dl
test ecx, ecx
setne al
cmp eax, edx
ja 0x14001aa6e
movzx ecx, byte [rsp + 0x40]
movsx eax, byte [0x1400444bf]
cmp eax, ecx
jge 0x14001aa6e
cmp byte [rbp - 0x38], bl
je 0x14001a9c9
mov qword [rbp - 0x68], 0x15883
lea rcx, [rdi + rdi]
movzx eax, word [rsp + 0x44]
mov edx, ebx
xor al, byte [0x140044598]
test rcx, rcx
cmove edx, eax
mov rax, qword [rbp - 0x68]
movsx ecx, dl
movsx edx, al
imul edx, ecx
mov byte [0x1400444bf], dl
jmp 0x14001aa6e
mov rax, qword [rbp - 0x78]
test rax, rax
je 0x14001a9e3
mov eax, 0xa3
mov word [0x140044568], ax
jmp 0x14001aa6e
mov eax, dword [0x140044584]
test eax, eax
jne 0x14001a9f2
test r13b, r13b
jne 0x14001aa6e
mov rax, qword [0x140044560]
mov word [0x14107400a], ax
jmp 0x14001aa6e
mov eax, dword [rsp + 0x64]
test eax, eax
je 0x14001aa46
mov rcx, qword [rbp - 0x50]
movabs rax, 0x8d226ad2eea3c
mov edx, dword [0x140044584]
inc rcx
imul rdx, rcx
add rdx, rax
mov rax, rbx
sete al
mov qword [rbp - 0x68], rax
mov rax, qword [0x140044560]
xor eax, 0xba48
mov dword [0x14004456c], eax
jmp 0x14001aa6e
mov rdx, qword [rbp - 0x60]
mov rcx, rbx
mov rax, qword [0x140044598]
cmp rdx, 0x4668835f
not rax
setg cl
add rcx, rax
je 0x14001aa6e
mov esi, edx
and esi, 0x803f
mov eax, dword [rsp + 0x48]
xor r8d, r8d
mov ecx, dword [rsp + 0x5c]
add eax, 0x62fa
mov dword [rbp - 0x80], eax
xor edx, edx
mov eax, dword [rsp + 0x48]
add eax, 0x7a0f
shl ecx, 2
mov dword [rbp - 0x70], eax
mov eax, dword [rsp + 0x60]
imul rax, qword [0x140044590]
mov qword [0x140044598], rcx
mov qword [rbp - 0x60], rax
mov eax, dword [rsp + 0x48]
add eax, 0x14ac
mov dword [rsp + 0x70], eax
mov al, byte [0x1400444bd]
sub al, 0x40
mov byte [rsp + 0x40], al
movsx ecx, word [rsp + 0x44]
add ecx, 0x8dba
mov dword [rsp + 0x74], ecx
xor ecx, ecx
movzx r9d, byte [0x1400444bd]
call fcn.140020dc0
mov dword [0x14004457c], eax
mov eax, dword [0x14004457c]
test eax, eax
je 0x14001ab0b
mov eax, dword [0x14004457c]
add word [0x140044568], ax
movzx eax, byte [0x141058fdf]
add word [0x14004458c], ax
mov ecx, dword [rbp - 0x80]
mov eax, dword [rsp + 0x70]
xor ecx, eax
mov eax, dword [rbp - 0x70]
imul eax, ecx
mov ecx, dword [rbp - 0x80]
imul ecx, eax
xor ecx, 0x695d5b5f
mov dword [rbp - 8], ecx
cmp dword [rsp + 0x5c], ebx
je 0x14001ab64
movzx ecx, word [rbp - 0x60]
call fcn.140020c88
mov word [rsp + 0x4c], ax
movzx eax, word [rsp + 0x4c]
test ax, ax
je 0x14001ab77
mov al, byte [0x140fd7512]
movzx r8d, word [rsp + 0x58]
mov qword [rbp - 0x38], rax
mov eax, r8d
shl rax, 5
mov qword [rbp - 0x28], rax
jmp 0x14001ab7d
mov eax, 0xf1
add ax, word [0x140044544]
mov word [0x140044588], ax
movzx r8d, word [rsp + 0x58]
mov rcx, qword [rbp - 0x38]
mov eax, dword [0x140e887f0]
mov dword [rsp + 0x48], eax
test cl, cl
je 0x14001aba6
movzx eax, byte [0x141058fd4]
add r15, rax
mov eax, dword [0x140044578]
shr eax, 4
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x48]
add eax, 0x6bf3
mov dword [rsp + 0x68], eax
movsx eax, cl
mov word [0x140edd92a], ax
mov eax, dword [rsp + 0x48]
add eax, 0x9c51
cmp qword [0x140044558], r15
mov dword [rsp + 0x70], eax
je 0x14001abf8
mov rdx, qword [0x140044550]
movsx rax, word [rsp + 0x54]
not rdx
cmp rax, rdx
jl 0x14001abf8
mov rax, qword [0x140044560]
mov edi, 0x9d69
mov dword [rsp + 0x74], eax
mov eax, dword [rsp + 0x48]
mov edx, 0xe9
add eax, 0x560
movzx ecx, r13b
mov dword [rsp + 0x70], eax
movzx eax, r8w
movzx r8d, byte [0x1400444fe]
lea r9d, [rdx - 0x6d]
sub qword [0x140044558], rax
call fcn.140020dc0
mov r8, qword [rsp + 0x78]
xor r9d, r9d
xor edx, edx
mov byte [0x1400444fe], al
xor ecx, ecx
call fcn.140020f28
movzx eax, ax
mov dword [0x140044514], eax
mov eax, dword [0x1400445ac]
test eax, eax
je 0x14001ac59
movzx eax, word [rsp + 0x50]
mov eax, dword [rsp + 0x60]
xor r8d, r8d
movzx eax, word [rsp + 0x4c]
mov ecx, dword [rsp + 0x68]
mov eax, dword [rsp + 0x68]
imul ecx, eax
mov eax, dword [rsp + 0x68]
mov byte [rsp + 0x30], 0x79
mov byte [rsp + 0x28], 0x93
mov byte [rsp + 0x20], 0xdb
sub ecx, eax
add ecx, 0x4a
xor ecx, 0x2d8498bf
mov dword [rbp], ecx
mov cl, 0x43
movzx edx, word [rsp + 0x54]
mov r9b, byte [0x1400444bf]
call fcn.1400210cc
movsx rdx, word [0x1400444d4]
mov r8d, 0xea
movzx r13d, al
mov rax, qword [rbp - 0x68]
movsxd rcx, dword [rsp + 0x74]
sub rdx, rax
movzx eax, byte [0x1400444be]
not rdx
cmp rdx, rcx
cmovg eax, r8d
mov byte [0x1400444be], al
mov eax, dword [0x140e887f0]
mov dword [rsp + 0x48], eax
cmp qword [rbp - 0x60], rbx
je 0x14001ad81
mov edx, dword [rsp + 0x60]
lea r9d, [r8 - 0x19]
mov eax, dword [rsp + 0x60]
mov r14d, 1
add edx, eax
mov eax, dword [rsp + 0x60]
and eax, edx
mov dword [rsp + 0x60], eax
movzx eax, byte [0x1400444d7]
mov qword [0x140eff4e8], rax
movzx ecx, byte [0x1400444bd]
mov edx, ebx
mov eax, dword [rsp + 0x60]
add eax, ecx
mov ecx, ebx
mov eax, dword [0x140044584]
sete dl
test eax, eax
mov eax, dword [0x140044570]
sete cl
add ecx, edx
add eax, ecx
mov ecx, ebx
movsx eax, byte [0x1400444d3]
sete cl
and eax, 0xb019b29a
add eax, ecx
add eax, esi
not eax
mov qword [rbp - 0x50], rax
mov r8d, dword [0x140044570]
mov rax, qword [rsp + 0x78]
add r8b, al
mov qword [rbp - 0x18], r8
sub r9, r14
jne 0x14001ad19
mov r14, qword [rbp + 0x20]
mov r9d, 1
jmp 0x14001ad90
mov r8, qword [rbp - 0x18]
mov r9d, 1
mov byte [rsp + 0x40], r9b
mov eax, dword [rsp + 0x48]
mov r10, qword [rbp - 0x38]
add eax, 0x486
mov dword [rsp + 0x70], eax
mov eax, 4
mov ecx, dword [0x140044584]
mov word [0x14004458c], ax
movabs rax, 0x31748875497b
imul rcx, rax
mov qword [rbp - 0x68], rcx
movsx ecx, word [0x14004458c]
sub ecx, 1
je 0x14001ae57
sub ecx, 1
je 0x14001ae29
sub ecx, 1
je 0x14001ae18
cmp ecx, 1
jne 0x14001ae83
mov rax, qword [rsp + 0x78]
movsx rcx, byte [0x1400444d6]
sub rcx, rax
mov rax, qword [rsp + 0x78]
add rax, rcx
mov qword [rsp + 0x78], rax
mov eax, dword [0x14004457c]
or eax, 0x8948
mov dword [0x14004457c], eax
jmp 0x14001ae83
mov rax, qword [rbp - 0x78]
movsx rcx, r10b
add rcx, rax
mov qword [rbp - 0x78], rcx
jmp 0x14001ae83
movzx ecx, byte [0x1400444d7]
mov eax, 0xc5d
mov word [0x14004458c], ax
movsx eax, word [0x1400444d4]
imul ecx, eax
movsx eax, byte [0x1400444bf]
and ecx, eax
mov dword [0x140044514], ecx
jmp 0x14001ae83
movzx edx, word [0x1400445b0]
mov eax, dword [0x140044570]
movzx ecx, ax
imul ecx, edx
movzx eax, r8b
mov word [0x1400445b0], cx
movzx ecx, sil
imul ecx, eax
and r8b, cl
mov qword [rbp - 0x18], r8
mov eax, dword [rsp + 0x48]
mov ecx, 0x220
add eax, 0x54d
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x48]
add eax, 0x55e
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x60]
sub ecx, r9d
add eax, r9d
mov dword [rsp + 0x60], eax
test ecx, ecx
jg 0x14001aea2
mov r8d, dword [rsp + 0x48]
mov eax, dword [rsp + 0x48]
xor r8d, eax
mov eax, dword [rsp + 0x48]
imul ecx, eax, 0xf2
mov eax, dword [0x140e887f0]
movsx edx, r10b
or ecx, r8d
sub ecx, 0x510b5
mov dword [rbp + 4], ecx
mov ecx, 0xba
mov dword [rsp + 0x48], eax
movzx r9d, word [rsp + 0x50]
lea r8d, [rcx + 0x3b]
call fcn.140020f28
movzx ecx, ax
mov word [0x1400444d4], ax
not cx
mov r8d, 0x4e
movzx edx, cx
mov ecx, ebx
shr edx, 0xf
cmp ax, r8w
setge cl
cmp edx, ecx
jne 0x14001af40
movsx rcx, word [0x14004458c]
mov rax, qword [rbp - 0x78]
cmp rcx, rax
jl 0x14001af40
movzx eax, word [0x140044568]
mov ecx, dword [rsp + 0x64]
add cl, al
mov byte [rsp + 0x40], cl
mov eax, dword [rsp + 0x48]
mov ecx, ebx
add eax, 0x6262
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x48]
add eax, 0x297c
mov dword [rsp + 0x70], eax
movzx eax, word [0x140044568]
cmp rdi, rax
mov eax, ebx
setl cl
cmp rdi, 0x64
setl al
cmp ecx, eax
jae 0x14001aff1
mov edx, dword [0x14004457c]
mov r9d, 0xee
xor ecx, ecx
lea r8d, [r9 + 5]
call fcn.140020f28
mov r8, qword [rbp - 0x18]
mov ecx, ebx
movzx edi, ax
mov eax, ebx
cmp rdi, 0x51
sete cl
test rdi, rdi
sete al
cmp eax, ecx
jae 0x14001afd6
movzx eax, r8b
mov ecx, ebx
cmp r13w, ax
mov eax, ebx
setb cl
cmp r13d, 0x3e
setb al
cmp ecx, eax
jae 0x14001afff
movsx ecx, word [rsp + 0x4c]
add cx, word [0x1400444d4]
mov word [rsp + 0x4c], cx
jmp 0x14001afff
mov eax, dword [0x14004457c]
mov ecx, 0x4b71
movsx ecx, cx
movsx edx, ax
imul edx, ecx
mov word [rsp + 0x44], dx
jmp 0x14001afff
mov r8, qword [rbp - 0x18]
lea eax, [rdi + 0xa4]
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x48]
movzx r10d, word [rsp + 0x58]
add eax, 0x6f10
mov r11, qword [rbp - 0x38]
mov r9, qword [rbp - 0x60]
mov dword [rbp - 0x70], eax
movzx eax, byte [0x1400444bd]
cmp r10w, ax
jbe 0x14001b055
movsxd rcx, dword [0x140044570]
mov edi, r10d
mov rax, qword [0x140044560]
add eax, 0xfff9dc56
add ecx, eax
mov dword [0x140044570], ecx
movzx eax, word [rsp + 0x4c]
test ax, ax
cmovne edi, dword [0x140044514]
jmp 0x14001b0c0
movzx ecx, word [0x1400445a8]
mov edx, ebx
movzx eax, r8b
cmp cx, ax
movsx eax, r11b
setne dl
cmp eax, edx
jl 0x14001b084
lea eax, [r15 - 0x2e]
mov byte [0x1400444d7], al
mov dword [rsp + 0x74], 0x16219691
jmp 0x14001b0c0
test r9, r9
jne 0x14001b097
mov al, byte [rsp + 0x40]
test al, al
je 0x14001b097
lea edx, [r9 + 1]
jmp 0x14001b099
mov edx, ebx
movzx eax, word [rsp + 0x50]
not eax
movsxd rcx, eax
mov eax, ebx
cmp r9, rcx
setl al
cmp edx, eax
jne 0x14001b0c0
movzx eax, word [rsp + 0x50]
sub ax, word [0x140044548]
mov word [rsp + 0x50], ax
mov eax, dword [rsp + 0x70]
mov ecx, 0x98fd
sub ecx, eax
mov eax, dword [rbp - 0x70]
sub ecx, eax
cmp byte [r14], 0xa1
mov dword [rbp + 8], ecx
jne 0x14001b4f4
mov al, byte [r14 + 5]
cmp al, 0xff
jne 0x14001b24c
cmp byte [r14 + 6], 0xe0
jne 0x14001b631
mov rax, qword [rbp - 0x50]
mov edx, ebx
cmp rax, rdi
mov ecx, ebx
mov rax, qword [rbp - 0x50]
setne dl
cmp rax, 0x2d
setne cl
cmp edx, ecx
jae 0x14001b153
mov rcx, qword [rsp + 0x78]
movsx rax, byte [0x1400444d6]
and cx, ax
mov eax, 0x1d32
sub r13w, ax
add cx, di
mov word [0x140044580], cx
mov ecx, 0x7605
mov word [rsp + 0x4c], r13w
movzx eax, word [0x140044580]
movzx eax, word [rsp + 0x44]
sub ax, cx
mov word [rsp + 0x44], ax
mov eax, dword [0x140044578]
mov edx, ebx
cmp rax, qword [0x140044590]
mov eax, dword [0x140044578]
setge dl
cmp eax, 0x18
setae bl
cmp edx, ebx
jae 0x14001b18b
movsx edx, word [rsp + 0x54]
mov eax, dword [rsp + 0x60]
movsx ecx, ax
imul ecx, edx
mov word [rsp + 0x54], cx
jmp 0x14001b18f
mov rax, qword [rbp - 0x50]
mov eax, dword [0x140e887f0]
mov dword [rsp + 0x48], eax
movzx eax, word [rsp + 0x44]
xor al, 0xe7
sub byte [0x1400444be], al
mov eax, dword [rsp + 0x48]
add eax, 0x6be
mov dword [rbp - 0x30], eax
mov rax, qword [0x140044560]
mov rax, qword [0x140044560]
neg al
mov byte [0x1400444fe], al
mov eax, dword [rsp + 0x48]
add eax, 0x7bd
mov dword [rbp - 0x80], eax
mov ecx, dword [rbp - 0x58]
mov eax, dword [rsp + 0x48]
add ecx, eax
mov dword [rsp + 0x6c], ecx
mov edx, dword [rbp - 0x80]
mov eax, dword [rbp - 0x30]
add edx, eax
mov ecx, dword [rbp - 0x80]
mov eax, dword [rbp - 0x30]
add ecx, eax
cmp edx, ecx
jne 0x14001bb7d
mov eax, dword [0x140044570]
sar eax, 2
mov word [0x1400445b0], ax
mov al, byte [0x140e887f0]
movzx ecx, byte [0x1400444bd]
mov byte [0x1400444d3], al
mov eax, dword [0x140044570]
cmp ecx, eax
jne 0x14001b4e3
movzx eax, word [rsp + 0x44]
mov rax, qword [rsp + 0x78]
movsx ecx, word [rsp + 0x54]
mov eax, dword [0x140044570]
add ax, cx
mov word [rsp + 0x54], ax
jmp 0x14001b4e3
cmp al, 0x50
jne 0x14001b631
cmp byte [r14 + 6], 0xc3
jne 0x14001b631
mov qword [rsp + 0x78], rbx
movsx rcx, word [0x1400445a8]
mov rax, qword [rsp + 0x78]
sub rax, rcx
mov qword [rsp + 0x78], rax
movsx eax, word [0x14004458c]
not eax
movsxd rcx, eax
mov rax, qword [0x140044590]
imul rax, rcx
mov qword [0x140044590], rax
mov rax, qword [rsp + 0x78]
test rax, rax
jne 0x14001b2c6
mov eax, dword [0x1400445ac]
add eax, 0xd00a
mov dword [0x140044584], eax
mov eax, 0x2a42
movzx ecx, byte [0x1400444bd]
and cx, ax
mov word [rsp + 0x44], cx
mov eax, 3
mov r8d, ebx
mov word [rsp + 0x4c], ax
mov byte [rsp + 0x40], bl
mov edx, dword [0x1400445ac]
movzx eax, word [0x140044568]
movsx ecx, word [0x1400444d4]
sub ecx, eax
mov eax, 0x1639
not ecx
imul rdx, r15
test rdx, rdx
cmove r8d, ecx
movzx ecx, byte [rsp + 0x40]
sub cx, ax
movsx eax, r9w
movsx edx, cx
imul edx, eax
movsx eax, r8w
movsx ecx, dx
imul ecx, eax
mov word [rsp + 0x54], cx
movsx eax, word [rsp + 0x4c]
mov ecx, eax
test eax, eax
je 0x14001b390
sub ecx, 1
je 0x14001b384
sub ecx, 1
je 0x14001b376
cmp ecx, 1
jne 0x14001b39c
movsx eax, r11b
mov ecx, 0xe8
mov byte [0x1400444fe], cl
movsx ecx, word [rsp + 0x44]
movzx edx, word [rsp + 0x50]
not ecx
add edx, ecx
movzx ecx, byte [0x1400444be]
not edx
sub edx, eax
movsx eax, byte [0x1400444d6]
and eax, ecx
xor eax, esi
imul eax, edx
mov qword [rbp - 0x68], rax
jmp 0x14001b39c
mov eax, dword [0x14004456c]
add dword [0x140044514], eax
jmp 0x14001b39c
mov eax, dword [0x140e887f0]
mov dword [rsp + 0x64], eax
jmp 0x14001b39c
mov eax, dword [0x140e887f0]
mov dword [0x1400445ac], eax
mov eax, dword [0x140e887f0]
mov ecx, 0x93d267cc
mov dword [rsp + 0x48], eax
mov r8d, 0x3a7
mov rax, qword [rsp + 0x78]
mov r10d, 1
add rax, rcx
mov qword [0x140044560], rax
mov eax, dword [rsp + 0x48]
add eax, 0x672
mov dword [rbp - 0x80], eax
mov ecx, dword [rbp - 0x2c]
mov eax, dword [rsp + 0x48]
add ecx, eax
mov dword [rsp + 0x6c], ecx
movsxd rax, dword [0x14004456c]
cmp qword [0x140044598], rax
je 0x14001b436
mov rax, qword [0x140044558]
not rax
test rax, rax
je 0x14001b413
add byte [0x1400444bf], r10b
mov al, byte [0x140ebc324]
add byte [0x1400444be], al
jmp 0x14001b436
movzx eax, word [rsp + 0x4c]
mov ecx, 0xaa
movsx edx, byte [0x1400444d3]
movsx ecx, cx
imul edx, ecx
mov dword [0x140044544], r13d
mov word [rsp + 0x4c], dx
sub r8, r10
jne 0x14001b3df
mov ecx, dword [rbp - 4]
mov eax, dword [rsp + 0x48]
add ecx, eax
movzx r10d, word [rsp + 0x58]
mov dword [rsp + 0x6c], ecx
mov edx, dword [rbp - 0x80]
mov eax, dword [rbp - 8]
add edx, eax
mov eax, dword [rbp - 0x80]
cmp eax, edx
je 0x14001bb7d
mov eax, dword [rsp + 0x64]
mov r8b, r10b
movzx ecx, word [0x1400445b0]
mov dl, 0x86
movzx r9d, word [rsp + 0x44]
mov byte [rsp + 0x30], al
mov byte [rsp + 0x28], cl
mov cl, 0xd9
mov byte [rsp + 0x20], 0x1a
call fcn.1400210cc
movzx eax, al
mov dword [0x140044544], eax
test eax, eax
jne 0x14001b4e3
mov rax, qword [0x140044560]
mov edx, ebx
movzx ecx, word [0x140044588]
test rax, rax
movsx eax, byte [0x1400444d3]
sete dl
add ecx, edx
movzx edx, byte [rbp - 0x18]
add ecx, eax
movsx eax, word [rsp + 0x54]
add eax, dword [0x140044544]
add edx, ecx
not edx
movsxd r8, edx
sub r8, rax
add r8, qword [0x1400445a0]
sete bl
mov word [0x140044580], bx
mov rcx, qword [rbp - 0x10]
mov eax, 1
mov qword [rcx], rax
jmp 0x14001a486
cmp byte [r14], 0x90
jne 0x14001b631
cmp byte [r14 + 1], 0x90
jne 0x14001b631
cmp byte [r14 + 3], 0xe9
jne 0x14001b631
mov al, byte [0x140044588]
mov byte [0x1400444be], al
mov eax, dword [0x140e887f0]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x48]
add eax, 0x748
mov dword [rsp + 0x70], eax
mov eax, dword [0x1400445ac]
test eax, eax
movsx ecx, word [rsp + 0x44]
movsx eax, byte [0x1400444bf]
sete bl
sub ebx, eax
movsx eax, word [0x1400444d4]
add ecx, ebx
movsxd rdx, ecx
movzx ecx, byte [0x1400444be]
add eax, ecx
mov rcx, qword [rbp - 0x68]
cdqe
not ecx
add ecx, eax
not ecx
imul ecx, edx
mov dword [0x140044584], ecx
mov ecx, 0xe8
mov eax, dword [0x1400445ac]
add ax, cx
mov ecx, dword [rsp + 0x48]
mov word [0x140044568], ax
mov eax, dword [rbp]
add ecx, eax
mov dword [rbp - 0x70], ecx
mov eax, dword [rsp + 0x48]
add eax, 0x4c9
mov dword [rbp - 0x80], eax
mov edx, dword [rbp - 0x80]
mov eax, dword [rbp + 4]
add edx, eax
mov r8d, dword [rsp + 0x70]
mov ecx, dword [rbp - 0x80]
or r8d, edx
mov eax, dword [rbp - 0x70]
sub ecx, eax
mov eax, dword [rbp + 8]
add eax, ecx
cmp r8d, eax
je 0x14001bb7d
mov eax, dword [rsp + 0x64]
xor r8d, r8d
mov r9, qword [0x140044550]
xor edx, edx
mov byte [rsp + 0x30], 3
xor ecx, ecx
mov byte [rsp + 0x28], 0xb2
mov byte [rsp + 0x20], al
call fcn.1400210cc
movzx eax, al
mov edx, 8
sub rdx, rax
movzx eax, word [0x140044568]
imul rdx, rax
mov eax, dword [0x140e887f0]
imul rdx, r15
mov qword [0x140044548], rax
mov eax, 3
mov qword [rbp - 0x68], rdx
lea edx, [rax + 1]
mov rcx, qword [rbp - 0x10]
mov qword [rcx], rdx
jmp 0x14001bb7f
mov ecx, dword [rbp - 0x20]
mov eax, dword [rsp + 0x6c]
add ecx, eax
cmp ecx, 0x316
je 0x14001bb7d
movsxd rax, dword [0x14004457c]
mov edx, 0x289
cmp rdi, rax
mov esi, 1
cmovle r10w, word [0x140e887f0]
sub rdi, rdx
movzx ecx, word [0x1400445b0]
movzx eax, word [0x1400445b0]
sub cx, ax
movzx eax, word [rsp + 0x4c]
sub cx, ax
mov word [0x1400445b0], cx
mov rax, qword [rbp - 0x78]
add rax, rsi
mov qword [rbp - 0x78], rax
sub rdx, rsi
jne 0x14001b666
mov eax, dword [0x140e887f0]
mov ecx, 0x158a
mov dword [rsp + 0x48], eax
movsx eax, byte [0x1400444d3]
add ax, cx
mov byte [0x1400444d6], r12b
movsx ecx, r12b
mov word [rsp + 0x44], ax
sub ecx, esi
je 0x14001b6dd
cmp ecx, esi
jne 0x14001b6f5
movzx eax, word [0x140044580]
add al, 0x40
mov byte [rsp + 0x40], al
mov rax, qword [0x140044550]
jmp 0x14001b6f5
movzx eax, word [rsp + 0x44]
sub al, 0x25
mov byte [rsp + 0x40], al
movzx r15d, word [rsp + 0x50]
sub r15, 0xb716
mov eax, dword [rsp + 0x48]
add eax, 0x78e
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x48]
add eax, 0x4f6
mov dword [rsp + 0x6c], eax
movsx ecx, word [rsp + 0x4c]
mov eax, dword [rsp + 0x60]
not eax
imul eax, ecx
test eax, eax
je 0x14001b756
mov rcx, qword [rsp + 0x78]
mov edx, ebx
mov rax, qword [rsp + 0x78]
not rcx
cmp rax, rcx
movsx eax, byte [0x1400444bf]
not eax
movsxd rcx, eax
sete dl
cmp rcx, rdi
mov eax, ebx
sete al
cmp edx, eax
jae 0x14001b774
mov r11d, 0x21c7
jmp 0x14001b778
movzx eax, word [0x1400445a8]
movzx ecx, word [0x140044568]
test ax, ax
cmovne rcx, qword [rsp + 0x78]
mov qword [0x140044558], rcx
mov r11, qword [rbp - 0x28]
mov ecx, dword [rsp + 0x48]
add ecx, 0x704
cmp byte [r14 + 5], 0xff
mov dword [rbp - 0x20], ecx
jne 0x14001b7a5
cmp byte [r14 + 6], 0x25
jne 0x14001b7a5
mov rcx, qword [rbp - 0x10]
mov eax, esi
mov qword [rcx], 7
jmp 0x14001bb7f
mov eax, dword [rbp - 0x40]
mov ecx, 0x248
sub ecx, eax
mov eax, dword [rbp - 0x40]
mov edx, dword [rbp - 0x7c]
sub ecx, eax
add edx, ecx
mov ecx, dword [rbp - 0x7c]
mov eax, dword [rbp - 0x7c]
sub ecx, eax
cmp ecx, edx
je 0x14001bb7d
mov rax, qword [rsp + 0x78]
mov edx, ebx
mov ecx, ebx
mov r9d, 3
cmp rax, r9
mov rax, qword [rsp + 0x78]
sete dl
cmp rax, rsi
sete cl
cmp edx, ecx
jbe 0x14001b861
movsx rcx, word [rsp + 0x4c]
mov edx, ebx
mov rax, qword [rbp - 0x78]
cmp rax, rcx
mov rax, qword [rbp - 0x78]
mov ecx, ebx
setg dl
cmp rax, 0x4e
setg cl
cmp edx, ecx
jbe 0x14001b81f
mov dword [0x140044570], 0xff
jmp 0x14001b8c1
cmp byte [0x1400444be], bl
je 0x14001b831
mov edi, 0x5f477ee1
jmp 0x14001b8c1
cmp byte [0x1400444d7], bl
jne 0x14001b8c1
mov ecx, dword [0x1400445ac]
cmp r13d, ecx
jb 0x14001b8c1
mov ecx, dword [0x1400445ac]
mov eax, dword [0x1400445ac]
and rcx, rdi
add eax, ecx
mov dword [0x1400445ac], eax
jmp 0x14001b8c1
movsx ecx, word [rsp + 0x44]
movzx eax, byte [0x1400444be]
imul eax, ecx
test eax, eax
je 0x14001b889
mov rax, qword [rbp - 0x78]
mov ecx, 0x6ca5
add ax, cx
mov word [0x140044574], ax
jmp 0x14001b8c1
mov eax, dword [0x140044578]
mov edx, ebx
movsx ecx, word [rsp + 0x44]
test eax, eax
mov eax, ebx
sete dl
test r11, r11
setne al
xor edx, eax
imul ecx, edx
test ecx, ecx
jne 0x14001b8c1
test r15, r15
je 0x14001b8c1
movzx eax, byte [0x1400444d7]
sub eax, 0x3e30bf8f
mov qword [rbp - 0x78], rax
mov eax, dword [0x140e887f0]
mov edx, ebx
mov dword [rbp - 0x7c], eax
mov eax, dword [rbp - 0x7c]
add eax, 0x8bd6
movzx ecx, r10w
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x64]
cmp eax, ecx
mov eax, dword [rsp + 0x64]
mov ecx, ebx
setl dl
cmp eax, 0x43
setl cl
cmp edx, ecx
jne 0x14001b91e
mov rdx, qword [rbp - 0x50]
movsx rcx, byte [0x1400444bf]
not dx
movzx eax, r8b
sub dx, ax
sub dx, cx
sub dx, word [0x140044590]
mov word [0x140044574], dx
jmp 0x14001b974
movsx eax, word [rsp + 0x4c]
cmp eax, dword [0x140044514]
jae 0x14001b94e
imul rax, qword [0x140044590], 0x3a9acc9c
mov qword [0x1400445a0], rax
mov rax, qword [rbp - 0x50]
sub eax, 0x7675cbd7
mov dword [0x140044578], eax
jmp 0x14001b974
mov ecx, dword [0x1400445ac]
mov rax, qword [0x140044560]
not ecx
cmp rcx, rax
jbe 0x14001b974
movsx eax, byte [0x1400444d6]
add eax, 0xe592
mov dword [0x140044584], eax
mov eax, dword [rbp - 0x7c]
mov ecx, 0xb736
add eax, 0x4e3
mov dword [rbp - 0x70], eax
mov eax, 0xc871
mov word [0x140044588], ax
mov eax, dword [rbp - 0x7c]
add eax, 0x49d
mov dword [rbp - 0x40], eax
mov eax, dword [rsp + 0x6c]
mov eax, dword [rbp - 0x20]
mov eax, dword [rsp + 0x70]
xor eax, 0x3aeb
sub ecx, eax
mov eax, dword [rbp - 0x40]
sub ecx, eax
mov eax, dword [rbp - 0x40]
add eax, ecx
cmp byte [r14], 0x48
mov dword [rsp + 0x6c], eax
jne 0x14001bb7d
cmp byte [r14 + 1], 0xff
jne 0x14001bb7d
cmp byte [r14 + 2], 0x25
jne 0x14001bb7d
movsx rax, word [0x1400444d4]
movabs rcx, 0xe1187b3a7d884
and rax, rcx
mov ecx, 0xd
mov qword [0x140044548], rax
mov eax, dword [0x1400445ac]
xor eax, 0x623f9e22
mov dword [0x140044514], eax
movzx eax, word [rsp + 0x50]
sub cl, al
mov eax, dword [0x140e887f0]
add byte [0x1400444d7], cl
mov dword [rbp - 0x7c], eax
mov eax, dword [rsp + 0x74]
movsx edx, al
movzx eax, word [rsp + 0x44]
mov eax, dword [rbp - 0x7c]
add eax, 0x714
movsx ecx, dil
imul edx, ecx
mov byte [0x1400444d6], dl
mov dword [rbp - 0x40], eax
mov al, sil
mov byte [0x1400444d3], al
cmp dword [rsp + 0x5c], ebx
jne 0x14001ba62
movsx r11, word [rsp + 0x44]
mov al, byte [0x1400444d3]
mov dword [rsp + 0x60], r11d
movsx ecx, al
test al, al
je 0x14001ba7f
cmp ecx, esi
jne 0x14001bad6
mov eax, dword [rsp + 0x64]
movzx edi, word [0x1400445b0]
jmp 0x14001bad6
movzx eax, byte [0x1400444bd]
movsx edx, byte [0x1400444d3]
imul edx, eax
mov eax, dword [0x140044570]
sub edx, eax
movzx eax, word [rsp + 0x50]
add eax, edx
not eax
movsxd rcx, eax
movsx rax, word [0x1400444d4]
xor rax, qword [0x1400445a0]
not rax
add rax, r9
imul rax, rcx
mov ecx, 0xf3a
mov qword [rsp + 0x78], rax
movzx eax, byte [rsp + 0x40]
add ax, cx
mov word [0x140044574], ax
mov eax, dword [rbp - 0x7c]
add eax, 0x4fb
mov dword [rbp - 0x20], eax
mov ecx, dword [rbp - 0x7c]
mov eax, dword [rsp + 0x6c]
add ecx, eax
mov dword [rsp + 0x6c], ecx
mov ecx, 0x18c
mov eax, dword [rbp - 0x40]
sub ecx, eax
mov eax, dword [rbp - 0x40]
imul eax, ecx
cmp eax, 0x142
je 0x14001bb7d
movzx ecx, byte [0x1400444d7]
movzx eax, word [rsp + 0x50]
cmp cx, ax
jae 0x14001bb62
movzx eax, word [rsp + 0x44]
not dil
not al
add al, dil
mov byte [rsp + 0x40], al
mov al, byte [rsp + 0x40]
movzx eax, word [rsp + 0x50]
mov rdx, qword [0x140044550]
test ax, ax
mov al, byte [0x1400444bf]
not dl
sete bl
add r13b, sil
and al, bl
movsx ecx, r13b
xor al, sil
add dl, al
movsx eax, r15b
imul ecx, eax
or dl, cl
mov byte [0x1400444d3], dl
mov eax, dword [0x140044570]
mov r12d, esi
mov eax, dword [0x140044570]
mov rcx, qword [rbp - 0x10]
mov qword [rcx], r9
jmp 0x140019a60
xor eax, eax
mov rcx, qword [rbp + 0x68]
xor rcx, rsp
call fcn.140025dd0
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret