Function at 0x180077230
Capabilities:
Authenticate hmac
Encode data using base64
Parse credit card information
Parse pe header

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x48]
sub rsp, 0x148
mov r11, qword [rdx]
mov edx, dword [rcx]
mov r10, qword [r8]
mov rdi, qword [rbp + 0xd0]
xor ebx, ebx
mov r12d, 0xfffffffe
mov eax, edx
mov r15, r9
mov dword [rsp + 0x78], edx
shr eax, 0xb
mov dword [rbp - 0x44], ebx
mov dword [rbp - 0x48], ebx
and eax, 1
mov dword [rbp - 0x2c], ebx
mov dword [rbp - 0x40], ebx
mov dword [rsp + 0x7c], eax
mov eax, edx
mov qword [rsp + 0x70], r11
shr eax, 9
mov r9, r11
mov qword [rbp + 0x28], r11
and eax, 1
mov qword [rbp + 0x20], r11
mov ecx, ebx
mov dword [rbp + 0x18], eax
xor eax, 1
mov dword [rsp + 0x68], ebx
mov dword [rbp + 0x1c], eax
mov eax, edx
mov dword [rbp - 0x28], ebx
and eax, 1
mov r13d, ebx
mov qword [rbp - 0x68], rbx
shl eax, 8
mov r8d, ebx
mov qword [rbp - 0x70], rbx
mov qword [rbp - 0x20], rbx
mov dword [rbp - 0x5c], r12d
mov esi, r12d
mov dword [rbp - 0x3c], eax
mov dword [rbp - 0x60], r12d
mov dword [rbp - 0x7c], r12d
mov dword [rbp - 0x80], r12d
mov r14, qword [rbp + 0xc8]
mov qword [rsp + 0x60], r10
movzx ebx, byte [r10]
mov rax, qword [r14 + 0x20]
add rax, 0x1000
test rdi, rdi
je 0x180077388
cmp r11, rax
ja 0x180079dc4
cmp r11, r9
cmovb r11, r9
mov eax, r11d
mov qword [rsp + 0x70], r11
sub eax, r9d
add dword [rdi], eax
test r13, r13
je 0x180077379
mov rax, qword [rbp + 0x20]
cmp r13, rax
jbe 0x180077382
mov r8, r11
mov rdx, r13
mov rcx, rax
sub r8, r13
call fcn.180046df0
mov rax, qword [rbp + 0x20]
mov r10, qword [rsp + 0x60]
mov ecx, dword [rsp + 0x68]
mov edx, dword [rsp + 0x78]
mov r8, qword [rbp - 0x70]
mov r11, rax
mov qword [rbp - 0x68], rax
sub r11, r13
mov r13, rax
add qword [rsp + 0x70], r11
mov r11, qword [rsp + 0x70]
mov qword [rbp + 0x28], r11
jmp 0x180077392
mov r11, qword [rbp + 0x20]
mov qword [rsp + 0x70], r11
mov qword [rbp + 0x28], r11
jmp 0x180077392
cmp qword [r14 + 0x40], rax
ja 0x180079dc4
test ecx, ecx
je 0x180077517
test ebx, ebx
je 0x180077517
cmp ebx, 0x5c
jne 0x1800773ce
cmp byte [r10 + 1], 0x45
jne 0x1800773ce
mov r15, qword [rbp + 0xa8]
mov edx, dword [rsp + 0x78]
mov r9, qword [rbp + 0x28]
xor ecx, ecx
inc r10
mov dword [rsp + 0x68], ecx
inc r10
jmp 0x1800772ec
test r8, r8
je 0x180077407
test rdi, rdi
jne 0x180077401
movzx eax, byte [r8 + 3]
movzx ecx, byte [r8 + 2]
shl ecx, 8
or ecx, eax
sub r10d, ecx
sub r10d, dword [r14 + 0x30]
mov eax, r10d
mov byte [r8 + 5], r10b
sar eax, 8
mov byte [r8 + 4], al
mov r10, qword [rsp + 0x60]
xor eax, eax
mov qword [rbp - 0x70], rax
bt edx, 0xe
jae case.0x180077694.11
mov word [r11], 0xff4d
mov eax, r10d
mov qword [rbp - 0x70], r11
sub eax, dword [r14 + 0x30]
sar rax, 8
mov byte [r11 + 2], al
sub r10b, byte [r14 + 0x30]
mov word [r11 + 4], 0
mov byte [r11 + 3], r10b
mov r10, qword [rsp + 0x60]
add r11, 6
cmp dword [rsp + 0x7c], 0
mov edi, 1
mov byte [rbp - 0x18], bl
je 0x18007748f
cmp ebx, 0xc0
jl 0x18007748f
movzx eax, byte [r10 + 1]
inc r10
and al, 0xc0
cmp al, 0x80
jne 0x18007748f
lea rcx, [rbp - 0x17]
nop word [rax + rax]
mov qword [rsp + 0x60], r10
movzx eax, byte [r10]
inc rcx
mov byte [rcx - 1], al
movzx eax, byte [r10 + 1]
inc edi
inc r10
and al, 0xc0
cmp al, 0x80
je 0x180077470
mov r14d, dword [rbp - 0x7c]
movzx eax, byte [rsp + 0x78]
mov r13, r11
mov qword [rbp - 0x68], r11
and al, 1
inc r11
or al, 0x16
mov qword [rsp + 0x70], r11
mov byte [r11 - 1], al
test edi, edi
je 0x1800774d2
movsxd rbx, edi
lea rdx, [rbp - 0x18]
mov rcx, r11
mov r8, rbx
call fcn.180046df0
mov r11, qword [rsp + 0x70]
add r11, rbx
mov qword [rsp + 0x70], r11
mov r8d, dword [rbp - 0x80]
mov r12d, r14d
mov dword [rbp - 0x5c], r14d
cmp r8d, 0xfffffffe
jne 0x180079b74
or r15d, 0xffffffff
mov esi, r15d
mov dword [rbp - 0x60], r15d
cmp edi, 1
je 0x180079b43
cmp dword [rbp - 0x3c], 0
je 0x180079b43
mov r10, qword [rsp + 0x60]
mov dword [rbp - 0x7c], r15d
mov dword [rbp - 0x80], r15d
jmp 0x18007974d
cmp ebx, 0x2a
je 0x180077590
cmp ebx, 0x2b
je 0x180077590
cmp ebx, 0x3f
je 0x180077590
cmp ebx, 0x7b
jne 0x180077538
lea rcx, [r10 + 1]
call fcn.180075d80
test eax, eax
jne 0x180077590
mov r8, qword [rbp - 0x70]
xor r9d, r9d
mov edi, r9d
test r8, r8
je 0x180077598
mov ecx, dword [rbp - 0x2c]
mov eax, ecx
dec ecx
mov dword [rbp - 0x2c], ecx
test eax, eax
jg 0x180077598
cmp qword [rbp + 0xd0], rdi
jne 0x180077587
movzx eax, byte [r8 + 3]
movzx ecx, byte [r8 + 2]
shl ecx, 8
or ecx, eax
sub r10d, ecx
sub r10d, dword [r14 + 0x30]
mov eax, r10d
mov byte [r8 + 5], r10b
sar eax, 8
mov byte [r8 + 4], al
mov r10, qword [rsp + 0x60]
mov r8, r9
mov qword [rbp - 0x70], r9
jmp 0x180077598
mov edi, 1
xor r9d, r9d
mov edx, dword [rsp + 0x78]
test dl, 8
je 0x18007762f
mov rax, qword [r14 + 0x18]
test byte [rbx + rax], 1
jne 0x18007974d
cmp ebx, 0x23
jne 0x18007762f
inc r10
mov qword [rsp + 0x60], r10
movzx r8d, byte [r10]
test r8b, r8b
je 0x180077627
nop dword [rax]
cmp dword [r14 + 0x70], 0
je 0x180077696
mov rdx, qword [r14 + 0x38]
cmp r10, rdx
jae 0x1800776c4
mov r9d, dword [rsp + 0x7c]
lea r8, [r14 + 0x74]
mov rcx, r10
call fcn.18007b3f0
mov r10, qword [rsp + 0x60]
test eax, eax
je 0x1800776c4
mov eax, dword [r14 + 0x74]
dec eax
cdqe
add r10, rax
mov qword [rsp + 0x60], r10
cmp byte [r10], 0
jne 0x180079748
mov edx, dword [rsp + 0x78]
xor r9d, r9d
mov r11, qword [rsp + 0x70]
mov ebx, r9d
bt edx, 0xe
jae 0x18007766d
test edi, edi
jne 0x18007766d
mov word [r11], 0xff4d
mov eax, r10d
mov qword [rbp - 0x70], r11
sub eax, dword [r14 + 0x30]
sar rax, 8
mov byte [r11 + 2], al
sub r10b, byte [r14 + 0x30]
mov word [r11 + 4], di
mov byte [r11 + 3], r10b
mov r10, qword [rsp + 0x60]
add r11, 6
mov qword [rsp + 0x70], r11
cmp ebx, 0x7c
ja case.0x180077694.11
lea r8, [0x180000000]
movsxd rax, ebx
movzx eax, byte [r8 + rax + 0x79e1c]
mov ecx, dword [r8 + rax*4 + 0x79dec]
add rcx, r8
jmp rcx
movsxd rdx, dword [r14 + 0x74]
mov rcx, qword [r14 + 0x38]
sub rcx, rdx
cmp r10, rcx
ja 0x1800776c4
cmp r8b, byte [r14 + 0x78]
jne 0x1800776c4
cmp edx, 1
je 0x180077606
movzx eax, byte [r14 + 0x79]
cmp byte [r10 + 1], al
je 0x180077606
inc r10
mov qword [rsp + 0x60], r10
movzx r8d, byte [r10]
test r8b, r8b
jne 0x1800775d0
jmp 0x180077620
test dl, 2
je 0x1800776f4
mov eax, dword [rbp - 0x80]
mov ecx, 0xffffffff
cmp eax, 0xfffffffe
cmove eax, ecx
mov dword [rbp - 0x80], eax
mov byte [r11], 0x14
inc r11
mov r13, r9
mov qword [rsp + 0x70], r11
mov qword [rbp - 0x68], r9
mov r10, qword [rsp + 0x60]
jmp 0x18007974d
mov byte [r11], 0x15
mov r10, qword [rsp + 0x60]
inc r11
mov qword [rsp + 0x70], r11
mov r13, r9
mov qword [rbp - 0x68], r9
jmp 0x18007974d
mov r8d, dword [rbp - 0x80]
mov r12d, dword [rbp - 0x7c]
mov byte [r11], 0xb
mov r10, qword [rsp + 0x60]
cmp r8d, 0xfffffffe
mov eax, 0xffffffff
cmove r8d, eax
mov r13, r11
mov qword [rbp - 0x68], r11
inc r11
mov dword [rbp - 0x80], r8d
mov esi, r8d
mov dword [rbp - 0x60], r8d
mov dword [rbp - 0x5c], r12d
mov qword [rsp + 0x70], r11
jmp 0x18007974d
movzx eax, byte [r10 + 1]
lea r8, [r10 + 1]
mov qword [rbp - 0x68], r11
cmp al, 0x3a
je 0x180077788
cmp al, 0x2e
je 0x180077788
cmp al, 0x3d
jne 0x1800777d2
cmp byte [r8 + 1], 0x5e
movzx r9d, byte [r8]
lea rdx, [r8 + 1]
jne 0x18007779a
inc rdx
movzx ecx, byte [rdx]
mov rax, qword [r14 + 0x18]
test byte [rcx + rax], 2
je 0x1800777bd
mov rcx, rax
nop word [rax + rax]
movzx eax, byte [rdx + 1]
inc rdx
test byte [rax + rcx], 2
jne 0x1800777b0
movzx eax, byte [rdx]
cmp eax, r9d
jne 0x1800777cf
cmp byte [rdx + 1], 0x5d
je 0x180079bb2
xor r9d, r9d
mov qword [rsp + 0x60], r8
movzx edi, byte [r8]
cmp edi, 0x5e
jne 0x1800777f2
inc r8
lea r12d, [rdi - 0x5d]
mov qword [rsp + 0x60], r8
movzx edi, byte [r8]
jmp 0x1800777f5
mov r12d, r9d
or r15d, 0xffffffff
lea rcx, [rbp - 0x10]
xor edx, edx
lea r8d, [r15 + 0x21]
mov dword [rbp - 0x78], r12d
mov r13d, r9d
call fcn.180046d10
mov rax, qword [rsp + 0x70]
mov r10, qword [rsp + 0x60]
xor r9d, r9d
lea r14, [rax + 4]
mov dword [rsp + 0x6c], r9d
test edi, edi
je 0x180079be2
mov ebx, dword [rsp + 0x7c]
test ebx, ebx
je 0x1800778a6
cmp edi, 0x7f
jle 0x1800778a6
movzx edi, byte [r10]
cmp edi, 0xc0
jl 0x1800778a6
mov eax, edi
lea rdx, [0x180000000]
and eax, 0x3f
movzx ecx, byte [rax + rdx + 0x8b580]
mov r9d, ecx
mov eax, dword [rdx + rcx*4 + 0x8b560]
lea r8d, [rcx + rcx*2]
mov edx, 1
and eax, edi
add r8d, r8d
mov edi, eax
mov ecx, r8d
shl edi, cl
cmp rdx, r9
jg 0x18007789b
nop
movzx eax, byte [rdx + r10]
sub r8d, 6
inc rdx
and eax, 0x3f
mov ecx, r8d
shl eax, cl
or edi, eax
cmp rdx, r9
jle 0x180077880
add r10, r9
xor r9d, r9d
mov qword [rsp + 0x60], r10
mov ecx, dword [rsp + 0x68]
test ecx, ecx
je 0x1800778cd
cmp edi, 0x5c
jne 0x180077928
cmp byte [r10 + 1], 0x45
lea rax, [r10 + 1]
jne 0x180077928
mov ecx, r9d
mov r10, rax
mov dword [rsp + 0x68], ecx
jmp 0x180077a70
cmp edi, 0x5c
jne 0x180077928
mov rax, qword [rbp + 0xc8]
mov esi, dword [rsp + 0x78]
mov rbx, qword [rbp + 0xa8]
mov r8d, dword [rax + 0x58]
lea rcx, [rsp + 0x60]
mov r9d, esi
mov rdx, rbx
mov dword [rsp + 0x20], 1
call fcn.180075980
cmp dword [rbx], 0
mov edi, eax
jne 0x180079c6c
mov ecx, eax
neg ecx
cmp ecx, 4
jne 0x1800779af
lea edi, [rcx + 4]
mov ebx, dword [rsp + 0x7c]
mov ecx, dword [rsp + 0x68]
mov r10, qword [rsp + 0x60]
mov r11, qword [rbp + 0xc8]
cmp byte [r10 + 1], 0x5c
jne 0x180077964
xor r12d, r12d
nop dword [rax]
cmp byte [r10 + 2], 0x45
lea rax, [r10 + 2]
jne 0x18007795c
mov qword [rsp + 0x60], rax
cmp byte [rax + 1], 0x5c
mov ecx, r12d
mov r10, rax
je 0x180077940
mov r12d, dword [rbp - 0x78]
mov dword [rsp + 0x68], ecx
mov rsi, r10
test ecx, ecx
jne 0x180077dd2
cmp byte [r10 + 1], 0x2d
jne 0x180077dd2
add r10, 2
mov qword [rsp + 0x60], r10
cmp byte [r10], 0x5c
jne 0x180077cb7
nop dword [rax]
cmp byte [r10 + 1], 0x45
jne 0x180077c76
add r10, 2
mov qword [rsp + 0x60], r10
cmp byte [r10], 0x5c
je 0x180077990
jmp 0x180077cb7
cmp ecx, 0x10
jne 0x1800779bc
lea edi, [rcx + 0x48]
jmp 0x18007791b
cmp ecx, 0xf
jne 0x1800779c9
lea edi, [rcx + 0x43]
jmp 0x18007791b
cmp ecx, 0x14
jne 0x1800779f5
mov r10, qword [rsp + 0x60]
cmp byte [r10 + 1], 0x5c
jne 0x1800779ea
cmp byte [r10 + 2], 0x45
lea rax, [r10 + 2]
jne 0x1800779ea
mov r10, rax
jmp 0x180077a65
mov ecx, 1
mov dword [rsp + 0x68], ecx
jmp 0x180077a69
mov r11, qword [rbp + 0xc8]
test eax, eax
jns 0x180077c64
mov rdx, qword [r11 + 0x10]
add r13d, 2
cmp qword [rbp + 0xd0], 0
jne 0x180077c0a
add ecx, 0xfffffffb
cmp ecx, 0xe
ja case.0x180077a3b.11
lea r8, [0x180000000]
movsxd rax, ecx
mov ecx, dword [r8 + rax*4 + 0x79e9c]
add rcx, r8
jmp rcx
lea rax, [rbp - 0x10]
lea rcx, [rbp - 0x10]
mov r8d, 0x20
sub rdx, rax
nop
movzx eax, byte [rdx + rcx + 0x40]
inc rcx
or byte [rcx - 1], al
dec r8
jne 0x180077a50
mov r10, qword [rsp + 0x60]
mov ecx, dword [rsp + 0x68]
mov ebx, dword [rsp + 0x7c]
xor r9d, r9d
mov esi, dword [rsp + 0x6c]
inc r10
mov qword [rsp + 0x60], r10
movzx edi, byte [r10]
test edi, edi
je 0x180079be2
cmp edi, 0x5d
jne 0x180077831
test ecx, ecx
jne 0x180077831
cmp r13d, 1
jne 0x180077fed
test ebx, ebx
je 0x180077ac1
test esi, esi
jne 0x180077fed
test r12d, r12d
je 0x180077ac1
cmp r15d, 0x80
jge 0x180077fed
cmp dword [rbp - 0x78], 0
mov r14d, dword [rbp - 0x7c]
mov r12d, r14d
mov dword [rbp - 0x5c], r14d
je 0x180077fb8
mov r11, qword [rsp + 0x70]
mov eax, dword [rbp - 0x80]
mov r13, qword [rbp - 0x68]
mov byte [r11], 0x18
cmp eax, 0xfffffffe
mov byte [r11 + 1], r15b
mov r10, qword [rsp + 0x60]
mov edx, 0xffffffff
cmove eax, edx
add r11, 2
mov qword [rsp + 0x70], r11
mov dword [rbp - 0x80], eax
mov esi, eax
mov dword [rbp - 0x60], eax
jmp 0x180079751
lea rax, [rbp - 0x10]
lea rcx, [rbp - 0x10]
mov r8d, 0x20
sub rdx, rax
nop word [rax + rax]
movzx eax, byte [rdx + rcx + 0x40]
inc rcx
not al
or byte [rcx - 1], al
dec r8
jne 0x180077b30
jmp case.0x180077a3b.19
lea rax, [rbp - 0x10]
lea rcx, [rbp - 0x10]
mov r8d, 0x20
sub rdx, rax
nop dword [rax + rax]
movzx eax, byte [rdx + rcx + 0xa0]
inc rcx
or byte [rcx - 1], al
dec r8
jne 0x180077b60
jmp case.0x180077a3b.19
lea rax, [rbp - 0x10]
lea rcx, [rbp - 0x10]
mov r8d, 0x20
sub rdx, rax
nop dword [rax]
movzx eax, byte [rcx + rdx + 0xa0]
inc rcx
not al
or byte [rcx - 1], al
dec r8
jne 0x180077b90
jmp case.0x180077a3b.19
lea rax, [rbp - 0x10]
lea rcx, [rbp - 0x10]
mov r8d, 0x20
sub rdx, rax
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
or byte [rcx - 1], al
dec r8
jne 0x180077bc0
and byte [rbp - 0xf], 0xf7
jmp case.0x180077a3b.19
lea rax, [rbp - 0x10]
lea rcx, [rbp - 0x10]
mov r8d, 0x20
sub rdx, rax
nop dword [rax]
movzx eax, byte [rdx + rcx]
inc rcx
not al
or byte [rcx - 1], al
dec r8
jne 0x180077bf0
or byte [rbp - 0xf], 8
jmp case.0x180077a3b.19
cmp eax, 0xfffffffa
je case.0x180077a3b.19
cmp eax, 0xfffffffb
je case.0x180077a3b.19
cmp eax, 0xfffffff6
je case.0x180077a3b.19
cmp eax, 0xfffffff7
je case.0x180077a3b.19
cmp eax, 0xfffffff8
je case.0x180077a3b.19
cmp eax, 0xfffffff9
je case.0x180077a3b.19
mov r10, qword [rsp + 0x60]
test sil, 0x40
jne 0x180079bcc
movzx edi, byte [r10]
mov ecx, dword [rsp + 0x68]
mov ebx, dword [rsp + 0x7c]
sub r13d, 2
jmp 0x18007792f
mov r10, qword [rsp + 0x60]
mov ecx, dword [rsp + 0x68]
mov ebx, dword [rsp + 0x7c]
jmp 0x18007792f
cmp byte [r10], 0x5c
jne 0x180077cb7
nop dword [rax]
cmp byte [r10 + 1], 0x51
jne 0x180077cb7
add r10, 2
mov qword [rsp + 0x60], r10
cmp byte [r10], 0x5c
jne 0x180077cae
cmp byte [r10 + 1], 0x45
jne 0x180077cae
add r10, 2
mov qword [rsp + 0x60], r10
cmp byte [r10], 0x5c
je 0x180077c80
jmp 0x180077cb7
mov ecx, 1
mov dword [rsp + 0x68], ecx
movzx eax, byte [r10]
test al, al
je 0x180077f3f
test ecx, ecx
jne 0x180077ccf
cmp al, 0x5d
je 0x180077f3f
test ebx, ebx
movzx ebx, al
je 0x180077d47
cmp ebx, 0xc0
jl 0x180077d47
mov eax, ebx
lea rdx, [0x180000000]
and eax, 0x3f
movzx ecx, byte [rax + rdx + 0x8b580]
mov r9d, ecx
and ebx, dword [rdx + rcx*4 + 0x8b560]
lea r8d, [rcx + rcx*2]
mov edx, 1
add r8d, r8d
mov ecx, r8d
shl ebx, cl
cmp rdx, r9
jg 0x180077d3b
nop word [rax + rax]
movzx eax, byte [rdx + r10]
sub r8d, 6
inc rdx
and eax, 0x3f
mov ecx, r8d
shl eax, cl
or ebx, eax
cmp rdx, r9
jle 0x180077d20
mov ecx, dword [rsp + 0x68]
add r10, r9
mov qword [rsp + 0x60], r10
test ecx, ecx
jne 0x180077e27
cmp ebx, 0x5c
jne 0x180077e27
mov r9d, dword [rsp + 0x78]
mov r8d, dword [r11 + 0x58]
mov rdx, qword [rbp + 0xa8]
lea rcx, [rsp + 0x60]
mov dword [rsp + 0x20], 1
call fcn.180075980
mov ebx, eax
mov rax, qword [rbp + 0xa8]
cmp dword [rax], 0
jne 0x180079c6c
test ebx, ebx
jns 0x180077dbf
cmp ebx, 0xfffffffc
jne 0x180077da4
mov r10, qword [rsp + 0x60]
mov ebx, 8
jmp 0x180077e2e
cmp ebx, 0xfffffff0
jne 0x180077db5
mov r10, qword [rsp + 0x60]
mov ebx, 0x58
jmp 0x180077e2e
cmp ebx, 0xfffffff1
jne 0x180077dc6
mov ebx, 0x52
mov r10, qword [rsp + 0x60]
jmp 0x180077e2e
mov r10, rsi
mov qword [rsp + 0x60], rsi
mov ebx, dword [rsp + 0x7c]
test ebx, ebx
je 0x180077f4c
cmp edi, 0xff
jg 0x180077df6
test byte [rsp + 0x78], 1
je 0x180077f4c
cmp edi, 0x7f
jle 0x180077f4c
mov esi, 1
inc r14
mov ecx, edi
mov byte [r14 - 1], sil
mov rdx, r14
mov dword [rsp + 0x6c], esi
call fcn.18007b9a0
mov r10, qword [rsp + 0x60]
movsxd rcx, eax
add r14, rcx
mov ecx, dword [rsp + 0x68]
xor r9d, r9d
jmp 0x180077a74
mov rax, qword [rbp + 0xa8]
cmp ebx, edi
jl 0x180079bd7
je 0x180077dce
cmp dword [rsp + 0x7c], 0
je 0x180077ea8
cmp ebx, 0xff
jg 0x180077e56
mov esi, dword [rsp + 0x78]
test sil, 1
je 0x180077eac
cmp ebx, 0x7f
jle 0x180077eac
mov byte [r14], 2
inc r14
mov ecx, edi
mov rdx, r14
mov dword [rsp + 0x6c], 1
call fcn.18007b9a0
movsxd rcx, eax
add r14, rcx
mov ecx, ebx
mov rdx, r14
call fcn.18007b9a0
mov esi, dword [rsp + 0x78]
movsxd rcx, eax
add r14, rcx
test sil, 1
je case.0x180077a3b.19
cmp edi, 0x7f
jg case.0x180077a3b.19
mov r10, qword [rsp + 0x60]
mov ebx, 0x7f
jmp 0x180077eac
mov esi, dword [rsp + 0x78]
mov eax, ebx
mov r15d, ebx
sub eax, edi
cmp qword [rbp + 0xd0], 0
lea r13d, [r13 + rax + 1]
jne 0x180077a65
cmp edi, ebx
jg 0x180077a65
mov r12, qword [rbp + 0xc8]
mov r11d, esi
movsxd r9, edi
and r11d, 1
nop
mov eax, edi
cdq
and edx, 7
add eax, edx
mov edx, 1
sar eax, 3
movsxd r8, eax
mov eax, edi
and eax, 7
movzx ecx, al
shl dl, cl
or byte [rbp + r8 - 0x10], dl
test r11d, r11d
je 0x180077f2d
mov rax, qword [r12 + 8]
movzx ecx, byte [rax + r9]
mov eax, ecx
and ecx, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rdx, eax
mov eax, 1
shl al, cl
or byte [rbp + rdx - 0x10], al
inc edi
inc r9
cmp edi, ebx
jle 0x180077ee0
mov r12d, dword [rbp - 0x78]
jmp 0x180077a65
mov r10, rsi
mov qword [rsp + 0x60], rsi
jmp 0x180077dd2
mov eax, edi
cdq
and edx, 7
add eax, edx
mov edx, 1
sar eax, 3
movsxd r8, eax
mov eax, edi
and eax, 7
movzx ecx, al
shl dl, cl
or byte [rbp + r8 - 0x10], dl
test byte [rsp + 0x78], 1
je 0x180077fa9
mov rax, qword [rbp + 0xc8]
movsxd rcx, edi
mov rax, qword [rax + 8]
movzx edi, byte [rax + rcx]
mov eax, edi
cdq
and edx, 7
add eax, edx
mov edx, 1
sar eax, 3
movsxd r8, eax
mov eax, edi
and eax, 7
movzx ecx, al
shl dl, cl
or byte [rbp + r8 - 0x10], dl
mov ecx, dword [rsp + 0x68]
inc r13d
mov r15d, edi
jmp 0x180077a6d
test ebx, ebx
je 0x180077fda
cmp r15d, 0x7f
jle 0x180077fda
lea rdx, [rbp - 0x18]
mov ecx, r15d
call fcn.18007b9a0
mov r11, qword [rsp + 0x70]
mov edi, eax
jmp 0x180077493
mov r11, qword [rsp + 0x70]
mov byte [rbp - 0x18], r15b
mov edi, 1
jmp 0x180077493
mov ebx, dword [rbp - 0x80]
mov r11d, dword [rsp + 0x6c]
mov r12d, dword [rbp - 0x7c]
cmp ebx, 0xfffffffe
mov eax, 0xffffffff
mov dword [rbp - 0x5c], r12d
cmove ebx, eax
mov dword [rbp - 0x80], ebx
mov esi, ebx
mov dword [rbp - 0x60], ebx
test r11d, r11d
je 0x1800780a2
mov rbx, qword [rsp + 0x70]
mov byte [r14], 0
inc r14
cmp dword [rbp - 0x78], 0
mov byte [rbx], 0x4a
setne al
mov byte [rbx + 3], al
test r13d, r13d
jle 0x180078073
add rbx, 4
or al, 2
mov r8, r14
mov byte [rbx - 1], al
lea rcx, [rbx + 0x20]
sub r8, rbx
mov rdx, rbx
call fcn.180046df0
lea rdx, [rbp - 0x10]
mov r8d, 0x20
mov rcx, rbx
call fcn.180046df0
mov ecx, dword [rsp + 0x68]
lea r11, [r14 + 0x20]
mov qword [rsp + 0x70], r11
jmp 0x18007807b
mov r11, r14
mov qword [rsp + 0x70], r14
mov r13, qword [rbp - 0x68]
mov rax, r11
sub rax, r13
sar rax, 8
mov byte [r13 + 1], al
movzx eax, r11b
sub al, r13b
mov byte [r13 + 2], al
mov r10, qword [rsp + 0x60]
jmp 0x180079751
cmp dword [rbp - 0x78], 0
je 0x1800780e4
mov r11, qword [rsp + 0x70]
mov rdi, qword [rbp + 0xd0]
mov byte [r11], 0x49
inc r11
test rdi, rdi
jne 0x180078117
lea r8, [rbp - 0x10]
mov rcx, r11
lea edx, [rdi + 0x20]
sub r8, r11
nop dword [rax]
movzx eax, byte [r8 + rcx]
inc rcx
dec rdx
not al
mov byte [rcx - 1], al
jne 0x1800780d0
jmp 0x180078113
mov rax, qword [rsp + 0x70]
lea rdx, [rbp - 0x10]
mov r8d, 0x20
inc rax
mov byte [rax - 1], 0x48
mov rcx, rax
mov qword [rsp + 0x70], rax
call fcn.180046df0
mov r11, qword [rsp + 0x70]
mov rdi, qword [rbp + 0xd0]
mov ecx, dword [rsp + 0x68]
mov r10, qword [rsp + 0x60]
mov r13, qword [rbp - 0x68]
add r11, 0x20
mov qword [rsp + 0x70], r11
jmp 0x180079758
test edi, edi
je case.0x180077694.11
lea rcx, [r10 + 1]
lea r8, [rbp - 0x48]
lea rdx, [rbp - 0x44]
mov r9, r15
call fcn.180075e20
cmp dword [r15], 0
mov r10, rax
mov qword [rsp + 0x60], rax
jne 0x180079dcb
mov r15d, dword [rbp - 0x44]
mov r13d, dword [rbp - 0x48]
mov r11, qword [rsp + 0x70]
mov edx, dword [rsp + 0x78]
xor r9d, r9d
jmp 0x1800781a3
or eax, 0xffffffff
mov r13d, eax
mov dword [rbp - 0x48], eax
jmp 0x18007819c
or eax, 0xffffffff
mov r15d, 1
mov dword [rbp - 0x44], r15d
mov r13d, eax
mov dword [rbp - 0x48], eax
jmp 0x1800781a3
mov r13d, 1
mov dword [rbp - 0x48], r13d
mov dword [rbp - 0x44], r9d
mov r15d, r9d
mov r8, qword [rbp - 0x68]
test r8, r8
je 0x180079c2a
test r15d, r15d
jne 0x1800781bc
mov dword [rbp - 0x80], esi
mov dword [rbp - 0x7c], r12d
mov eax, 0x200
cmp r15d, r13d
mov qword [rbp - 0x50], r8
movzx ecx, byte [r10 + 1]
cmove eax, r9d
mov ebx, r9d
mov dword [rbp + 0x30], eax
lea rax, [r10 + 1]
mov edi, r9d
mov dword [rbp - 0x78], r9d
mov r9, r8
cmp cl, 0x2b
jne 0x180078204
xor ecx, ecx
mov edi, 1
mov r10, rax
mov esi, ecx
mov dword [rsp + 0x6c], ecx
mov dword [rbp - 0x78], edi
mov qword [rsp + 0x60], rax
jmp 0x18007821f
cmp cl, 0x3f
jne 0x180078216
mov esi, dword [rbp + 0x1c]
mov r10, rax
mov qword [rsp + 0x60], rax
jmp 0x180078219
mov esi, dword [rbp + 0x18]
xor ecx, ecx
mov dword [rsp + 0x6c], esi
movzx eax, byte [r8]
cmp al, 0x16
je 0x180078836
cmp al, 0x17
je 0x180078836
cmp al, 0x18
jne 0x180078296
movzx esi, byte [r8 + 1]
mov eax, 0xd
mov ebx, eax
test edi, edi
jne 0x1800788cc
test r13d, r13d
jns 0x1800788cc
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], edx
xor r9d, r9d
mov edx, esi
lea ecx, [rax + 0xb]
mov r8d, dword [rsp + 0x7c]
lea rax, [r10 + 1]
mov qword [rsp + 0x20], rax
call fcn.180076a50
mov r10, qword [rsp + 0x60]
test eax, eax
je 0x1800788cc
xor eax, eax
mov dword [rbp - 0x78], 1
mov r14d, eax
jmp 0x1800788d1
cmp al, 0x11
jae 0x1800782c5
mov ebx, 0x1a
movzx esi, al
test edi, edi
jne 0x1800788cc
test r13d, r13d
jns 0x1800788cc
mov qword [rsp + 0x30], r14
xor r9d, r9d
mov dword [rsp + 0x28], edx
xor edx, edx
mov ecx, esi
jmp 0x180078265
cmp al, 0x48
je 0x180078761
cmp al, 0x49
je 0x180078761
cmp al, 0x4a
je 0x180078761
cmp al, 0x4b
je 0x180078761
cmp al, 0x58
je 0x1800782f9
cmp al, 0x59
je 0x1800782f9
cmp al, 0x57
je 0x1800782f9
cmp al, 0x5a
jne 0x180079bf4
mov rbx, qword [rbp - 0x68]
mov edi, r11d
mov r12d, ecx
sub edi, ebx
mov dword [rbp - 0x58], ecx
mov r14, rcx
mov dword [rbp - 0x38], edi
cmp al, 0x5a
jne 0x18007831c
cmp byte [rbx + 3], 0x60
je 0x180079c06
cmp edi, 0x7530
jg 0x180079c18
cmp r13d, 0xffffffff
jne 0x180078354
mov rdx, rbx
movzx eax, byte [rdx + 1]
shl eax, 8
movsxd rcx, eax
movzx eax, byte [rdx + 2]
or rcx, rax
add rdx, rcx
cmp byte [rdx], 0x4f
jne 0x180078331
mov r12d, r11d
sub r12d, edx
mov dword [rbp - 0x58], r12d
test r15d, r15d
jne 0x18007842b
test r13d, r13d
jne 0x18007836f
mov r11, rbx
mov qword [rsp + 0x70], rbx
jmp 0x180078bcc
mov rax, qword [rbp - 0x20]
mov r9, qword [rbp + 0xc8]
mov r8d, dword [rsp + 0x7c]
mov qword [rsp + 0x20], rax
mov byte [r11], 0
mov rcx, rbx
cmp r13d, 1
jg 0x1800783d7
mov edx, 1
call fcn.1800768f0
movsxd r8, edi
mov rdi, qword [rbp - 0x68]
inc rbx
mov rdx, rdi
mov rcx, rbx
call fcn.180046df0
mov rax, qword [rsp + 0x70]
mov qword [rbp - 0x68], rbx
inc rax
dec r13d
mov qword [rsp + 0x70], rax
lea eax, [rsi + 0x61]
mov byte [rdi], al
mov r10, qword [rsp + 0x60]
mov r9, qword [rbp - 0x50]
jmp 0x180078523
mov edx, 4
call fcn.1800768f0
lea rcx, [rbx + 4]
movsxd r8, edi
mov rdx, rbx
call fcn.180046df0
mov rax, qword [rsp + 0x70]
lea r14, [rbx + 2]
add rax, 4
add rbx, 4
dec r13d
mov qword [rsp + 0x70], rax
lea eax, [rsi + 0x61]
mov qword [rbp - 0x68], rbx
mov byte [rbx - 4], al
mov word [rbx - 3], 0x58
mov byte [rbx - 1], 0
mov r10, qword [rsp + 0x60]
mov r9, qword [rbp - 0x50]
jmp 0x180078523
cmp r15d, 1
jle 0x180078517
mov rcx, qword [rbp + 0xd0]
test rcx, rcx
je 0x180078450
lea eax, [r15 - 1]
imul eax, dword [rbp - 0x40]
add dword [rcx], eax
jmp 0x180078517
cmp dword [rbp - 0x28], 0
je 0x180078462
mov eax, dword [rbp - 0x7c]
test eax, eax
cmovs eax, dword [rbp - 0x80]
mov dword [rbp - 0x7c], eax
cmp r15d, 1
jle 0x180078517
mov r12, qword [rsp + 0x70]
mov r8, qword [rbp + 0xc8]
lea eax, [r15 - 1]
mov r15, qword [rbp - 0x68]
mov esi, eax
movsxd rdi, edi
nop word [rax + rax]
mov rbx, qword [r8 + 0x40]
mov rdx, r15
mov rcx, r12
mov r8, rdi
call fcn.180046df0
mov r9, qword [rbp - 0x20]
mov r8, qword [rbp + 0xc8]
cmp r9, rbx
jae 0x1800784f5
mov edx, dword [rbp - 0x38]
nop word [rax + rax]
movzx eax, byte [r9 + 1]
movzx ecx, byte [r9]
add r9, 2
shl ecx, 8
or ecx, eax
mov rax, qword [r8 + 0x40]
add ecx, edx
sar ecx, 8
mov byte [rax], cl
movzx ecx, byte [r9 - 1]
mov rax, qword [r8 + 0x40]
add cl, dl
mov byte [rax + 1], cl
add qword [r8 + 0x40], 2
cmp r9, rbx
jb 0x1800784c0
add r12, rdi
dec rsi
mov qword [rbp - 0x20], rbx
jne 0x180078490
mov r10, qword [rsp + 0x60]
mov r9, qword [rbp - 0x50]
mov r15d, dword [rbp - 0x44]
mov qword [rsp + 0x70], r12
mov r12d, dword [rbp - 0x58]
mov esi, dword [rsp + 0x6c]
test r13d, r13d
jle 0x18007852a
sub r13d, r15d
mov dword [rbp - 0x48], r13d
test r13d, r13d
js 0x1800786d4
mov rcx, qword [rbp + 0xd0]
test rcx, rcx
je 0x180078590
test r13d, r13d
jle 0x180078590
mov eax, dword [rbp - 0x40]
add eax, 7
imul eax, r13d
sub eax, 6
add dword [rcx], eax
mov r11, qword [rsp + 0x70]
test r14, r14
je 0x1800787a4
nop
mov ecx, r11d
mov r8, r11
sub ecx, r14d
inc ecx
movsxd rax, ecx
sub r8, rax
movzx edx, byte [r8 + 1]
movzx eax, byte [r8 + 2]
shl edx, 8
or edx, eax
jne 0x1800786a3
xor eax, eax
mov r14d, eax
jmp 0x1800786a9
lea edi, [r13 - 1]
test edi, edi
js 0x180078550
movsxd r12, dword [rbp - 0x38]
mov r11, qword [rsp + 0x70]
mov r15, qword [rbp + 0xc8]
add sil, 0x61
mov dword [rsp + 0x6c], esi
mov r13d, esi
nop word [rax + rax]
mov rbx, qword [r15 + 0x40]
mov byte [r11], r13b
inc r11
mov qword [rsp + 0x70], r11
test edi, edi
je 0x180078603
mov byte [r11], 0x58
test r14, r14
jne 0x1800785e2
xor eax, eax
mov ecx, eax
jmp 0x1800785e9
lea ecx, [r11 + 1]
sub ecx, r14d
mov eax, ecx
lea r14, [r11 + 1]
mov byte [r11 + 2], cl
sar eax, 8
add r11, 3
mov byte [r11 - 2], al
mov qword [rsp + 0x70], r11
mov rdx, qword [rbp - 0x68]
mov r8, r12
mov rcx, r11
call fcn.180046df0
mov r9, qword [rbp - 0x20]
cmp r9, rbx
jae 0x18007867c
test edi, edi
mov eax, 4
mov edx, 1
mov r8d, 1
cmovne edx, eax
cmovne r8d, eax
nop word [rax + rax]
movzx eax, byte [r9 + 1]
movzx ecx, byte [r9]
add r9, 2
shl ecx, 8
or ecx, eax
mov rax, qword [r15 + 0x40]
add ecx, r12d
add ecx, edx
sar ecx, 8
mov byte [rax], cl
movzx ecx, byte [r9 - 1]
mov rax, qword [r15 + 0x40]
add cl, r8b
add cl, r12b
mov byte [rax + 1], cl
add qword [r15 + 0x40], 2
cmp r9, rbx
jb 0x180078640
mov r11, qword [rsp + 0x70]
mov qword [rbp - 0x20], rbx
add r11, r12
dec edi
mov qword [rsp + 0x70], r11
jns 0x1800785c0
mov r10, qword [rsp + 0x60]
mov r9, qword [rbp - 0x50]
jmp 0x180078555
movsxd rax, edx
sub r14, rax
mov byte [r11], 0x4f
mov byte [r11 + 2], cl
mov eax, ecx
sar eax, 8
add r11, 3
mov byte [r11 - 2], al
mov byte [r8 + 1], al
mov byte [r8 + 2], cl
test r14, r14
jne 0x180078560
jmp 0x180078796
mov r11, qword [rsp + 0x70]
movsxd rax, r12d
add sil, 0x50
mov rbx, r11
sub rbx, rax
mov rdi, rbx
movzx eax, byte [rbx + 1]
mov byte [rbx], sil
shl eax, 8
movsxd rcx, eax
movzx eax, byte [rbx + 2]
or rcx, rax
sub rdi, rcx
cmp qword [rbp + 0xd0], 0
jne 0x18007879b
cmp byte [rdi], 0x57
je 0x18007879b
mov r11, rdi
nop word [rax + rax]
mov r8d, dword [rsp + 0x7c]
mov rdx, rbx
mov rcx, r11
call fcn.180076490
test eax, eax
jne 0x180078757
movzx eax, byte [r11 + 1]
shl eax, 8
movsxd rcx, eax
movzx eax, byte [r11 + 2]
or rcx, rax
add r11, rcx
cmp byte [r11], 0x4e
je 0x180078720
mov r11, qword [rsp + 0x70]
jmp 0x18007879b
add byte [rdi], 3
mov r11, qword [rsp + 0x70]
jmp 0x18007879b
test r13d, r13d
jne 0x180078773
mov r11, r8
mov qword [rsp + 0x70], r8
jmp 0x180078bcc
cmp r13d, 1
je 0x180078781
mov dword [r14 + 0x6c], 1
test r15d, r15d
jne 0x1800787ec
cmp r13d, 0xffffffff
jne 0x1800787e0
add sil, 0x40
mov byte [r11], sil
inc r11
mov qword [rsp + 0x70], r11
mov r10, qword [rsp + 0x60]
mov r9, qword [rbp - 0x50]
cmp dword [rbp - 0x78], 0
je 0x180078bcc
movzx eax, byte [r9]
cmp al, 0x21
je 0x1800787c2
cmp al, 0x3b
je 0x1800787c2
cmp al, 0x2e
jne 0x180078afb
lea rdx, [0x180000000]
movzx eax, al
movzx eax, byte [rax + rdx + 0x8b4c0]
add r9, rax
mov qword [rbp - 0x50], r9
jmp 0x180078b02
cmp r13d, 1
jne 0x1800787fe
add sil, 0x44
jmp 0x180078790
cmp r15d, 1
jne 0x1800787fe
cmp r13d, 0xffffffff
jne 0x1800787fe
add sil, 0x42
jmp 0x180078790
add sil, 0x46
mov eax, r15d
sar eax, 8
mov byte [r11], sil
mov byte [r11 + 2], r15b
mov byte [r11 + 1], al
cmp r13d, 0xffffffff
cmove r13d, ecx
mov eax, r13d
mov byte [r11 + 4], r13b
mov dword [rbp - 0x48], r13d
sar eax, 8
add r11, 5
mov byte [r11 - 2], al
jmp 0x180078796
mov r12d, dword [rsp + 0x7c]
test r12d, r12d
je 0x18007888d
test byte [r11 - 1], 0x80
lea rdx, [r11 - 1]
je 0x18007888d
movzx eax, byte [rdx]
and al, 0xc0
cmp al, 0x80
jne 0x18007886d
nop word [rax + rax]
movzx eax, byte [rdx - 1]
dec rdx
and al, 0xc0
cmp al, 0x80
je 0x180078860
mov esi, r11d
lea rcx, [rbp + 0x10]
sub esi, edx
movsxd r8, esi
call fcn.180046df0
mov r10, qword [rsp + 0x60]
mov r8, qword [rbp - 0x68]
bts esi, 7
jmp 0x1800788a4
movzx esi, byte [r11 - 1]
cmp r15d, 1
jle 0x1800788a4
mov eax, dword [r14 + 0x68]
or eax, esi
or eax, dword [rbp - 0x3c]
mov dword [rbp - 0x7c], eax
test edi, edi
jne 0x1800788cc
test r13d, r13d
jns 0x1800788cc
mov edx, dword [rsp + 0x78]
movzx ecx, byte [r8]
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], edx
lea r9, [rbp + 0x10]
mov r8d, r12d
mov edx, esi
jmp 0x18007826a
mov r14d, dword [rsp + 0x6c]
mov rcx, qword [rbp - 0x68]
movzx eax, byte [rcx]
cmp al, 0xe
je 0x1800788ea
cmp al, 0xd
je 0x1800788ea
or eax, 0xffffffff
mov r12d, eax
mov edi, eax
jmp 0x1800788f3
movzx edi, byte [rcx + 1]
movzx r12d, byte [rcx + 2]
mov rax, qword [rsp + 0x70]
mov r11, rcx
mov qword [rsp + 0x70], rcx
test r13d, r13d
je 0x180078bcc
cmp r13d, 1
je 0x180078921
mov rcx, qword [rbp + 0xc8]
mov dword [rcx + 0x6c], 1
mov rcx, qword [rbp - 0x68]
add r14d, ebx
test r15d, r15d
jne 0x18007896e
lea r11, [rcx + 1]
cmp r13d, 0xffffffff
jne 0x18007893f
add r14b, 0x19
mov byte [rcx], r14b
jmp 0x180078abe
cmp r13d, 1
jne 0x180078951
add r14b, 0x1d
mov byte [rcx], r14b
jmp 0x180078abe
add r14b, 0x1f
mov eax, r13d
sar eax, 8
mov byte [rcx], r14b
mov byte [r11 + 1], r13b
mov byte [r11], al
add r11, 2
jmp 0x180078abe
cmp r15d, 1
jne 0x1800789c2
cmp r13d, 0xffffffff
jne 0x18007898a
add r14b, 0x1b
lea r11, [rcx + 1]
mov byte [rcx], r14b
jmp 0x180078abe
mov r11, rax
mov qword [rsp + 0x70], rax
cmp r13d, 1
je 0x180078bcc
lea r11, [rax + 1]
add r14b, 0x1f
mov byte [rax], r14b
lea eax, [r13 - 1]
dec r13b
sar eax, 8
mov byte [r11 + 1], r13b
add r11, 2
mov byte [r11 - 2], al
jmp 0x180078abe
lea r11, [rcx + 1]
add bl, 0x21
mov eax, r15d
sar eax, 8
mov byte [rcx], bl
add r11, 2
mov byte [r11 - 2], al
mov byte [r11 - 1], r15b
mov qword [rsp + 0x70], r11
test r13d, r13d
jns 0x180078a44
cmp dword [rsp + 0x7c], 0
je 0x180078a22
cmp esi, 0x80
jl 0x180078a22
mov ebx, esi
lea rdx, [rbp + 0x10]
mov rcx, r11
and ebx, 7
mov r8d, ebx
call fcn.180046df0
mov r11, qword [rsp + 0x70]
add r14b, 0x19
add r11, rbx
inc r11
mov byte [r11 - 1], r14b
jmp 0x180078abe
mov byte [r11], sil
inc r11
test edi, edi
js 0x180078a37
mov byte [r11], dil
mov byte [r11 + 1], r12b
add r11, 2
add r14b, 0x19
inc r11
mov byte [r11 - 1], r14b
jmp 0x180078abe
cmp r13d, r15d
je 0x180078ac3
cmp dword [rsp + 0x7c], 0
je 0x180078a76
cmp esi, 0x80
jl 0x180078a76
mov ebx, esi
lea rdx, [rbp + 0x10]
mov rcx, r11
and ebx, 7
mov r8d, ebx
call fcn.180046df0
mov r11, qword [rsp + 0x70]
add r11, rbx
jmp 0x180078a7c
mov byte [r11], sil
inc r11
test edi, edi
js 0x180078a8b
mov byte [r11], dil
mov byte [r11 + 1], r12b
add r11, 2
sub r13d, r15d
mov dword [rbp - 0x48], r13d
cmp r13d, 1
jne 0x180078aa5
add r14b, 0x1d
inc r11
mov byte [r11 - 1], r14b
jmp 0x180078abe
add r14b, 0x1f
mov eax, r13d
mov byte [r11], r14b
sar eax, 8
mov byte [r11 + 2], r13b
mov byte [r11 + 1], al
add r11, 3
mov qword [rsp + 0x70], r11
cmp dword [rsp + 0x7c], 0
je 0x180078790
cmp esi, 0x80
jl 0x180078790
mov ebx, esi
lea rdx, [rbp + 0x10]
mov rcx, r11
and ebx, 7
mov r8d, ebx
call fcn.180046df0
mov r11, qword [rsp + 0x70]
add r11, rbx
jmp 0x180078796
lea rdx, [0x180000000]
mov ebx, r11d
sub ebx, r9d
test ebx, ebx
jle 0x180078bcc
movzx eax, byte [r9]
add eax, 0xffffffe7
cmp eax, 0x20
ja case.0x180078b30.37
cdqe
movzx eax, byte [rdx + rax + 0x79f0c]
mov ecx, dword [rdx + rax*4 + 0x79ed8]
add rcx, rdx
jmp rcx
mov byte [r9], 0x22
jmp 0x180078bc7
mov byte [r9], 0x23
jmp 0x180078bc7
mov byte [r9], 0x24
jmp 0x180078bc7
mov byte [r9], 0x25
jmp 0x180078bc7
mov byte [r9], 0x3c
jmp 0x180078bc7
mov byte [r9], 0x3d
jmp 0x180078bc7
mov byte [r9], 0x3e
jmp 0x180078bc7
mov byte [r9], 0x3f
jmp 0x180078bc7
mov byte [r9], 0x2f
jmp 0x180078bc7
mov byte [r9], 0x30
jmp 0x180078bc7
mov byte [r9], 0x31
jmp 0x180078bc7
mov byte [r9], 0x32
jmp 0x180078bc7
lea rcx, [r9 + 3]
movsxd r8, ebx
mov rdx, r9
call fcn.180046df0
mov rax, qword [rbp - 0x50]
mov r11, qword [rsp + 0x70]
mov byte [rax], 0x57
mov byte [r11 + 3], 0x4f
add ebx, 3
mov byte [r11 + 5], bl
mov ecx, ebx
sar ecx, 8
add r11, 6
mov byte [r11 - 2], cl
mov rax, qword [rbp - 0x50]
mov qword [rsp + 0x70], r11
mov byte [rax + 1], cl
mov rax, qword [rbp - 0x50]
mov byte [rax + 2], bl
mov r10, qword [rsp + 0x60]
mov rcx, qword [rbp + 0xc8]
mov esi, dword [rbp - 0x60]
mov r12d, dword [rbp - 0x5c]
xor eax, eax
mov r13d, eax
mov qword [rbp - 0x68], rax
mov eax, dword [rbp + 0x30]
or dword [rcx + 0x68], eax
jmp 0x18007974d
mov rax, qword [r14 + 0x40]
inc r10
mov r13d, 0x59
mov qword [rsp + 0x60], r10
cmp byte [r10], 0x3f
mov qword [rbp - 0x20], rax
mov r15d, edx
mov dword [rsp + 0x6c], r13d
jne 0x1800795c9
inc r10
lea rbx, [0x180000000]
mov qword [rsp + 0x60], r10
movzx r8d, byte [r10]
lea eax, [r8 - 0x21]
cmp eax, 0x31
ja case.0x180078c4a.46
cdqe
movzx eax, byte [rbx + rax + 0x79f68]
mov ecx, dword [rbx + rax*4 + 0x79f30]
add rcx, rbx
jmp rcx
inc r10
mov qword [rsp + 0x60], r10
movzx eax, byte [r10]
test al, al
je 0x180078c74
nop dword [rax]
cmp al, 0x29
je 0x180078c86
inc r10
mov qword [rsp + 0x60], r10
movzx eax, byte [r10]
test al, al
jne 0x180078c60
mov rcx, qword [rbp + 0xa8]
mov dword [rcx], 0x12
jmp 0x180079dcb
cmp byte [r10], 0
je 0x180078c74
mov r13, qword [rbp - 0x68]
jmp 0x18007974d
mov rdi, qword [rbp + 0xd0]
mov r13d, 0x58
inc r10
mov dword [rsp + 0x6c], r13d
mov qword [rsp + 0x60], r10
jmp 0x180078eeb
cmp byte [r10 + 1], 0x3f
mov dword [rsp + 0x6c], 0x5a
jne 0x180078ce0
movzx eax, byte [r10 + 2]
cmp al, 0x3d
je 0x1800795ea
cmp al, 0x21
je 0x1800795ea
cmp al, 0x3c
je 0x1800795ea
mov byte [r11 + 3], 0x5e
mov r10, qword [rsp + 0x60]
mov r9d, 3
movzx eax, byte [r10 + 1]
lea rdx, [r10 + 1]
mov dword [rbp - 0x58], r9d
cmp al, 0x52
jne 0x180078d28
cmp byte [r10 + 2], 0x26
lea rcx, [r10 + 2]
jne 0x180078d28
or edi, 0xffffffff
mov qword [rsp + 0x60], rcx
mov byte [r11 + 3], 0x5f
mov r10, qword [rsp + 0x60]
xor edx, edx
mov r14d, edi
mov dword [rbp - 0x78], edi
jmp 0x180078d68
cmp al, 0x3c
jne 0x180078d43
mov eax, 0x3e
mov r10, rdx
mov qword [rsp + 0x60], rdx
mov r14d, eax
mov dword [rbp - 0x78], eax
xor edx, edx
jmp 0x180078d65
cmp al, 0x27
jne 0x180078d5d
mov r14d, 0x27
mov r10, rdx
mov qword [rsp + 0x60], rdx
mov dword [rbp - 0x78], r14d
xor edx, edx
jmp 0x180078d65
xor edx, edx
mov r14d, edx
mov dword [rbp - 0x78], edx
or edi, 0xffffffff
mov rbx, qword [rbp + 0xc8]
movzx eax, byte [r10 + 1]
lea rcx, [r10 + 1]
mov r8, qword [rbx + 0x18]
test byte [rax + r8], 0x10
je 0x180079c8b
mov qword [rsp + 0x60], rcx
mov esi, edx
movzx edx, byte [rcx]
test byte [r8 + rdx], 0x10
mov r10, rcx
mov r13, rcx
mov eax, edx
je 0x180078dd8
lea rbx, [0x180000000]
test esi, esi
js 0x180078dc3
test byte [rax + rbx + 0x8b3b0], 4
je 0x180078dc1
lea ecx, [rsi + rsi*4]
movzx eax, dl
lea esi, [rax + rcx*2 - 0x30]
jmp 0x180078dc3
mov esi, edi
inc r10
mov qword [rsp + 0x60], r10
movzx edx, byte [r10]
mov eax, edx
test byte [rdx + r8], 0x10
jne 0x180078da7
mov r12d, r10d
sub r12d, r13d
test r14d, r14d
jle 0x180078df8
movzx eax, byte [r10]
inc r10
mov qword [rsp + 0x60], r10
cmp eax, r14d
jne 0x180079c76
movzx eax, byte [r10]
inc r10
mov qword [rsp + 0x60], r10
cmp al, 0x29
jne 0x180079c76
mov rdi, qword [rbp + 0xd0]
test rdi, rdi
jne 0x180078edf
mov rcx, qword [rbp + 0xc8]
xor eax, eax
mov rbx, qword [rcx + 0x48]
mov edi, eax
cmp dword [rcx + 0x50], eax
jle 0x180078e7b
mov r14, rcx
nop word [rax + rax]
lea rdx, [rbx + 2]
mov r8d, r12d
mov rcx, r13
call fcn.180047280
test eax, eax
je 0x180078e62
movsxd rax, dword [r14 + 0x54]
inc edi
add rbx, rax
cmp edi, dword [r14 + 0x50]
jl 0x180078e40
mov r10, qword [rsp + 0x60]
mov r14d, dword [rbp - 0x78]
mov r9d, dword [rbp - 0x58]
mov r11, qword [rsp + 0x70]
mov rcx, qword [rbp + 0xc8]
cmp edi, dword [rcx + 0x50]
jge 0x180078e9b
movzx eax, byte [rbx + 1]
movzx ecx, byte [rbx]
shl ecx, 8
or ecx, eax
mov eax, ecx
mov byte [r11 + 5], cl
sar eax, 8
mov byte [r11 + 4], al
jmp 0x180078ed8
mov eax, dword [rsp + 0x78]
mov edx, dword [rcx + 0x58]
mov r9d, r12d
shr eax, 3
mov r8, r13
mov rcx, r10
and eax, 1
mov dword [rsp + 0x20], eax
call fcn.180075f20
test eax, eax
jle 0x180078fdb
mov r11, qword [rsp + 0x70]
mov ecx, eax
sar ecx, 8
mov byte [r11 + 5], al
mov byte [r11 + 4], cl
mov r9d, dword [rbp - 0x58]
mov rdi, qword [rbp + 0xd0]
mov r14, qword [rbp + 0xc8]
mov r13d, dword [rsp + 0x6c]
mov edx, dword [rsp + 0x78]
xor r8d, r8d
mov byte [r11], r13b
mov ebx, dword [r14 + 0x68]
cmp r13d, 0x57
mov eax, r8d
mov qword [rbp - 0x50], r11
cmovge rax, r11
mov dword [rbp - 0x40], r8d
mov qword [rbp - 0x68], rax
cmp r13d, 0x54
je 0x180078f1f
mov ecx, r8d
cmp r13d, 0x55
jne 0x180078f24
mov ecx, 1
test rdi, rdi
mov rdi, qword [rbp + 0xa8]
lea rax, [rbp - 0x40]
cmove rax, r8
lea r8, [rbp - 0x50]
and edx, 7
mov qword [rsp + 0x58], rax
mov rax, qword [rbp + 0xc0]
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x34]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x30]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r9d
mov dword [rsp + 0x28], ecx
lea r9, [rsp + 0x60]
mov ecx, r15d
mov qword [rsp + 0x20], rdi
call fcn.18007a010
test eax, eax
je 0x180079c6c
mov r11, qword [rsp + 0x70]
xor r9d, r9d
cmp r13d, 0x5a
jne 0x18007961c
mov rdx, r11
mov r8d, r9d
movzx eax, byte [rdx + 1]
inc r8d
shl eax, 8
movsxd rcx, eax
movzx eax, byte [rdx + 2]
or rcx, rax
add rdx, rcx
cmp byte [rdx], 0x4f
jne 0x180078fa0
cmp byte [r11 + 3], 0x60
jne 0x1800795f6
cmp r8d, 1
jg 0x180079d12
mov edx, 0x60
jmp 0x180079620
test r14d, r14d
jne 0x180079c5e
cmp byte [r13], 0x52
jne 0x180079052
xor eax, eax
mov edx, 1
mov ecx, eax
cmp r12d, edx
jle 0x180079031
nop dword [rax]
movsxd rax, edx
movzx r8d, byte [rax + r13]
lea rax, [0x180000000]
test byte [r8 + rax + 0x8b3b0], 4
je 0x180079c5e
lea ecx, [rcx + rcx*4]
inc edx
lea ecx, [r8 + rcx*2 - 0x30]
cmp edx, r12d
jl 0x180079000
test ecx, ecx
jne 0x180079036
mov ecx, 0xffff
mov r11, qword [rsp + 0x70]
mov eax, ecx
sar eax, 8
mov byte [r11 + 3], 0x5f
mov byte [r11 + 5], cl
mov byte [r11 + 4], al
jmp 0x180078ed4
cmp r12d, 6
jne 0x180079082
lea rdx, str.DEFINE
mov r8d, r12d
mov rcx, r13
call fcn.180047280
test eax, eax
jne 0x180079082
mov r11, qword [rsp + 0x70]
lea r9d, [r12 - 5]
mov byte [r11 + 3], 0x60
jmp 0x180078ed8
test esi, esi
jle 0x180079c3c
mov r11, qword [rsp + 0x70]
mov eax, esi
sar eax, 8
mov byte [r11 + 5], sil
mov byte [r11 + 4], al
jmp 0x180078ed4
mov rdi, qword [rbp + 0xd0]
mov r13d, 0x52
inc r10
mov dword [rsp + 0x6c], r13d
mov qword [rsp + 0x60], r10
jmp 0x180078eeb
mov rdi, qword [rbp + 0xd0]
mov r13d, 0x53
inc r10
mov dword [rsp + 0x6c], r13d
mov qword [rsp + 0x60], r10
jmp 0x180078eeb
movzx ecx, byte [r10 + 1]
movzx eax, cl
cmp cl, 0x21
je 0x1800791cc
cmp al, 0x3d
je 0x1800791ac
mov rax, qword [r14 + 0x18]
movzx ecx, cl
test byte [rcx + rax], 0x10
je 0x180079ca0
cmp r8b, 0x3c
mov eax, 0x3e
mov edx, 0x27
cmove edx, eax
mov rax, qword [r14 + 0x18]
inc r10
mov qword [rsp + 0x60], r10
movzx ecx, byte [r10]
mov r12, r10
test byte [rcx + rax], 0x10
je 0x180079152
mov rcx, rax
nop word [rax + rax]
inc r10
mov qword [rsp + 0x60], r10
movzx eax, byte [r10]
test byte [rax + rcx], 0x10
jne 0x180079140
mov ecx, r10d
sub ecx, r12d
cmp qword [rbp + 0xd0], 0
je 0x180079319
movzx eax, byte [r10]
cmp eax, edx
jne 0x180079ceb
cmp dword [r14 + 0x50], 0x2710
jge 0x180079cd9
lea eax, [rcx + 3]
cmp eax, dword [r14 + 0x54]
jle 0x1800793cb
mov dword [r14 + 0x54], eax
cmp ecx, 0x20
jle 0x1800793cb
mov rcx, qword [rbp + 0xa8]
mov dword [rcx], 0x30
jmp 0x180079dcb
mov r13d, 0x54
mov rdi, qword [rbp + 0xd0]
add r10, 2
mov dword [rsp + 0x6c], r13d
mov qword [rsp + 0x60], r10
jmp 0x180078eeb
mov r13d, 0x55
jmp 0x1800791b2
mov rdi, qword [rbp + 0xd0]
mov r13d, 0x57
inc r10
mov qword [rsp + 0x60], r10
mov dword [rsp + 0x6c], r13d
jmp 0x180078eeb
mov byte [r11], 0x4d
mov r10, qword [rsp + 0x60]
xor r9d, r9d
inc r10
mov r8, r11
mov qword [rbp - 0x70], r11
mov qword [rsp + 0x60], r10
movzx edx, byte [r10]
mov dword [rbp - 0x2c], 1
test byte [rdx + rbx + 0x8b3b0], 4
mov eax, r9d
je 0x180079250
nop word [rax + rax]
inc r10
lea ecx, [rax + rax*4]
movzx eax, dl
mov qword [rsp + 0x60], r10
movzx edx, byte [r10]
lea eax, [rax + rcx*2 - 0x30]
test byte [rdx + rbx + 0x8b3b0], 4
jne 0x180079230
cmp byte [r10], 0x29
jne 0x180079cc7
cmp eax, 0xff
jg 0x180079cb5
mov ecx, dword [rsp + 0x68]
mov rdi, qword [rbp + 0xd0]
mov r15, qword [rbp + 0xa8]
mov edx, dword [rsp + 0x78]
mov byte [r11 + 1], al
mov eax, dword [rsp + 0x60]
sub eax, dword [r14 + 0x30]
add r11, 6
mov r13, r9
inc rax
mov qword [rbp - 0x68], r9
mov qword [rsp + 0x70], r11
sar rax, 8
mov byte [r11 - 4], al
movzx eax, byte [rsp + 0x60]
sub al, byte [r14 + 0x30]
mov word [r11 - 2], r9w
mov r9, qword [rbp + 0x28]
inc al
mov byte [r11 - 3], al
mov r10, qword [rsp + 0x60]
inc r10
jmp 0x1800772ec
inc r10
mov qword [rsp + 0x60], r10
movzx r8d, byte [r10]
cmp r8b, 0x3d
je 0x1800792fb
cmp r8b, 0x3e
je 0x1800792fb
cmp r8b, 0x3c
je case.0x180078c4a.36
mov rcx, qword [rbp + 0xa8]
mov dword [rcx], 0x29
jmp 0x180079dcb
mov r15, qword [rbp + 0xa8]
xor r9d, r9d
cmp r8b, 0x3e
mov r13d, r9d
sete r13b
lea edx, [r9 + 0x29]
jmp 0x1800797fe
mov rbx, qword [r14 + 0x48]
xor eax, eax
movsxd rsi, ecx
mov edi, eax
cmp dword [r14 + 0x50], eax
jle 0x180079398
nop word [rax + rax]
lea rdx, [rbx + 2]
mov r8, rsi
mov rcx, r12
call fcn.180046e60
test eax, eax
jne 0x18007936a
cmp byte [rsi + rbx + 2], al
jne 0x18007937d
test dword [rsp + 0x78], 0x80000
jne 0x18007936c
mov rcx, qword [rbp + 0xa8]
mov r10, qword [rsp + 0x60]
mov dword [rcx], 0x2b
jmp 0x180079dcb
js 0x18007937d
movsxd rax, dword [r14 + 0x54]
inc edi
add rbx, rax
cmp edi, dword [r14 + 0x50]
jl 0x180079330
jmp 0x180079398
movsxd rcx, dword [r14 + 0x54]
mov eax, dword [r14 + 0x50]
mov rdx, rbx
sub eax, edi
imul eax, ecx
add rcx, rbx
movsxd r8, eax
call fcn.180046df0
mov eax, dword [r14 + 0x58]
lea rcx, [rbx + 2]
mov r8, rsi
inc eax
mov rdx, r12
sar eax, 8
mov byte [rbx], al
movzx eax, byte [r14 + 0x58]
inc al
mov byte [rbx + 1], al
call fcn.180046df0
mov r11, qword [rsp + 0x70]
mov byte [rsi + rbx + 2], 0
mov r10, qword [rsp + 0x60]
inc r10
inc dword [r14 + 0x50]
mov qword [rsp + 0x60], r10
inc dword [r14 + 0x58]
mov eax, dword [r14 + 0x58]
mov rdi, qword [rbp + 0xd0]
sar eax, 8
mov r9d, 2
mov byte [r11 + 3], al
movzx eax, byte [r14 + 0x58]
mov byte [r11 + 4], al
jmp 0x180078eeb
mov r15, qword [rbp + 0xa8]
mov edx, 0x29
xor r9d, r9d
lea r13d, [rdx - 0x28]
jmp 0x1800797fe
inc r10
mov qword [rsp + 0x60], r10
xor eax, eax
mov edi, eax
movzx eax, byte [r10]
test byte [rax + rbx + 0x8b3b0], 4
je 0x180079453
inc r10
movzx eax, al
lea ecx, [rdi + rdi*4]
lea edi, [rax + rcx*2 - 0x30]
mov qword [rsp + 0x60], r10
movzx eax, byte [r10]
test byte [rax + rbx + 0x8b3b0], 4
jne 0x180079433
cmp byte [r10], 0x29
je 0x1800798ea
mov rcx, qword [rbp + 0xa8]
mov dword [rcx], 0x1d
jmp 0x180079dcb
xor ecx, ecx
lea rdx, [rbp - 0x38]
mov eax, ecx
mov dword [rbp - 0x58], ecx
mov r15d, ecx
mov dword [rbp - 0x38], ecx
cmp r8b, 0x29
je 0x180079502
cmp r8b, 0x3a
je 0x1800794f9
inc r10
movzx eax, r8b
sub eax, 0x2d
mov qword [rsp + 0x60], r10
cmp eax, 0x4b
ja case.0x1800794b8.53
cdqe
movzx eax, byte [rbx + rax + 0x79fc0]
mov ecx, dword [rbx + rax*4 + 0x79f9c]
add rcx, rbx
jmp rcx
lea rdx, [rbp - 0x58]
jmp 0x1800794ef
or dword [rdx], 0x80000
or dword [r14 + 0x64], 0x8000000
jmp 0x1800794ef
or dword [rdx], 1
jmp 0x1800794ef
or dword [rdx], 2
jmp 0x1800794ef
or dword [rdx], 4
jmp 0x1800794ef
or dword [rdx], 8
jmp 0x1800794ef
or dword [rdx], 0x200
jmp 0x1800794ef
or dword [rdx], 0x40
movzx r8d, byte [r10]
cmp r8b, 0x29
jne 0x180079486
mov r15d, dword [rbp - 0x38]
mov eax, dword [rbp - 0x58]
xor ecx, ecx
mov edx, dword [rsp + 0x78]
mov rdi, qword [rbp + 0xd0]
not eax
or r15d, edx
and r15d, eax
cmp byte [r10], 0x29
jne 0x1800795b1
mov rax, qword [r14 + 0x28]
add rax, 3
cmp r11, rax
jne 0x18007954f
test rdi, rdi
je 0x180079536
cmp dword [rdi], 6
jne 0x18007954f
mov r13, rcx
mov qword [rbp - 0x68], rcx
mov ecx, dword [rsp + 0x68]
mov dword [r14 + 0x64], r15d
mov dword [rsp + 0x78], r15d
jmp 0x180079758
mov eax, r15d
xor eax, edx
test al, 7
je 0x180079574
mov byte [r11], 0x13
movzx eax, r15b
and al, 7
add r11, 2
mov byte [r11 - 1], al
mov r10, qword [rsp + 0x60]
mov qword [rsp + 0x70], r11
mov rax, qword [rbp + 0x90]
mov r13, rcx
mov qword [rbp - 0x68], rcx
mov ecx, dword [rsp + 0x68]
mov dword [rax], r15d
mov eax, r15d
shr eax, 9
mov dword [rsp + 0x78], r15d
and eax, 1
mov dword [rbp + 0x18], eax
xor eax, 1
mov dword [rbp + 0x1c], eax
mov eax, r15d
and eax, 1
shl eax, 8
mov dword [rbp - 0x3c], eax
jmp 0x180079758
mov r13d, 0x58
inc r10
mov dword [rsp + 0x6c], r13d
mov qword [rsp + 0x60], r10
jmp 0x180078eef
bt edx, 0xc
jae 0x1800793d7
mov rdi, qword [rbp + 0xd0]
mov r13d, 0x58
mov dword [rsp + 0x6c], r13d
jmp 0x180078eeb
mov rdi, qword [rbp + 0xd0]
jmp 0x180078ee6
cmp r8d, 2
jg 0x180079d22
cmp r8d, 1
jne 0x18007961c
mov edx, dword [rsp + 0x6c]
or r15d, 0xffffffff
mov eax, r15d
mov ecx, r15d
mov dword [rbp - 0x34], eax
mov dword [rbp - 0x30], ecx
jmp 0x18007962a
mov edx, dword [rsp + 0x6c]
mov ecx, dword [rbp - 0x30]
mov eax, dword [rbp - 0x34]
or r15d, 0xffffffff
mov r10, qword [rsp + 0x60]
cmp byte [r10], 0x29
jne 0x180079d32
mov rdi, qword [rbp + 0xd0]
test rdi, rdi
je 0x180079671
mov eax, dword [rbp - 0x40]
add eax, 0xfffffffa
add dword [rdi], eax
mov word [r11 + 1], 0x300
mov word [r11 + 3], 0x4f
mov byte [r11 + 5], 3
mov r10, qword [rsp + 0x60]
mov eax, dword [rbp - 0x34]
mov ecx, dword [rbp - 0x30]
add r11, 6
jmp 0x180079675
mov r11, qword [rbp - 0x50]
mov qword [rsp + 0x70], r11
cmp edx, 0x60
je 0x1800796ec
mov r8d, dword [rbp - 0x80]
mov r12d, dword [rbp - 0x7c]
mov dword [rbp - 0x28], r9d
mov dword [rbp - 0x5c], r12d
mov esi, r8d
mov dword [rbp - 0x60], r8d
cmp edx, 0x57
jl 0x1800796e5
cmp r8d, 0xfffffffe
jne 0x1800796c5
test ecx, ecx
js 0x1800796b8
mov dword [rbp - 0x80], ecx
mov dword [rbp - 0x28], 1
mov esi, r15d
mov dword [rbp - 0x60], r15d
jmp 0x1800796d4
mov dword [rbp - 0x80], r15d
mov esi, r15d
mov dword [rbp - 0x60], r15d
jmp 0x1800796d4
test ecx, ecx
js 0x1800796d4
test eax, eax
jns 0x1800796d8
mov eax, ecx
or eax, ebx
mov dword [rbp - 0x34], eax
test eax, eax
js 0x1800796f0
mov r13, qword [rbp - 0x68]
mov ecx, dword [rsp + 0x68]
mov dword [rbp - 0x7c], eax
jmp 0x180079758
cmp edx, 0x52
jne 0x1800796f0
jmp 0x1800796d4
mov r12d, dword [rbp - 0x5c]
mov esi, dword [rbp - 0x60]
mov r13, qword [rbp - 0x68]
mov ecx, dword [rsp + 0x68]
jmp 0x180079758
mov r8d, dword [r14 + 0x58]
mov dword [rsp + 0x20], r9d
mov r9d, edx
lea rcx, [rsp + 0x60]
mov rdx, r15
call fcn.180075980
cmp dword [r15], 0
jne 0x180079c6c
test eax, eax
jns 0x180079b0e
mov ecx, eax
neg ecx
cmp ecx, 0x14
jne 0x180079783
mov r10, qword [rsp + 0x60]
cmp byte [r10 + 1], 0x5c
jne 0x180079773
cmp byte [r10 + 2], 0x45
jne 0x180079773
add r10, 2
mov r11, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x68]
mov rdi, qword [rbp + 0xd0]
mov r8, qword [rbp - 0x70]
mov r15, qword [rbp + 0xa8]
mov edx, dword [rsp + 0x78]
mov r9, qword [rbp + 0x28]
inc r10
jmp 0x1800772ec
mov r11, qword [rsp + 0x70]
mov ecx, 1
mov dword [rsp + 0x68], ecx
jmp 0x180079751
cmp ecx, 0x13
je 0x180079b04
mov r8d, dword [rbp - 0x80]
cmp r8d, 0xfffffffe
jne 0x1800797ab
cmp ecx, 4
jle 0x1800797ab
cmp ecx, 0x11
mov edx, 0xffffffff
cmovl r8d, edx
mov dword [rbp - 0x80], r8d
mov r12d, dword [rbp - 0x7c]
mov r10, qword [rsp + 0x60]
mov esi, r8d
mov dword [rbp - 0x60], r8d
mov dword [rbp - 0x5c], r12d
cmp ecx, 0x15
jne 0x180079a38
movzx edx, byte [r10 + 1]
lea r8, [r10 + 1]
cmp dl, 0x3c
je 0x1800797df
cmp dl, 0x27
jne 0x180079a34
xor r9d, r9d
mov qword [rsp + 0x60], r8
cmp byte [r8], 0x3c
mov edx, 0x27
mov eax, 0x3e
mov r13d, r9d
cmove edx, eax
mov r10, r8
mov rax, qword [r14 + 0x18]
inc r10
mov qword [rsp + 0x60], r10
movzx ecx, byte [r10]
mov r12, r10
test byte [rcx + rax], 0x10
je 0x180079832
mov rcx, rax
nop word [rax + rax]
inc r10
mov qword [rsp + 0x60], r10
movzx eax, byte [r10]
test byte [rax + rcx], 0x10
jne 0x180079820
mov esi, r10d
sub esi, r12d
cmp qword [rbp + 0xd0], 0
je 0x18007985c
movzx eax, byte [r10]
cmp eax, edx
jne 0x180079d49
cmp esi, 0x20
jg 0x180079d3d
mov edi, r9d
jmp 0x1800798d5
cmp dword [r14 + 0x50], 0
mov rbx, qword [r14 + 0x48]
mov edi, r9d
jle 0x180079897
nop word [rax + rax]
lea rdx, [rbx + 2]
mov r8d, esi
mov rcx, r12
call fcn.180047280
test eax, eax
je 0x180079892
movsxd rax, dword [r14 + 0x54]
inc edi
add rbx, rax
cmp edi, dword [r14 + 0x50]
jl 0x180079870
mov r10, qword [rsp + 0x60]
cmp edi, dword [r14 + 0x50]
jge 0x1800798ab
movzx edi, byte [rbx]
movzx eax, byte [rbx + 1]
shl edi, 8
or edi, eax
jmp 0x1800798d5
mov eax, dword [rsp + 0x78]
mov edx, dword [r14 + 0x58]
mov r9d, esi
shr eax, 3
mov r8, r12
mov rcx, r10
and eax, 1
mov dword [rsp + 0x20], eax
call fcn.180075f20
mov edi, eax
test eax, eax
jle 0x180079d66
mov esi, dword [rbp - 0x60]
mov r12d, dword [rbp - 0x5c]
test r13d, r13d
je 0x180079a46
mov r11, qword [rsp + 0x70]
cmp qword [rbp + 0xd0], 0
mov rbx, qword [r14 + 0x28]
mov r13, r11
mov qword [rbp - 0x68], r11
jne 0x1800799bf
mov edx, dword [rsp + 0x7c]
mov byte [r11], 0
test edi, edi
je 0x180079923
mov rcx, qword [r14 + 0x28]
mov r8d, edi
call fcn.1800763e0
mov r11, qword [rsp + 0x70]
mov rbx, rax
test rbx, rbx
jne 0x18007998e
mov eax, dword [rsp + 0x78]
mov edx, dword [r14 + 0x58]
mov rcx, qword [rsp + 0x60]
shr eax, 3
mov r9d, edi
xor r8d, r8d
and eax, 1
mov dword [rsp + 0x20], eax
call fcn.180075f20
test eax, eax
js 0x180079c5e
mov rax, qword [r14 + 0x28]
mov r11, qword [rsp + 0x70]
movsxd rbx, edi
add rbx, rax
mov rcx, r11
sub rcx, rax
mov rax, qword [r14 + 0x40]
add rcx, 4
sar rcx, 8
mov byte [rax], cl
mov rax, qword [r14 + 0x40]
movzx ecx, r11b
sub cl, byte [r14 + 0x28]
add cl, 4
mov byte [rax + 1], cl
add qword [r14 + 0x40], 2
jmp 0x1800799bf
movzx ecx, byte [rbx + 1]
movzx eax, byte [rbx + 2]
shl ecx, 8
or ecx, eax
jne 0x1800799bf
mov r8, qword [rbp + 0xc0]
mov r9d, edx
mov rcx, rbx
mov rdx, r11
call fcn.180076880
test eax, eax
jne 0x180079d52
mov r11, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x68]
mov rdi, qword [rbp + 0xd0]
mov r8, qword [rbp - 0x70]
mov dword [r11], 0x4c060057
mov eax, ebx
add r11, 9
sub eax, dword [r14 + 0x28]
mov qword [rsp + 0x70], r11
sar rax, 8
mov byte [r11 - 5], al
sub bl, byte [r14 + 0x28]
cmp dword [rbp - 0x80], 0xfffffffe
mov byte [r11 - 4], bl
mov word [r11 - 3], 0x4f
mov byte [r11 - 1], 6
mov r10, qword [rsp + 0x60]
mov dword [rbp - 0x40], 9
jne 0x18007975c
mov r15, qword [rbp + 0xa8]
mov edx, dword [rsp + 0x78]
mov r9, qword [rbp + 0x28]
mov dword [rbp - 0x80], 0xffffffff
inc r10
jmp 0x1800772ec
mov r8d, dword [rbp - 0x80]
cmp ecx, 0x16
jl 0x180079aab
mov edi, 0xffffffea
sub edi, eax
jmp 0x180079a4a
mov r8d, dword [rbp - 0x80]
mov r11, qword [rsp + 0x70]
cmp r8d, 0xfffffffe
mov eax, 0xffffffff
cmove r8d, eax
mov byte [r11], 0x4b
mov eax, edi
sar eax, 8
mov r13, r11
mov qword [rbp - 0x68], r11
mov byte [r11 + 1], al
mov byte [r11 + 2], dil
add r11, 3
mov dword [rbp - 0x80], r8d
mov eax, 1
mov qword [rsp + 0x70], r11
cmp edi, 0x20
jge 0x180079a8f
mov ecx, edi
shl eax, cl
or dword [r14 + 0x60], eax
cmp edi, dword [r14 + 0x5c]
jle 0x180077707
mov r10, qword [rsp + 0x60]
mov dword [r14 + 0x5c], edi
jmp 0x18007974d
cmp ecx, 0x10
je 0x180079d75
cmp ecx, 0xd
je 0x180079d75
cmp ecx, 0xe
je 0x180079d75
cmp ecx, 4
jle 0x180079ade
cmp ecx, 0x11
jge 0x180079ade
mov r11, qword [rsp + 0x70]
mov r13, r11
mov qword [rbp - 0x68], r11
jmp 0x180079aec
mov r11, qword [rsp + 0x70]
xor ecx, ecx
mov r13d, ecx
mov qword [rbp - 0x68], rcx
neg al
inc r11
mov byte [r11 - 1], al
mov r10, qword [rsp + 0x60]
mov qword [rsp + 0x70], r11
jmp 0x18007974d
mov r10, qword [rsp + 0x60]
jmp 0x180079748
cmp dword [rsp + 0x7c], 0
je 0x180079b31
cmp eax, 0x7f
jle 0x180079b31
lea rdx, [rbp - 0x18]
mov ecx, eax
call fcn.18007b9a0
mov r11, qword [rsp + 0x70]
mov edi, eax
jmp 0x18007748f
mov r11, qword [rsp + 0x70]
mov byte [rbp - 0x18], al
mov edi, 1
jmp 0x18007748f
movzx eax, byte [rbp - 0x18]
or eax, dword [rbp - 0x3c]
mov dword [rbp - 0x80], eax
cmp edi, 1
je 0x180077707
mov rax, qword [rbp + 0xc8]
movzx r8d, byte [r11 - 1]
mov r10, qword [rsp + 0x60]
or r8d, dword [rax + 0x68]
mov dword [rbp - 0x7c], r8d
jmp 0x18007974d
mov esi, r8d
mov dword [rbp - 0x60], r8d
cmp edi, 1
je 0x180079b90
cmp dword [rbp - 0x3c], 0
je 0x180079b90
mov r10, qword [rsp + 0x60]
jmp 0x18007974d
mov rax, qword [rbp + 0xc8]
movzx r14d, byte [r11 - 1]
mov r10, qword [rsp + 0x60]
or r14d, dword [rax + 0x68]
or r14d, dword [rbp - 0x3c]
mov dword [rbp - 0x7c], r14d
jmp 0x18007974d
cmp byte [r10 + 1], 0x3a
mov eax, 0x1f
mov ecx, 0xd
cmove eax, ecx
mov dword [r15], eax
jmp 0x180079dcb
mov dword [rbx], 7
jmp 0x180079dcb
mov dword [rax], 8
jmp 0x180079dcb
mov rcx, qword [rbp + 0xa8]
mov dword [rcx], 6
jmp 0x180079dcb
mov rcx, qword [rbp + 0xa8]
mov dword [rcx], 0xb
jmp 0x180079dcb
mov rcx, qword [rbp + 0xa8]
mov dword [rcx], 0x37
jmp 0x180079dcb
mov rcx, qword [rbp + 0xa8]
mov dword [rcx], 0x32
jmp 0x180079dcb
mov rcx, qword [rbp + 0xa8]
mov dword [rcx], 9
jmp 0x180079dcb
mov r10, qword [rsp + 0x60]
mov ecx, 0x23
mov eax, 0xf
test esi, esi
cmove eax, ecx
mov rcx, qword [rbp + 0xa8]
mov dword [rcx], eax
jmp 0x180079dcb
mov rcx, qword [rbp + 0xa8]
mov eax, 0xf
mov dword [rcx], eax
mov r10, qword [rsp + 0x60]
jmp 0x180079dcb
mov rcx, qword [rbp + 0xa8]
dec r10
mov dword [rcx], 0x1a
jmp 0x180079dcb
mov rcx, qword [rbp + 0xa8]
inc r10
mov dword [rcx], 0x1c
jmp 0x180079dcb
mov rcx, qword [rbp + 0xa8]
inc r10
mov dword [rcx], 0x18
jmp 0x180079dcb
mov rcx, qword [rbp + 0xa8]
mov dword [rcx], 0x26
jmp 0x180079dcb
mov rcx, qword [rbp + 0xa8]
mov dword [rcx], 0x27
jmp 0x180079dcb
mov rcx, qword [rbp + 0xa8]
mov dword [rcx], 0x31
jmp 0x180079dcb
mov rcx, qword [rbp + 0xa8]
mov dword [rcx], 0x2a
jmp 0x180079dcb
mov rcx, qword [rbp + 0xa8]
dec r10
mov dword [rcx], 0xc
jmp 0x180079dcb
mov r10, qword [rsp + 0x60]
mov dword [rdi], 0x36
jmp 0x180079dcb
mov r10, qword [rsp + 0x60]
mov dword [rdi], 0x1b
jmp 0x180079dcb
mov dword [rdi], 0xe
jmp 0x180079dcb
mov dword [r15], 0x30
jmp 0x180079dcb
mov dword [r15], 0x2a
jmp 0x180079dcb
mov rcx, qword [rbp + 0xa8]
mov r10, qword [rsp + 0x60]
mov dword [rcx], 0x28
jmp 0x180079dcb
mov r10, qword [rsp + 0x60]
mov eax, 0xf
mov dword [r15], eax
jmp 0x180079dcb
mov dword [r15], 0x2d
jmp 0x180079dcb
mov eax, dword [rbp - 0x80]
mov rcx, qword [rbp + 0xb0]
mov dword [rcx], eax
mov rcx, qword [rbp + 0xb8]
mov eax, dword [rbp - 0x7c]
mov dword [rcx], eax
mov rcx, qword [rbp + 0x98]
mov rax, qword [rbp + 0xd0]
mov qword [rcx], r11
mov rcx, qword [rbp + 0xa0]
mov qword [rcx], r10
test rax, rax
je 0x180079dbd
sub r11d, dword [rbp + 0x28]
add dword [rax], r11d
mov eax, 1
jmp 0x180079dd7
mov dword [r15], 0x34
mov rcx, qword [rbp + 0xa0]
xor eax, eax
mov qword [rcx], r10
add rsp, 0x148
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret