Function at 0x140031610
Capabilities:
Check for software breakpoints
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x178
mov r15, r9
mov rbx, r8
mov r14, rdx
mov rdi, rcx
mov rcx, qword [rsp + 0x1e8]
mov rax, qword [0x140040010]
xor rax, rsp
mov qword [rsp + 0x170], rax
mov qword [rcx], 0
cmp qword [r9], 0
je 0x140031682
cmp qword [r15 + 0x10], 0
je 0x140031bf6
cmp qword [r15 + 0x18], 0
je 0x140031bf6
cmp dword [r15 + 8], 0
je 0x140031bf6
cmp byte [r15 + 0x2c], 0
je 0x140031bf6
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EncodePointer]
lea rcx, [r15 + 0x20]
mov qword [rsp + 0x30], rcx
mov ecx, dword [r15 + 0x20]
lea edx, [rcx + 8]
cmp qword [r15], 0
je 0x140032274
cmp edx, dword [r15 + 0x28]
ja 0x140032280
mov rdx, qword [r15 + 0x10]
mov qword [rdx + rcx], rax
add dword [r15 + 0x20], 8
cmp qword [r15], 0
je 0x1400316ee
cmp qword [r15 + 0x10], 0
je 0x140031bf6
cmp qword [r15 + 0x18], 0
je 0x140031bf6
cmp dword [r15 + 8], 0
je 0x140031bf6
cmp byte [r15 + 0x2c], 0
je 0x140031bf6
mov ecx, dword [r14 + 0x10]
add rcx, qword [r14 + 8]
call qword [sym.imp.KERNEL32.dll_EncodePointer]
mov ecx, dword [r15 + 0x20]
lea edx, [rcx + 8]
cmp qword [r15], 0
mov qword [rsp + 0x58], rbx
je 0x140032295
cmp edx, dword [r15 + 0x28]
ja 0x1400322a1
mov rdx, qword [r15 + 0x10]
mov qword [rdx + rcx], rax
add dword [r15 + 0x20], 8
cmp qword [r15], 0
je 0x14003175b
cmp qword [r15 + 0x10], 0
je case.0x1400334fa.1
cmp qword [r15 + 0x18], 0
je case.0x1400334fa.1
cmp dword [r15 + 8], 0
je case.0x1400334fa.1
cmp byte [r15 + 0x2c], 0
je case.0x1400334fa.1
mov r8, qword [rsp + 0x1e0]
mov rcx, r15
mov rdx, r14
mov r9, qword [rsp + 0x1e8]
call fcn.140034930
test al, al
jne case.0x1400334fa.1
lea r12, [r14 + 0x10]
mov eax, dword [r15 + 0x20]
mov dword [r15 + 0x24], eax
mov al, byte [rdi + 0x10]
and al, 2
shr al, 1
mov byte [rsp + 0x57], al
jne 0x1400322b6
mov r8d, 0xd
lea r13, [r14 + 8]
mov eax, dword [r12]
cmp eax, r8d
jae 0x140031a84
lea rcx, [r15 + 0x28]
mov qword [rsp + 0x40], rcx
lea rcx, [r15 + 0x10]
mov qword [rsp + 0x48], rcx
lea rcx, [r15 + 0x2c]
mov qword [rsp + 0x38], rcx
xor esi, esi
mov dword [rsp + 0x2c], r8d
nop word cs:[rax + rax]
nop
mov ebp, eax
mov rax, rbp
mov rcx, qword [r13]
movzx edx, byte [rcx + rax]
test sil, 1
jne 0x140031cf2
cmp dl, 0xf
je 0x140031d24
mov eax, edx
and al, 0xfc
cmp al, 0x88
je 0x140031d4f
lea eax, [rdx - 0x40]
cmp al, 2
jb 0x1400319fd
cmp dl, 0x44
je 0x140031e10
cmp dl, 0x45
je 0x140031e3b
mov eax, edx
and al, 0xfa
cmp al, 0x48
jne 0x140031954
mov eax, dword [r15 + 0x20]
lea edx, [rax + 1]
cmp qword [r15], 0
je 0x140031e66
mov rbx, qword [rsp + 0x40]
cmp edx, dword [rbx]
ja 0x140031e72
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov cl, byte [rcx + rbp]
mov byte [rdx + rax], cl
mov rax, qword [rsp + 0x30]
add dword [rax], 1
mov edx, dword [r12]
lea edi, [rdx + 1]
mov dword [r12], edi
mov rax, qword [r13]
mov cl, byte [rax + rdi]
cmp cl, 0x82
jle 0x1400318a0
cmp cl, 0x83
je 0x1400319a4
cmp cl, 0x85
je 0x140031e7f
cmp cl, 0x2b
jne 0x1400318a9
jmp 0x140031e7f
cmp cl, 0x81
je 0x140031c1b
mov ebx, ecx
and bl, 0xfd
cmp bl, 0x89
jne 0x140031eb9
add edx, 2
mov rcx, qword [r14]
mov qword [rsp + 0xd0], rcx
add rax, rdx
mov qword [rsp + 0xd8], rax
mov dword [rsp + 0xe0], 0
lea rcx, [rsp + 0xd0]
lea rdx, [rsp + 0x98]
call fcn.140034a80
test eax, eax
js 0x140031f0f
lea ebx, [rax + 1]
cmp qword [r15], 0
mov ecx, dword [r15 + 0x20]
lea eax, [rcx + rax + 1]
je 0x1400336af
mov rdx, qword [rsp + 0x40]
cmp eax, dword [rdx]
ja 0x140033173
mov edx, dword [r12]
add rdx, qword [r13]
mov r8d, ebx
mov rax, qword [rsp + 0x48]
add rcx, qword [rax]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x30]
add dword [rax], ebx
add dword [r12], ebx
mov r8d, dword [rsp + 0x2c]
mov eax, dword [r12]
cmp eax, r8d
jb 0x1400317e0
jmp 0x140031a86
cmp dl, 0x66
je 0x14003254e
mov eax, edx
and al, 0xf0
cmp al, 0x50
jne 0x140031c70
mov eax, dword [r15 + 0x20]
lea edx, [rax + 1]
cmp qword [r15], 0
je 0x1400325c7
mov rbx, qword [rsp + 0x40]
cmp edx, dword [rbx]
ja 0x140032262
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov cl, byte [rcx + rbp]
mov byte [rdx + rax], cl
mov rax, qword [rsp + 0x30]
add dword [rax], 1
add dword [r12], 1
jmp 0x140031942
mov dl, byte [rax + rdi + 1]
and dl, 0xf8
cmp dl, 0xe8
jne 0x1400327d5
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 3]
cmp qword [r15], 0
je 0x140032801
mov rcx, qword [rsp + 0x40]
cmp ebp, dword [rcx]
ja 0x140032812
add rax, rdi
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov bl, byte [rax + 2]
mov byte [rcx + rdx + 2], bl
movzx eax, word [rax]
mov word [rcx + rdx], ax
mov rax, qword [rsp + 0x30]
add dword [rax], 3
add dword [r12], 3
jmp 0x140031942
mov eax, dword [r15 + 0x20]
lea edx, [rax + 1]
cmp qword [r15], 0
je 0x1400328b5
mov rbx, qword [rsp + 0x40]
cmp edx, dword [rbx]
ja 0x1400328c1
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov cl, byte [rcx + rbp]
mov byte [rdx + rax], cl
mov rax, qword [rsp + 0x30]
add dword [rax], 1
mov ecx, dword [r12]
add ecx, 1
mov dword [r12], ecx
mov rax, qword [r13]
mov bl, byte [rax + rcx]
mov edx, ebx
and dl, 0xf0
cmp dl, 0x50
jne 0x1400328ce
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 1]
cmp qword [r15], 0
je 0x14003290a
mov rbx, qword [rsp + 0x40]
cmp ebp, dword [rbx]
ja 0x140032262
mov rbp, qword [rsp + 0x48]
mov rbp, qword [rbp]
mov al, byte [rax + rcx]
mov byte [rbp + rdx], al
jmp 0x140031995
xor esi, esi
cmp eax, 0x64
ja case.0x1400334fa.1
test sil, 1
jne 0x140031ab1
mov edx, eax
add rdx, qword [r13]
mov rcx, r15
mov r8d, 2
call fcn.140034b10
test al, al
je case.0x1400334fa.1
cmp byte [r15 + 0x2c], 0
je case.0x1400334fa.1
cmp qword [r15], 0
je case.0x1400334fa.1
mov edi, dword [r15 + 0x24]
add rdi, qword [r15 + 0x18]
je case.0x1400334fa.1
lea rdx, [rsp + 0xd0]
mov rcx, r14
xor r8d, r8d
xor r9d, r9d
call fcn.140034f00
cmp qword [rsp + 0x140], 0
je 0x140031bbe
cmp byte [rsp + 0x128], 0
je 0x140031bbe
cmp byte [rsp + 0x57], 0
jne 0x1400322c1
mov byte [rsp + 0x98], 0x49
lea rbx, [rsp + 0xd0]
lea rdx, [rsp + 0x98]
mov rcx, rbx
call fcn.140035040
mov byte [rsp + 0x98], 0xbb
lea rdx, [rsp + 0x98]
mov rcx, rbx
call fcn.140035040
mov rcx, rbx
mov rdx, qword [rsp + 0x1e0]
call fcn.140035100
mov byte [rsp + 0x98], 0x41
lea rdx, [rsp + 0x98]
mov rcx, rbx
call fcn.140035040
mov byte [rsp + 0x98], 0xff
lea rdx, [rsp + 0x98]
mov rcx, rbx
call fcn.140035040
mov byte [rsp + 0x98], 0xe3
lea rdx, [rsp + 0x98]
mov rcx, rbx
call fcn.140035040
lea rcx, [rsp + 0xd0]
call fcn.1400351b0
test al, al
je 0x140031bbe
mov rax, qword [rsp + 0x1e8]
mov qword [rax], rdi
lea rcx, [rsp + 0x130]
call int.140035910
mov rcx, qword [rsp + 0xf0]
lea rax, [rsp + 0x108]
cmp rcx, rax
jne 0x1400324ab
mov rax, qword [rsp + 0x1e8]
cmp qword [rax], 0
je 0x1400324b6
mov rcx, qword [rsp + 0x170]
xor rcx, rsp
call fcn.140036e40
nop
add rsp, 0x178
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov dl, byte [rax + rdi + 1]
and dl, 0xf8
cmp dl, 0xe8
jne case.0x1400334fa.1
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 6]
cmp qword [r15], 0
je 0x140032dd8
mov rcx, qword [rsp + 0x40]
cmp ebp, dword [rcx]
ja 0x140032de9
add rax, rdi
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
movzx ebp, word [rax + 4]
mov word [rcx + rdx + 4], bp
mov eax, dword [rax]
mov dword [rcx + rdx], eax
mov rax, qword [rsp + 0x30]
add dword [rax], 6
add dword [r12], 6
jmp 0x140031942
cmp dl, 0x80
je 0x140032dfb
cmp dl, 0x90
je case.0x1400334fa.0
cmp dl, 0x65
je 0x140032e63
mov eax, edx
and al, 0xf8
cmp al, 0xb8
je 0x140032ebe
cmp dl, 0xff
jne 0x140032e9e
mov al, byte [rcx + rbp + 1]
mov edx, eax
and dl, 0xf8
cmp dl, 0xf0
jne 0x140032ef8
mov eax, dword [r15 + 0x20]
lea edx, [rax + 2]
cmp qword [r15], 0
je 0x140032f3c
mov rbx, qword [rsp + 0x40]
cmp edx, dword [rbx]
ja 0x140032f4d
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
movzx ecx, word [rcx + rbp]
mov word [rdx + rax], cx
mov rax, qword [rsp + 0x30]
add dword [rax], 2
add dword [r12], 2
jmp 0x140031942
mov rdi, rsi
cmp dl, 0xcc
je 0x140031d03
cmp dl, 0x90
jne 0x140031daf
mov r8d, dword [rsp + 0x2c]
mov ecx, r8d
add rax, 1
mov dword [r12], eax
cmp rax, rcx
mov rsi, rdi
jb 0x1400317e5
jmp 0x140031a86
mov eax, dword [r15 + 0x20]
lea edx, [rax + 1]
cmp qword [r15], 0
je 0x140032045
mov rbx, qword [rsp + 0x40]
cmp edx, dword [rbx]
jbe 0x140032185
mov rax, qword [rsp + 0x38]
mov byte [rax], 0
jmp 0x14003204c
mov eax, dword [r15 + 0x20]
lea edx, [rax + 1]
cmp qword [r15], 0
jne 0x14003201b
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
add dword [r14 + 0x10], 1
mov rcx, r14
xor edx, edx
call fcn.140034a80
test eax, eax
js case.0x1400334fa.1
mov edi, eax
mov ecx, dword [r15 + 0x20]
lea eax, [rcx + rdi]
cmp qword [r15], 0
je 0x140032035
mov rdx, qword [rsp + 0x40]
cmp eax, dword [rdx]
jbe 0x14003215d
mov rax, qword [rsp + 0x38]
mov byte [rax], 0
add dword [r12], edi
jmp 0x14003193d
cmp qword [rsp + 0x58], 0
je case.0x1400334fa.1
call fcn.140033c00
lea rsi, [0x140041fd0]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 8]
mov ebx, dword [rax + 8]
add rbx, qword [rax]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, 0x80000000
cmp rbx, rax
ja case.0x1400334fa.1
mov rsi, rdi
mov eax, dword [r12]
mov byte [rsp + 0x57], 1
cmp eax, 9
ja 0x140031a86
jmp case.0x1400334fa.1
mov eax, dword [r15 + 0x20]
lea edx, [rax + 1]
cmp qword [r15], 0
je 0x1400320d0
mov rbx, qword [rsp + 0x40]
cmp edx, dword [rbx]
jbe 0x1400321ed
mov rax, qword [rsp + 0x38]
mov byte [rax], 0
jmp 0x1400320d7
mov eax, dword [r15 + 0x20]
lea edx, [rax + 1]
cmp qword [r15], 0
je 0x14003210d
mov rbx, qword [rsp + 0x40]
cmp edx, dword [rbx]
jbe 0x140032208
mov rax, qword [rsp + 0x38]
mov byte [rax], 0
jmp 0x140032114
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
jmp 0x140031869
mov rax, qword [rsp + 0x38]
mov byte [rax], 0
jmp 0x140031869
cmp byte [rax + rdi + 1], 0xc0
jb case.0x1400334fa.1
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 2]
cmp qword [r15], 0
je 0x140032cb0
mov rcx, qword [rsp + 0x40]
cmp ebp, dword [rcx]
ja 0x14003214b
mov rcx, qword [rsp + 0x48]
mov rbp, qword [rcx]
movzx eax, word [rax + rdi]
jmp 0x140032230
cmp cl, 0xfe
jg 0x1400321a0
cmp cl, 0x8d
je 0x1400325d8
cmp cl, 0xc7
jne case.0x1400334fa.1
cmp byte [rax + rdi + 1], 0x44
jne case.0x1400334fa.1
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 8]
cmp qword [r15], 0
je 0x140032c36
mov rcx, qword [rsp + 0x40]
cmp ebp, dword [rcx]
jbe 0x140032cc1
mov rax, qword [rsp + 0x38]
mov byte [rax], 0
add dword [r12], 8
jmp 0x14003193d
cmp eax, 0xfffffffe
jne case.0x1400334fa.1
mov eax, dword [r12]
lea ecx, [rax + 2]
mov dword [r12], ecx
mov rdx, qword [r13]
lea rbp, [rdx + rcx]
movsxd rcx, dword [rdx + rcx]
add rcx, rbp
add rcx, 4
add eax, 6
mov dword [r12], eax
mov bl, byte [rsp + 0x98]
test bl, bl
je 0x1400324eb
cmp qword [r15], 0
mov eax, dword [r15 + 0x20]
je 0x1400326a6
mov rdx, qword [rsp + 0x40]
mov edx, dword [rdx]
cmp eax, edx
jae 0x140032747
add bl, 0xb8
mov rdx, qword [r15 + 0x10]
mov byte [rdx + rax], bl
mov ebp, dword [r15 + 0x20]
lea eax, [rbp + 1]
mov dword [r15 + 0x20], eax
add ebp, 9
cmp qword [r15], 0
je 0x1400326b5
mov rdx, qword [rsp + 0x40]
mov edx, dword [rdx]
cmp ebp, edx
ja 0x14003275b
mov rdx, qword [r15 + 0x10]
mov eax, eax
mov qword [rdx + rax], rcx
mov eax, dword [r15 + 0x20]
add eax, 8
mov dword [r15 + 0x20], eax
cmp qword [r15], 0
je 0x1400326be
mov rcx, qword [rsp + 0x40]
mov edx, dword [rcx]
cmp eax, edx
jb 0x14003276b
mov rcx, qword [rsp + 0x38]
mov byte [rcx], 0
cmp eax, edx
jae 0x140032799
mov rcx, qword [r15 + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x8b
mov eax, dword [r15 + 0x20]
add eax, 1
mov dword [r15 + 0x20], eax
cmp qword [r15], 0
je 0x1400326d2
mov dl, byte [rsp + 0x98]
lea ecx, [rdx*8]
or cl, dl
mov rdx, qword [rsp + 0x40]
mov edx, dword [rdx]
cmp eax, edx
jae 0x140032a11
jmp 0x1400327bb
mov rbx, qword [rsp + 0x40]
cmp edx, dword [rbx]
jbe 0x140032247
mov rax, qword [rsp + 0x38]
mov byte [rax], 0
jmp 0x140031d67
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
add dword [r12], edi
jmp 0x14003193d
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
mov edx, dword [r12]
lea eax, [rdx + 1]
mov dword [r12], eax
mov rcx, qword [r13]
mov bl, byte [rcx + rax]
cmp bl, 0xf
jle 0x140032097
cmp bl, 0x1f
jne 0x14003253d
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 1]
cmp qword [r15], 0
je 0x1400326e1
mov rbx, qword [rsp + 0x40]
cmp ebp, dword [rbx]
jbe 0x140032824
mov rax, qword [rsp + 0x38]
mov byte [rax], 0
jmp 0x1400326e8
cmp bl, 5
jne 0x140032579
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 1]
cmp qword [r15], 0
je 0x140032736
mov rbx, qword [rsp + 0x40]
cmp ebp, dword [rbx]
jbe 0x140032841
mov rax, qword [rsp + 0x38]
mov byte [rax], 0
add dword [r12], 1
jmp 0x14003193d
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
mov eax, dword [r12]
add eax, 1
mov dword [r12], eax
mov rcx, qword [r13]
cmp byte [rcx + rax], 0x89
jne case.0x1400334fa.1
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 1]
cmp qword [r15], 0
jne 0x140032c62
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
jmp 0x140031d67
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
mov eax, dword [r12]
add eax, 1
mov dword [r12], eax
mov rcx, qword [r13]
cmp byte [rcx + rax], 0x33
jne case.0x1400334fa.1
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 2]
cmp qword [r15], 0
je 0x140032cb0
mov rbx, qword [rsp + 0x40]
cmp ebp, dword [rbx]
jbe 0x140032223
mov rax, qword [rsp + 0x38]
mov byte [rax], 0
add dword [r12], 2
jmp 0x14003193d
mov edx, dword [r12]
add rdx, qword [r13]
mov r8d, edi
mov rax, qword [rsp + 0x48]
add rcx, qword [rax]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x30]
add dword [rax], edi
add dword [r12], edi
jmp 0x14003193d
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov cl, byte [rcx + rbp]
mov byte [rdx + rax], cl
mov rax, qword [rsp + 0x30]
add dword [rax], 1
jmp 0x14003204c
cmp cl, 0xff
je 0x140032655
cmp cl, 0x63
jne case.0x1400334fa.1
cmp byte [rax + rdi + 1], 0xc0
jb case.0x1400334fa.1
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 2]
cmp qword [r15], 0
je 0x140032cb0
mov rcx, qword [rsp + 0x40]
cmp ebp, dword [rcx]
ja 0x14003214b
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
movzx eax, word [rax + rdi]
mov word [rcx + rdx], ax
jmp 0x140032235
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov cl, byte [rcx + rbp]
mov byte [rdx + rax], cl
mov rax, qword [rsp + 0x30]
add dword [rax], 1
jmp 0x1400320d7
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov cl, byte [rcx + rbp]
mov byte [rdx + rax], cl
mov rax, qword [rsp + 0x30]
add dword [rax], 1
jmp 0x140032114
mov rbp, qword [rsp + 0x48]
mov rbp, qword [rbp]
movzx eax, word [rcx + rax]
mov word [rbp + rdx], ax
mov rax, qword [rsp + 0x30]
add dword [rax], 2
add dword [r12], 2
jmp 0x14003193d
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov cl, byte [rcx + rbp]
mov byte [rdx + rax], cl
mov rax, qword [rsp + 0x30]
add dword [rax], 1
jmp 0x140031d67
mov rax, qword [rsp + 0x38]
mov byte [rax], 0
add dword [r12], 1
jmp 0x140031942
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
jmp 0x1400316ee
mov byte [r15 + 0x2c], 0
cmp qword [r15 + 0x10], 0
jne 0x1400316cd
jmp 0x140031bf6
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
jmp 0x14003175b
mov byte [r15 + 0x2c], 0
cmp qword [r15 + 0x10], 0
jne 0x14003173a
jmp case.0x1400334fa.1
mov r8d, 0xa
jmp 0x1400317a1
call fcn.140033c00
lea rbx, [0x140041fd0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 8]
lea rdx, [rsp + 0x98]
call fcn.1400347b0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [rsp + 0xc8], 0
je 0x140031bbe
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x70], eax
movups xmm0, xmmword [rsp + 0xa8]
movups xmmword [rsp + 0x78], xmm0
mov eax, dword [rsp + 0xb8]
mov dword [rsp + 0x88], eax
mov rax, qword [rsp + 0xbc]
mov qword [rsp + 0x8c], rax
mov al, byte [rsp + 0xc4]
mov byte [rsp + 0x94], al
mov dword [rsp + 0xa0], 0
mov byte [rsp + 0xc4], 0
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_EncodePointer]
mov ecx, dword [rsp + 0x88]
lea edx, [rcx + 8]
cmp qword [rsp + 0x68], 0
jne 0x140032a1e
mov dword [rsp + 0x88], edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EncodePointer]
mov ecx, dword [rsp + 0x88]
lea ebp, [rcx + 8]
cmp qword [rsp + 0x68], 0
jne 0x140032a38
mov dword [rsp + 0x88], ebp
mov dword [rsp + 0x8c], ebp
add ebp, 1
mov dword [rsp + 0x88], ebp
mov ecx, ebp
lea eax, [rcx + 1]
mov dword [rsp + 0x88], eax
add ecx, 9
mov eax, ecx
mov dword [rsp + 0x88], eax
mov ecx, eax
add ecx, 1
mov dword [rsp + 0x88], ecx
add ecx, 1
mov dword [rsp + 0x88], ecx
add ecx, 1
mov dword [rsp + 0x88], ecx
mov ebp, 1
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x140032440
mov r8d, dword [rsp + 0x70]
test r8d, r8d
je 0x140032440
lea rbx, [rsp + 0x70]
mov edx, dword [rsp + 0x90]
mov r9, rbx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov dword [rsp + 0x70], 0
mov byte [rsp + 0x94], 0
xorps xmm0, xmm0
movups xmmword [rbx + 8], xmm0
cmp byte [rsp + 0xc8], 0
je 0x14003249e
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x140032496
mov r8d, dword [rsp + 0xa0]
test r8d, r8d
je 0x140032496
lea rbx, [rsp + 0xa0]
mov edx, dword [rsp + 0xc0]
mov r9, rbx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov dword [rsp + 0xa0], 0
mov byte [rsp + 0xc4], 0
xorps xmm0, xmm0
movups xmmword [rbx + 8], xmm0
mov byte [rsp + 0xc8], 0
test ebp, ebp
je 0x140031ba2
jmp 0x140031bbe
call qword [sym.imp.mozglue.dll_free]
jmp case.0x1400334fa.1
mov dword [r15 + 0x20], 0
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_EncodePointer]
mov ecx, dword [r15 + 0x20]
lea edx, [rcx + 8]
cmp qword [r15], 0
je 0x14003288e
cmp edx, dword [r15 + 0x28]
jbe 0x14003291b
mov byte [r15 + 0x2c], 0
jmp 0x140031bf6
cmp qword [r15], 0
mov eax, dword [r15 + 0x20]
je 0x14003289a
mov rdx, qword [rsp + 0x40]
mov ebp, dword [rdx]
cmp eax, ebp
jae 0x1400329fe
mov rdx, qword [r15 + 0x10]
mov byte [rdx + rax], 0xa1
mov edx, dword [r15 + 0x20]
lea eax, [rdx + 1]
mov dword [r15 + 0x20], eax
add edx, 9
cmp qword [r15], 0
je 0x1400328a9
mov rbp, qword [rsp + 0x40]
mov ebp, dword [rbp]
cmp edx, ebp
jbe 0x140032bec
jmp 0x140032a11
add bl, 0xf0
cmp bl, 2
jae case.0x1400334fa.1
jmp 0x1400320f0
mov eax, dword [r15 + 0x20]
lea edx, [rax + 1]
cmp qword [r15], 0
je 0x14003292d
mov rbx, qword [rsp + 0x40]
cmp edx, dword [rbx]
jbe 0x140032bd1
mov rax, qword [rsp + 0x38]
mov byte [rax], 0
jmp 0x140032934
cmp bl, 0x84
jne case.0x1400334fa.1
add edx, 2
mov dword [r12], edx
add dword [r15 + 0x20], 0xffffffff
mov eax, dword [r12]
mov rcx, qword [r13]
lea rdx, [rcx + rax]
movsxd rcx, dword [rcx + rax]
lea rdx, [rcx + rdx + 4]
add eax, 4
mov dword [r12], eax
mov rcx, r15
xor r8d, r8d
call fcn.140034b10
mov r8d, dword [rsp + 0x2c]
test al, al
jne 0x140031942
jmp case.0x1400334fa.1
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
add dword [r12], 1
jmp 0x140031942
mov bl, byte [rax + rdi + 1]
mov ecx, ebx
and cl, 0xc7
cmp cl, 5
jne 0x14003311e
lea ecx, [rdx + 3]
mov dword [r12], ecx
movsxd r8, dword [rax + rcx]
add edx, 7
mov dword [r12], edx
cmp qword [r15], 0
mov edx, dword [r15 + 0x20]
je 0x140032c47
mov rbp, qword [rsp + 0x40]
mov ebp, dword [rbp]
cmp edx, ebp
jae 0x140032ce3
shr bl, 3
or bl, 0xb8
mov rbp, qword [r15 + 0x10]
mov byte [rbp + rdx], bl
mov ebx, dword [r15 + 0x20]
lea edx, [rbx + 1]
mov dword [r15 + 0x20], edx
add ebx, 9
cmp qword [r15], 0
je 0x140032c56
mov rbp, qword [rsp + 0x40]
mov ebp, dword [rbp]
cmp ebx, ebp
ja 0x140032a11
jmp 0x140032cf6
mov al, byte [rax + rdi + 1]
and al, 0xc7
cmp al, 5
jne case.0x1400334fa.1
add edx, 3
mov dword [r12], edx
add dword [r15 + 0x20], 0xffffffff
mov eax, dword [r12]
mov rcx, qword [r13]
lea rdx, [rcx + rax]
movsxd rcx, dword [rcx + rax]
lea eax, [rax + 4]
mov dword [r12], eax
mov rdx, qword [rcx + rdx + 4]
mov rcx, r15
mov r8d, 2
call fcn.140034b10
mov r8d, dword [rsp + 0x2c]
mov sil, 1
jmp 0x1400325ba
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x30]
mov dword [rdx], ecx
add eax, 9
mov ebp, eax
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
mov eax, ebp
add eax, 1
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
add eax, 1
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
add eax, 1
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
jmp 0x14003193d
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
mov ecx, dword [r12]
add ecx, 1
mov dword [r12], ecx
mov rax, qword [r13]
mov dl, byte [rax + rcx]
and dl, 0xc7
cmp dl, 0x44
jne case.0x1400334fa.1
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 3]
cmp qword [r15], 0
je 0x140032dc7
mov rbx, qword [rsp + 0x40]
cmp ebp, dword [rbx]
jbe 0x140032863
mov rax, qword [rsp + 0x38]
mov byte [rax], 0
add dword [r12], 3
jmp 0x14003193d
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
add dword [r12], 1
jmp 0x14003193d
mov rbp, qword [rsp + 0x38]
mov byte [rbp], 0
lea ebp, [rax + 8]
cmp ebp, edx
jbe 0x140031f9a
mov rcx, qword [rsp + 0x38]
mov byte [rcx], 0
cmp eax, edx
jae 0x140031fc8
mov rcx, qword [r15 + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x48
mov eax, dword [r15 + 0x20]
add eax, 1
mov dword [r15 + 0x20], eax
cmp qword [r15], 0
je 0x1400326c8
mov rcx, qword [rsp + 0x40]
mov edx, dword [rcx]
cmp eax, edx
jb 0x140031fd8
mov rcx, qword [rsp + 0x38]
mov byte [rcx], 0
mov bpl, byte [rsp + 0x98]
lea ecx, [rbp*8]
or cl, bpl
cmp eax, edx
jae 0x140032a11
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov eax, eax
mov byte [rdx + rax], cl
mov rax, qword [rsp + 0x30]
add dword [rax], 1
jmp 0x14003193d
cmp dl, 0xc0
jne 0x140032c07
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 3]
cmp qword [r15], 0
je 0x140032dc7
mov rcx, qword [rsp + 0x40]
cmp ebp, dword [rcx]
ja 0x140032724
add rax, rdi
jmp 0x140032866
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
add dword [r12], 3
jmp 0x140031942
mov rax, qword [rsp + 0x38]
mov byte [rax], 0
add dword [r12], 3
jmp 0x140031942
mov rbp, qword [rsp + 0x48]
mov rbp, qword [rbp]
mov al, byte [rcx + rax]
mov byte [rbp + rdx], al
mov rax, qword [rsp + 0x30]
add dword [rax], 1
jmp 0x1400326e8
mov rbp, qword [rsp + 0x48]
mov rbp, qword [rbp]
mov al, byte [rcx + rax]
mov byte [rbp + rdx], al
mov rax, qword [rsp + 0x30]
add dword [rax], 1
add dword [r12], 1
jmp 0x14003193d
add rax, rcx
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov bl, byte [rax + 2]
mov byte [rcx + rdx + 2], bl
movzx eax, word [rax]
mov word [rcx + rdx], ax
mov rax, qword [rsp + 0x30]
add dword [rax], 3
add dword [r12], 3
jmp 0x14003193d
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
jmp 0x140031bf6
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x30]
mov dword [rdx], ecx
add eax, 9
mov edx, eax
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
jmp 0x14003193d
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
jmp 0x140031a31
mov rax, qword [rsp + 0x38]
mov byte [rax], 0
jmp 0x140031a31
and bl, 0xf8
cmp bl, 0xb8
jne case.0x1400334fa.1
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 5]
cmp qword [r15], 0
je 0x140032d13
mov rbx, qword [rsp + 0x40]
cmp ebp, dword [rbx]
jbe 0x140032d6e
mov rax, qword [rsp + 0x38]
mov byte [rax], 0
add dword [r12], 5
jmp 0x14003193d
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
add dword [r12], 1
jmp 0x140031942
mov rdx, qword [r15 + 0x10]
mov qword [rdx + rcx], rax
add dword [r15 + 0x20], 8
jmp 0x140031bf6
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
mov ecx, dword [r12]
add ecx, 1
mov dword [r12], ecx
mov rax, qword [r13]
mov bl, byte [rax + rcx]
mov edx, ebx
and dl, 0xfc
cmp dl, 0x88
jne 0x1400329c8
movzx ebx, byte [rax + rcx + 1]
mov edx, ebx
and edx, 0xffffffc0
cmp dl, 0xc0
je 0x140032c84
cmp dl, 0x40
je 0x140032987
test dl, dl
jne case.0x1400334fa.1
mov ebp, ebx
and ebp, 6
cmp ebp, 4
jne 0x140032c84
cmp edx, 0x40
jne case.0x1400334fa.1
and ebx, 7
add rax, rcx
mov rdx, qword [r15]
mov ecx, dword [r15 + 0x20]
cmp ebx, 4
jne 0x140032d97
lea ebp, [rcx + 4]
test rdx, rdx
je 0x140033180
mov rdx, qword [rsp + 0x40]
cmp ebp, dword [rdx]
jbe 0x140033351
mov rax, qword [rsp + 0x38]
mov byte [rax], 0
add dword [r12], 4
jmp 0x14003193d
cmp bl, 0x44
jne 0x14003193d
cmp byte [rax + rcx + 1], 0x89
jne 0x14003193d
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 2]
cmp qword [r15], 0
jne 0x140033566
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
add dword [r14 + 0x10], 2
jmp 0x140031d6c
mov rdx, qword [rsp + 0x38]
mov byte [rdx], 0
lea edx, [rax + 8]
cmp edx, ebp
jbe 0x140032bec
mov rax, qword [rsp + 0x38]
mov byte [rax], 0
jmp 0x14003193d
cmp edx, dword [rsp + 0x90]
jbe 0x140032d24
mov byte [rsp + 0x94], 0
jmp 0x14003238c
mov edx, dword [rsp + 0x90]
cmp ebp, edx
jbe 0x140032d3a
mov byte [rsp + 0x94], 0
mov dword [rsp + 0x8c], ecx
cmp ecx, edx
jae 0x140032f6e
mov rax, qword [rsp + 0x78]
mov ecx, ecx
mov byte [rax + rcx], 0x49
mov ecx, dword [rsp + 0x88]
add ecx, 1
mov dword [rsp + 0x88], ecx
cmp qword [rsp + 0x68], 0
je 0x1400323c5
mov edx, dword [rsp + 0x90]
cmp ecx, edx
jb 0x140032f7e
mov byte [rsp + 0x94], 0
lea eax, [rcx + 8]
cmp eax, edx
jbe 0x140032fb8
mov byte [rsp + 0x94], 0
cmp ecx, edx
jae 0x140032ff7
mov rax, qword [rsp + 0x78]
mov ecx, ecx
mov byte [rax + rcx], 0x41
mov ecx, dword [rsp + 0x88]
add ecx, 1
mov dword [rsp + 0x88], ecx
cmp qword [rsp + 0x68], 0
je 0x1400323e7
mov edx, dword [rsp + 0x90]
cmp ecx, edx
jb 0x140033007
mov byte [rsp + 0x94], 0
cmp ecx, edx
jae 0x14003303e
mov rax, qword [rsp + 0x78]
mov ecx, ecx
mov byte [rax + rcx], 0xe3
add dword [rsp + 0x88], 1
cmp qword [rsp + 0x68], 0
mov ebp, 1
je 0x140032400
cmp byte [rsp + 0x94], 0
je 0x140032400
mov ebx, dword [rsp + 0x8c]
add rbx, qword [rsp + 0x80]
je 0x140032400
mov byte [rsp + 0x67], 0xb8
lea rsi, [rsp + 0xd0]
lea rdx, [rsp + 0x67]
mov rcx, rsi
call fcn.140035040
and ebx, 0x7fffffff
mov rcx, rsi
mov edx, ebx
call fcn.140035090
mov byte [rsp + 0x67], 0x48
lea rdx, [rsp + 0x67]
mov rcx, rsi
call fcn.140035040
mov byte [rsp + 0x67], 0x63
lea rdx, [rsp + 0x67]
mov rcx, rsi
call fcn.140035040
mov byte [rsp + 0x67], 0xc0
lea rdx, [rsp + 0x67]
mov rcx, rsi
call fcn.140035040
mov byte [rsp + 0x67], 0xff
lea rdx, [rsp + 0x67]
mov rcx, rsi
call fcn.140035040
mov byte [rsp + 0x67], 0xe0
lea rdx, [rsp + 0x67]
mov rcx, rsi
call fcn.140035040
xor ebp, ebp
jmp 0x140032400
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov cl, byte [rcx + rbp]
mov byte [rdx + rax], cl
mov rax, qword [rsp + 0x30]
add dword [rax], 1
jmp 0x140032934
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov eax, eax
mov qword [rdx + rax], rcx
mov rax, qword [rsp + 0x30]
add dword [rax], 8
jmp 0x14003193d
cmp dl, 0x60
jne case.0x1400334fa.1
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 5]
cmp qword [r15], 0
je 0x140032d13
mov rcx, qword [rsp + 0x40]
cmp ebp, dword [rcx]
ja 0x1400328f8
add rax, rdi
jmp 0x140032d71
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
add dword [r12], 8
jmp 0x14003193d
lea eax, [rdx + 1]
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
add edx, 9
mov ebx, edx
mov rax, qword [rsp + 0x30]
mov dword [rax], ebx
jmp 0x14003193d
mov rbx, qword [rsp + 0x40]
cmp ebp, dword [rbx]
ja 0x140032028
mov rbp, qword [rsp + 0x48]
mov rbp, qword [rbp]
mov al, byte [rcx + rax]
mov byte [rbp + rdx], al
jmp 0x140032255
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 2]
cmp qword [r15], 0
je 0x140032cb0
mov rbx, qword [rsp + 0x40]
cmp ebp, dword [rbx]
ja 0x14003214b
mov rbp, qword [rsp + 0x48]
mov rbp, qword [rbp]
movzx eax, word [rax + rcx]
jmp 0x140032230
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
add dword [r12], 2
jmp 0x14003193d
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov rax, qword [rax + rdi]
mov qword [rcx + rdx], rax
mov rax, qword [rsp + 0x30]
add dword [rax], 8
add dword [r12], 8
jmp 0x14003193d
mov rbx, qword [rsp + 0x38]
mov byte [rbx], 0
lea ebx, [rdx + 8]
cmp ebx, ebp
ja 0x140032a11
add rax, rcx
add rax, r8
add rax, 4
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov edx, edx
mov qword [rcx + rdx], rax
jmp 0x140032bfa
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
add dword [r12], 5
jmp 0x14003193d
mov rdx, qword [rsp + 0x78]
mov qword [rdx + rcx], rax
add dword [rsp + 0x88], 8
jmp 0x14003238c
mov rdx, qword [rsp + 0x78]
mov qword [rdx + rcx], rax
mov ecx, dword [rsp + 0x88]
add ecx, 8
mov dword [rsp + 0x88], ecx
mov dword [rsp + 0x8c], ecx
cmp qword [rsp + 0x68], 0
jne 0x140032f5f
mov ebp, ecx
jmp 0x1400323b9
add rax, rcx
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov bl, byte [rax + 4]
mov byte [rcx + rdx + 4], bl
mov eax, dword [rax]
mov dword [rcx + rdx], eax
mov rax, qword [rsp + 0x30]
add dword [rax], 5
add dword [r12], 5
jmp 0x14003193d
lea ebp, [rcx + 3]
test rdx, rdx
je 0x140032dc7
mov rdx, qword [rsp + 0x40]
cmp ebp, dword [rdx]
ja 0x140032724
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov bl, byte [rax + 2]
mov byte [rdx + rcx + 2], bl
movzx eax, word [rax]
mov word [rdx + rcx], ax
jmp 0x14003287c
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
add dword [r12], 3
jmp 0x14003193d
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
add dword [r12], 6
jmp 0x140031942
mov rax, qword [rsp + 0x38]
mov byte [rax], 0
add dword [r12], 6
jmp 0x140031942
cmp byte [rcx + rbp + 1], 0x3d
jne case.0x1400334fa.1
add ebp, 2
mov dword [r12], ebp
cmp qword [r15], 0
mov eax, dword [r15 + 0x20]
je 0x140033191
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x140033370
mov rcx, qword [r15 + 0x10]
mov byte [rcx + rax], 0x49
mov eax, dword [r15 + 0x20]
add eax, 1
mov dword [r15 + 0x20], eax
cmp qword [r15], 0
je 0x14003319b
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx]
cmp eax, ecx
jb 0x140033380
mov rax, qword [rsp + 0x38]
mov byte [rax], 0
jmp 0x1400331a5
cmp byte [rcx + rbp + 1], 0x48
jne case.0x1400334fa.1
mov al, byte [rcx + rbp + 2]
and al, 0xfc
cmp al, 0x88
jne case.0x1400334fa.1
mov eax, dword [r15 + 0x20]
lea edx, [rax + 3]
cmp qword [r15], 0
jne 0x1400336df
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
add dword [r14 + 0x10], 3
jmp 0x140031d6c
cmp dl, 0xc2
jg 0x14003304b
cmp dl, 0x83
jne 0x14003349e
mov al, byte [rcx + rbp + 1]
and al, 0xf8
cmp al, 0x60
jne case.0x1400334fa.1
mov eax, dword [r15 + 0x20]
lea edx, [rax + 5]
cmp qword [r15], 0
je 0x14003310d
mov rbx, qword [rsp + 0x40]
cmp edx, dword [rbx]
ja 0x1400328f8
add rcx, rbp
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov bl, byte [rcx + 4]
mov byte [rdx + rax + 4], bl
mov ecx, dword [rcx]
mov dword [rdx + rax], ecx
jmp 0x140032d85
cmp al, 0x25
je 0x140033585
cmp dl, 0xd0
jne 0x140033097
mov eax, dword [r15 + 0x20]
lea edx, [rax + 2]
cmp qword [r15], 0
je 0x14003353a
mov rbx, qword [rsp + 0x40]
cmp edx, dword [rbx]
ja 0x14003214b
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
movzx ecx, word [rcx + rbp]
mov word [rdx + rax], cx
jmp 0x140032235
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
add dword [r12], 2
jmp 0x140031942
mov rax, qword [rsp + 0x38]
mov byte [rax], 0
add dword [r12], 2
jmp 0x140031942
mov edx, dword [rsp + 0x90]
cmp ecx, edx
jb 0x140032a5e
mov byte [rsp + 0x94], 0
cmp ecx, edx
jae 0x140032a95
mov rax, qword [rsp + 0x78]
mov ecx, ecx
mov byte [rax + rcx], 0xbb
mov eax, dword [rsp + 0x88]
lea ecx, [rax + 1]
mov dword [rsp + 0x88], ecx
add eax, 9
cmp qword [rsp + 0x68], 0
je 0x1400323d4
mov edx, dword [rsp + 0x90]
cmp eax, edx
ja 0x140032aa8
mov rax, qword [rsp + 0x78]
mov ecx, ecx
mov rdx, qword [rsp + 0x1e0]
mov qword [rax + rcx], rdx
mov ecx, dword [rsp + 0x88]
add ecx, 8
mov dword [rsp + 0x88], ecx
cmp qword [rsp + 0x68], 0
je 0x1400323dd
mov edx, dword [rsp + 0x90]
cmp ecx, edx
jb 0x140032ab8
mov byte [rsp + 0x94], 0
cmp ecx, edx
jae 0x140032aef
mov rax, qword [rsp + 0x78]
mov ecx, ecx
mov byte [rax + rcx], 0xff
mov ecx, dword [rsp + 0x88]
add ecx, 1
mov dword [rsp + 0x88], ecx
cmp qword [rsp + 0x68], 0
je 0x1400323f1
mov edx, dword [rsp + 0x90]
cmp ecx, edx
jb 0x140032aff
mov byte [rsp + 0x94], 0
jmp 0x1400323fb
lea eax, [rdx + 0x3d]
cmp al, 0x33
jbe 0x1400334e9
lea eax, [rdx - 0x74]
cmp al, 2
jae 0x140033558
movzx eax, byte [rcx + rbp + 1]
xor r8d, r8d
cmp dl, 0x75
sete r8b
lea edx, [rbp + 2]
mov dword [r12], edx
add rdx, rcx
add rdx, rax
mov rcx, r15
call fcn.140034b10
test al, al
mov r8d, dword [rsp + 0x2c]
jne 0x140031942
jmp case.0x1400334fa.1
and al, 0x38
cmp al, 0x20
jne case.0x1400334fa.1
mov rax, qword [r14]
mov qword [rsp + 0xd0], rax
lea rax, [rcx + rbp]
add rax, 1
mov qword [rsp + 0xd8], rax
mov dword [rsp + 0xe0], 0
lea rcx, [rsp + 0xd0]
xor edx, edx
call fcn.140034a80
test eax, eax
js case.0x1400334fa.1
lea ebx, [rax + 1]
cmp qword [r15], 0
mov ecx, dword [r15 + 0x20]
lea eax, [rcx + rax + 1]
je 0x140033725
mov rdx, qword [rsp + 0x40]
cmp eax, dword [rdx]
jbe 0x14003372e
mov rax, qword [rsp + 0x38]
mov byte [rax], 0
jmp 0x14003374d
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
add dword [r12], 5
jmp 0x14003193d
add edx, 2
mov rcx, qword [r14]
mov qword [rsp + 0xd0], rcx
add rax, rdx
mov qword [rsp + 0xd8], rax
mov dword [rsp + 0xe0], 0
lea rcx, [rsp + 0xd0]
xor edx, edx
call fcn.140034a80
lea ebx, [rax + 1]
cmp qword [r15], 0
mov ecx, dword [r15 + 0x20]
lea eax, [rcx + rax + 1]
je 0x1400336af
mov rdx, qword [rsp + 0x40]
cmp eax, dword [rdx]
jbe 0x14003354b
mov rax, qword [rsp + 0x38]
mov byte [rax], 0
jmp 0x140031939
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
add dword [r12], 4
jmp 0x14003193d
add eax, 1
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
add eax, 1
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
mov edx, dword [r12]
mov rbp, qword [r13]
movsxd r8, dword [rbp + rdx]
lea eax, [rdx + 4]
mov dword [r12], eax
cmp qword [r15], 0
mov eax, dword [r15 + 0x20]
je 0x1400332b2
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x14003339b
mov rcx, qword [r15 + 0x10]
mov byte [rcx + rax], 0x49
mov eax, dword [r15 + 0x20]
add eax, 1
mov dword [r15 + 0x20], eax
cmp qword [r15], 0
je 0x1400332bc
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx]
cmp eax, ecx
jb 0x1400333ab
mov rbx, qword [rsp + 0x38]
mov byte [rbx], 0
lea ebx, [rax + 8]
cmp ebx, ecx
jbe 0x1400333dc
mov rdx, qword [rsp + 0x38]
mov byte [rdx], 0
cmp eax, ecx
jae 0x140033415
mov rcx, qword [r15 + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x41
mov eax, dword [r15 + 0x20]
add eax, 1
mov dword [r15 + 0x20], eax
cmp qword [r15], 0
je 0x1400332de
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx]
cmp eax, ecx
jb 0x140033425
mov rdx, qword [rsp + 0x38]
mov byte [rdx], 0
cmp eax, ecx
jae 0x140033453
mov rcx, qword [r15 + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x3b
mov edx, dword [r15 + 0x20]
lea eax, [rdx + 1]
mov dword [r15 + 0x20], eax
add edx, 2
cmp qword [r15], 0
je 0x1400332f7
mov ebp, dword [r12]
add rbp, qword [r13]
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx]
cmp edx, ecx
ja 0x14003346e
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov eax, eax
mov dl, byte [rbp]
mov byte [rcx + rax], dl
mov rax, qword [rsp + 0x30]
add dword [rax], 1
jmp 0x1400332fe
add eax, 1
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x30]
mov dword [rdx], ecx
add eax, 9
mov ebx, eax
mov rax, qword [rsp + 0x30]
mov dword [rax], ebx
mov eax, ebx
add eax, 1
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
add eax, 1
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x30]
mov dword [rdx], ecx
add eax, 2
mov edx, eax
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
add dword [r12], 1
cmp qword [r15], 0
mov eax, dword [r15 + 0x20]
je 0x1400326c8
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x14003347b
mov rcx, qword [r15 + 0x10]
mov byte [rcx + rax], 0x49
mov eax, dword [r15 + 0x20]
add eax, 1
mov dword [r15 + 0x20], eax
cmp qword [r15], 0
je 0x1400326d2
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x140032a11
jmp 0x14003348b
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov eax, dword [rax]
mov dword [rdx + rcx], eax
mov rax, qword [rsp + 0x30]
add dword [rax], 4
add dword [r12], 4
jmp 0x14003193d
mov rdx, qword [rsp + 0x38]
mov byte [rdx], 0
cmp eax, ecx
jae 0x140032e56
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov eax, eax
mov byte [rcx + rax], 0x53
mov rax, qword [rsp + 0x30]
add dword [rax], 1
jmp 0x1400331a5
mov rbx, qword [rsp + 0x38]
mov byte [rbx], 0
cmp eax, ecx
jae 0x140033202
mov rcx, qword [r15 + 0x10]
mov eax, eax
mov byte [rcx + rax], 0xbb
mov ebx, dword [r15 + 0x20]
lea eax, [rbx + 1]
mov dword [r15 + 0x20], eax
add ebx, 9
cmp qword [r15], 0
je 0x1400332cb
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx]
cmp ebx, ecx
ja 0x140033215
add rbp, rdx
lea rcx, [r8 + rbp]
add rcx, 4
mov rdx, qword [r15 + 0x10]
mov eax, eax
mov qword [rdx + rax], rcx
mov eax, dword [r15 + 0x20]
add eax, 8
mov dword [r15 + 0x20], eax
cmp qword [r15], 0
je 0x1400332d4
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx]
cmp eax, ecx
jb 0x140033225
mov rdx, qword [rsp + 0x38]
mov byte [rdx], 0
cmp eax, ecx
jae 0x140033253
mov rcx, qword [r15 + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x80
mov eax, dword [r15 + 0x20]
add eax, 1
mov dword [r15 + 0x20], eax
cmp qword [r15], 0
je 0x1400332e8
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx]
cmp eax, ecx
jb 0x140033263
mov rdx, qword [rsp + 0x38]
mov byte [rdx], 0
mov ebp, dword [r12]
add rbp, qword [r13]
lea edx, [rax + 1]
cmp edx, ecx
jbe 0x140033298
mov rax, qword [rsp + 0x38]
mov byte [rax], 0
jmp 0x1400332fe
mov rdx, qword [rsp + 0x38]
mov byte [rdx], 0
cmp eax, ecx
jae 0x140032a11
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov eax, eax
mov byte [rcx + rax], 0x5b
jmp 0x1400327c8
cmp dl, 0x85
jne case.0x1400334fa.1
mov rax, qword [r14]
mov qword [rsp + 0xd0], rax
lea rax, [rcx + rbp]
add rax, 1
mov qword [rsp + 0xd8], rax
mov dword [rsp + 0xe0], 0
lea rcx, [rsp + 0xd0]
xor edx, edx
call fcn.140034a80
test eax, eax
jns 0x1400318f8
jmp case.0x1400334fa.1
movzx eax, al
lea rbx, [0x14003375c]
movsxd rax, dword [rbx + rax*4]
add rax, rbx
jmp rax
mov eax, dword [r15 + 0x20]
lea edx, [rax + 1]
cmp qword [r15], 0
je 0x140033529
mov rbx, qword [rsp + 0x40]
cmp edx, dword [rbx]
ja 0x1400320be
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov cl, byte [rcx + rbp]
mov byte [rdx + rax], cl
jmp 0x140032851
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
add dword [r12], 1
jmp 0x14003193d
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
add dword [r12], 2
jmp 0x14003193d
mov edx, dword [r14 + 0x10]
add rdx, qword [r14 + 8]
jmp 0x140031922
cmp dl, 0x33
jne case.0x1400334fa.1
jmp 0x140032f09
mov rbx, qword [rsp + 0x40]
cmp ebp, dword [rbx]
jbe 0x1400336bb
mov rax, qword [rsp + 0x38]
mov byte [rax], 0
add dword [r14 + 0x10], 2
jmp 0x140031d6c
lea eax, [rbp + 2]
mov dword [r12], eax
lea rdx, [rcx + rax]
movsxd rax, dword [rcx + rax]
add ebp, 6
mov dword [r12], ebp
mov rdx, qword [rax + rdx + 4]
mov rcx, r15
mov r8d, 2
call fcn.140034b10
mov sil, 1
jmp 0x140033085
mov rax, qword [r14]
mov qword [rsp + 0xd0], rax
lea rax, [rcx + rbp]
add rax, 1
mov qword [rsp + 0xd8], rax
mov dword [rsp + 0xe0], 0
lea rcx, [rsp + 0xd0]
xor edx, edx
call fcn.140034a80
test eax, eax
jns 0x14003369a
jmp case.0x1400334fa.1
cmp byte [rcx + rbp + 1], 0xc0
jae 0x140032f09
jmp case.0x1400334fa.1
xor esi, esi
cmp dl, 0xe9
sete sil
lea rax, [rbp + 1]
mov dword [r12], eax
mov r8d, esi
xor r8d, 3
lea rax, [rcx + rbp]
add rax, 1
movsxd rcx, dword [rcx + rbp + 1]
lea rdx, [rcx + rax + 4]
lea eax, [rbp + 5]
mov dword [r12], eax
mov rcx, r15
jmp 0x1400325b0
mov byte [rsp + 0x98], 0
mov rax, qword [r14]
mov qword [rsp + 0xd0], rax
lea rax, [rcx + rbp]
add rax, 1
mov qword [rsp + 0xd8], rax
mov dword [rsp + 0xe0], 0
lea rcx, [rsp + 0xd0]
lea rdx, [rsp + 0x98]
call fcn.140034a80
test eax, eax
js case.0x1400334fa.1
cmp byte [rsp + 0x98], 0
jne case.0x1400334fa.1
lea ebx, [rax + 2]
cmp qword [r15], 0
mov ecx, dword [r15 + 0x20]
lea eax, [rcx + rax + 2]
jne 0x14003190d
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
jmp 0x140031939
mov rbp, qword [rsp + 0x48]
mov rbp, qword [rbp]
movzx eax, word [rax + rcx]
mov word [rbp + rdx], ax
mov rax, qword [rsp + 0x30]
add dword [rax], 2
add dword [r14 + 0x10], 2
jmp 0x140031d6c
mov rbx, qword [rsp + 0x40]
cmp edx, dword [rbx]
jbe 0x1400336fa
mov rax, qword [rsp + 0x38]
mov byte [rax], 0
add dword [r14 + 0x10], 3
jmp 0x140031d6c
add rcx, rbp
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov bl, byte [rcx + 2]
mov byte [rdx + rax + 2], bl
movzx ecx, word [rcx]
mov word [rdx + rax], cx
mov rax, qword [rsp + 0x30]
add dword [rax], 3
add dword [r14 + 0x10], 3
jmp 0x140031d6c
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
jmp 0x14003374d
mov edx, dword [r12]
add rdx, qword [r13]
mov r8d, ebx
mov rax, qword [rsp + 0x48]
add rcx, qword [rax]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x30]
add dword [rax], ebx
add dword [r12], ebx
mov sil, 1
jmp 0x14003193d