Function at 0x140030f20
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 qword [rsp + 0x60], r8
mov r14, rdx
mov rdi, rcx
mov rcx, qword [rsp + 0x1e8]
mov rax, qword [0x14003f010]
xor rax, rsp
mov qword [rsp + 0x170], rax
mov qword [rcx], 0
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 0x140031b44
cmp edx, dword [r15 + 0x28]
ja 0x140031b50
mov rdx, qword [r15 + 0x10]
mov qword [rdx + rcx], rax
add dword [r15 + 0x20], 8
cmp qword [r15], 0
je 0x140030fce
cmp qword [r15 + 0x10], 0
je 0x1400314c6
cmp qword [r15 + 0x18], 0
je 0x1400314c6
cmp dword [r15 + 8], 0
je 0x1400314c6
cmp byte [r15 + 0x2c], 0
je 0x1400314c6
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
je 0x140031b65
cmp edx, dword [r15 + 0x28]
ja 0x140031b71
mov rdx, qword [r15 + 0x10]
mov qword [rdx + rcx], rax
add dword [r15 + 0x20], 8
cmp qword [r15], 0
je 0x140031036
cmp qword [r15 + 0x10], 0
je case.0x140032dca.1
cmp qword [r15 + 0x18], 0
je case.0x140032dca.1
cmp dword [r15 + 8], 0
je case.0x140032dca.1
cmp byte [r15 + 0x2c], 0
je case.0x140032dca.1
mov r8, qword [rsp + 0x1e0]
mov rcx, r15
mov rdx, r14
mov r9, qword [rsp + 0x1e8]
call fcn.1400341b0
test al, al
jne case.0x140032dca.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 + 0x5f], al
jne 0x140031b86
mov r8d, 0xd
lea r13, [r14 + 8]
mov eax, dword [r12]
cmp eax, r8d
jae 0x140031354
lea rcx, [r15 + 0x28]
mov qword [rsp + 0x48], rcx
lea rcx, [r15 + 0x10]
mov qword [rsp + 0x50], rcx
lea rcx, [r15 + 0x2c]
mov qword [rsp + 0x40], rcx
xor esi, esi
mov dword [rsp + 0x2c], r8d
nop
mov ebp, eax
mov rax, rbp
mov rcx, qword [r13]
movzx edx, byte [rcx + rax]
test sil, 1
jne 0x1400315c2
cmp dl, 0xf
je 0x1400315f4
mov eax, edx
and al, 0xfc
cmp al, 0x88
je 0x14003161f
lea eax, [rdx - 0x40]
cmp al, 2
jb 0x1400312cd
cmp dl, 0x44
je 0x1400316e0
cmp dl, 0x45
je 0x14003170b
mov eax, edx
and al, 0xfa
cmp al, 0x48
jne 0x140031224
mov eax, dword [r15 + 0x20]
lea edx, [rax + 1]
cmp qword [r15], 0
je 0x140031736
mov rbx, qword [rsp + 0x48]
cmp edx, dword [rbx]
ja 0x140031742
mov rdx, qword [rsp + 0x50]
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 0x140031170
cmp cl, 0x83
je 0x140031274
cmp cl, 0x85
je 0x14003174f
cmp cl, 0x2b
jne 0x140031179
jmp 0x14003174f
cmp cl, 0x81
je 0x1400314eb
mov ebx, ecx
and bl, 0xfd
cmp bl, 0x89
jne 0x140031789
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.140034300
test eax, eax
js 0x1400317df
lea ebx, [rax + 1]
cmp qword [r15], 0
mov ecx, dword [r15 + 0x20]
lea eax, [rcx + rax + 1]
je 0x140032f7f
mov rdx, qword [rsp + 0x48]
cmp eax, dword [rdx]
ja 0x140032a54
mov edx, dword [r12]
add rdx, qword [r13]
mov r8d, ebx
mov rax, qword [rsp + 0x50]
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 0x1400310b0
jmp 0x140031356
cmp dl, 0x66
je 0x140031e1e
mov eax, edx
and al, 0xf0
cmp al, 0x50
jne 0x140031540
mov eax, dword [r15 + 0x20]
lea edx, [rax + 1]
cmp qword [r15], 0
je 0x140031e97
mov rbx, qword [rsp + 0x48]
cmp edx, dword [rbx]
ja 0x140031b17
mov rdx, qword [rsp + 0x50]
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 0x140031212
mov dl, byte [rax + rdi + 1]
and dl, 0xf8
cmp dl, 0xe8
jne 0x1400320a5
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 3]
cmp qword [r15], 0
je 0x1400320d1
mov rcx, qword [rsp + 0x48]
cmp ebp, dword [rcx]
ja 0x1400320e2
add rax, rdi
mov rcx, qword [rsp + 0x50]
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 0x140031212
mov eax, dword [r15 + 0x20]
lea edx, [rax + 1]
cmp qword [r15], 0
je 0x14003216a
mov rbx, qword [rsp + 0x48]
cmp edx, dword [rbx]
ja 0x140032176
mov rdx, qword [rsp + 0x50]
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 0x140032183
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 1]
cmp qword [r15], 0
je 0x1400321bf
mov rbx, qword [rsp + 0x48]
cmp ebp, dword [rbx]
ja 0x140031b17
mov rbp, qword [rsp + 0x50]
mov rbp, qword [rbp]
mov al, byte [rax + rcx]
mov byte [rbp + rdx], al
jmp 0x140031265
xor esi, esi
cmp eax, 0x64
ja case.0x140032dca.1
test sil, 1
jne 0x140031381
mov edx, eax
add rdx, qword [r13]
mov rcx, r15
mov r8d, 2
call fcn.140034390
test al, al
je case.0x140032dca.1
cmp byte [r15 + 0x2c], 0
je case.0x140032dca.1
cmp qword [r15], 0
je case.0x140032dca.1
mov edi, dword [r15 + 0x24]
add rdi, qword [r15 + 0x18]
je case.0x140032dca.1
lea rdx, [rsp + 0xd0]
mov rcx, r14
xor r8d, r8d
xor r9d, r9d
call fcn.140034780
cmp qword [rsp + 0x140], 0
je 0x14003148e
cmp byte [rsp + 0x128], 0
je 0x14003148e
cmp byte [rsp + 0x5f], 0
jne 0x140031b91
mov byte [rsp + 0x98], 0x49
lea rbx, [rsp + 0xd0]
lea rdx, [rsp + 0x98]
mov rcx, rbx
call fcn.1400348c0
mov byte [rsp + 0x98], 0xbb
lea rdx, [rsp + 0x98]
mov rcx, rbx
call fcn.1400348c0
mov rcx, rbx
mov rdx, qword [rsp + 0x1e0]
call fcn.140034980
mov byte [rsp + 0x98], 0x41
lea rdx, [rsp + 0x98]
mov rcx, rbx
call fcn.1400348c0
mov byte [rsp + 0x98], 0xff
lea rdx, [rsp + 0x98]
mov rcx, rbx
call fcn.1400348c0
mov byte [rsp + 0x98], 0xe3
lea rdx, [rsp + 0x98]
mov rcx, rbx
call fcn.1400348c0
lea rcx, [rsp + 0xd0]
call fcn.140034a30
test al, al
je 0x14003148e
mov rax, qword [rsp + 0x1e8]
mov qword [rax], rdi
lea rcx, [rsp + 0x130]
call int.140035070
mov rcx, qword [rsp + 0xf0]
lea rax, [rsp + 0x108]
cmp rcx, rax
jne 0x140031d7b
mov rax, qword [rsp + 0x1e8]
cmp qword [rax], 0
je 0x140031d86
mov rcx, qword [rsp + 0x170]
xor rcx, rsp
call fcn.1400365a0
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.0x140032dca.1
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 6]
cmp qword [r15], 0
je 0x1400326a8
mov rcx, qword [rsp + 0x48]
cmp ebp, dword [rcx]
ja 0x1400326b9
add rax, rdi
mov rcx, qword [rsp + 0x50]
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 0x140031212
cmp dl, 0x80
je 0x1400326cb
cmp dl, 0x90
je case.0x140032dca.0
cmp dl, 0x65
je 0x140032733
mov eax, edx
and al, 0xf8
cmp al, 0xb8
je 0x14003278e
cmp dl, 0xff
jne 0x14003276e
mov al, byte [rcx + rbp + 1]
mov edx, eax
and dl, 0xf8
cmp dl, 0xf0
jne 0x1400327c8
mov eax, dword [r15 + 0x20]
lea edx, [rax + 2]
cmp qword [r15], 0
je 0x14003280c
mov rbx, qword [rsp + 0x48]
cmp edx, dword [rbx]
ja 0x14003281d
mov rdx, qword [rsp + 0x50]
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 0x140031212
mov rdi, rsi
cmp dl, 0xcc
je 0x1400315d3
cmp dl, 0x90
jne 0x14003167f
mov r8d, dword [rsp + 0x2c]
mov ecx, r8d
add rax, 1
mov dword [r12], eax
cmp rax, rcx
mov rsi, rdi
jb 0x1400310b5
jmp 0x140031356
mov eax, dword [r15 + 0x20]
lea edx, [rax + 1]
cmp qword [r15], 0
je 0x140031915
mov rbx, qword [rsp + 0x48]
cmp edx, dword [rbx]
jbe 0x140031a55
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x14003191c
mov eax, dword [r15 + 0x20]
lea edx, [rax + 1]
cmp qword [r15], 0
jne 0x1400318eb
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
add dword [r14 + 0x10], 1
mov rcx, r14
xor edx, edx
call fcn.140034300
test eax, eax
js case.0x140032dca.1
mov edi, eax
mov ecx, dword [r15 + 0x20]
lea eax, [rcx + rdi]
cmp qword [r15], 0
je 0x140031905
mov rdx, qword [rsp + 0x48]
cmp eax, dword [rdx]
jbe 0x140031a2d
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
add dword [r12], edi
jmp 0x14003120d
cmp qword [rsp + 0x60], 0
je case.0x140032dca.1
call fcn.1400334d0
lea rsi, [0x140040fc8]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [rsp + 0x60]
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.0x140032dca.1
mov rsi, rdi
mov eax, dword [r12]
mov byte [rsp + 0x5f], 1
cmp eax, 9
ja 0x140031356
jmp case.0x140032dca.1
mov eax, dword [r15 + 0x20]
lea edx, [rax + 1]
cmp qword [r15], 0
je 0x1400319a0
mov rbx, qword [rsp + 0x48]
cmp edx, dword [rbx]
jbe 0x140031abd
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x1400319a7
mov eax, dword [r15 + 0x20]
lea edx, [rax + 1]
cmp qword [r15], 0
je 0x1400319dd
mov rbx, qword [rsp + 0x48]
cmp edx, dword [rbx]
jbe 0x140031ad8
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x1400319e4
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
jmp 0x140031139
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140031139
cmp byte [rax + rdi + 1], 0xc0
jb case.0x140032dca.1
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 2]
cmp qword [r15], 0
je 0x140032580
mov rcx, qword [rsp + 0x48]
cmp ebp, dword [rcx]
ja 0x140031a1b
mov rcx, qword [rsp + 0x50]
mov rbp, qword [rcx]
movzx eax, word [rax + rdi]
jmp 0x140031b00
cmp cl, 0xfe
jg 0x140031a70
cmp cl, 0x8d
je 0x140031ea8
cmp cl, 0xc7
jne case.0x140032dca.1
cmp byte [rax + rdi + 1], 0x44
jne case.0x140032dca.1
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 8]
cmp qword [r15], 0
je 0x140032506
mov rcx, qword [rsp + 0x48]
cmp ebp, dword [rcx]
jbe 0x140032591
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
add dword [r12], 8
jmp 0x14003120d
cmp eax, 0xfffffffe
jne case.0x140032dca.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 0x140031dbb
cmp qword [r15], 0
mov eax, dword [r15 + 0x20]
je 0x140031f76
mov rdx, qword [rsp + 0x48]
mov edx, dword [rdx]
cmp eax, edx
jae 0x140032017
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 0x140031f85
mov rdx, qword [rsp + 0x48]
mov edx, dword [rdx]
cmp ebp, edx
ja 0x14003202b
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 0x140031f8e
mov rcx, qword [rsp + 0x48]
mov edx, dword [rcx]
cmp eax, edx
jb 0x14003203b
mov rcx, qword [rsp + 0x40]
mov byte [rcx], 0
cmp eax, edx
jae 0x140032069
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 0x140031fa2
mov dl, byte [rsp + 0x98]
lea ecx, [rdx*8]
or cl, dl
mov rdx, qword [rsp + 0x48]
mov edx, dword [rdx]
cmp eax, edx
jae 0x1400322e1
jmp 0x14003208b
mov rbx, qword [rsp + 0x48]
cmp edx, dword [rbx]
jbe 0x140031b29
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140031637
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
add dword [r12], edi
jmp 0x14003120d
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 0x140031967
cmp bl, 0x1f
jne 0x140031e0d
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 1]
cmp qword [r15], 0
je 0x140031fb1
mov rbx, qword [rsp + 0x48]
cmp ebp, dword [rbx]
jbe 0x1400320f4
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140031fb8
cmp bl, 5
jne 0x140031e49
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 1]
cmp qword [r15], 0
je 0x140032006
mov rbx, qword [rsp + 0x48]
cmp ebp, dword [rbx]
jbe 0x140032111
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
add dword [r12], 1
jmp 0x14003120d
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.0x140032dca.1
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 1]
cmp qword [r15], 0
jne 0x140032532
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
jmp 0x140031637
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.0x140032dca.1
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 2]
cmp qword [r15], 0
je 0x140032580
mov rbx, qword [rsp + 0x48]
cmp ebp, dword [rbx]
jbe 0x140031af3
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
add dword [r12], 2
jmp 0x14003120d
mov edx, dword [r12]
add rdx, qword [r13]
mov r8d, edi
mov rax, qword [rsp + 0x50]
add rcx, qword [rax]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x30]
add dword [rax], edi
add dword [r12], edi
jmp 0x14003120d
mov rdx, qword [rsp + 0x50]
mov rdx, qword [rdx]
mov cl, byte [rcx + rbp]
mov byte [rdx + rax], cl
mov rax, qword [rsp + 0x30]
add dword [rax], 1
jmp 0x14003191c
cmp cl, 0xff
je 0x140031f25
cmp cl, 0x63
jne case.0x140032dca.1
cmp byte [rax + rdi + 1], 0xc0
jb case.0x140032dca.1
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 2]
cmp qword [r15], 0
je 0x140032580
mov rcx, qword [rsp + 0x48]
cmp ebp, dword [rcx]
ja 0x140031a1b
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx]
movzx eax, word [rax + rdi]
mov word [rcx + rdx], ax
jmp 0x140031b05
mov rdx, qword [rsp + 0x50]
mov rdx, qword [rdx]
mov cl, byte [rcx + rbp]
mov byte [rdx + rax], cl
mov rax, qword [rsp + 0x30]
add dword [rax], 1
jmp 0x1400319a7
mov rdx, qword [rsp + 0x50]
mov rdx, qword [rdx]
mov cl, byte [rcx + rbp]
mov byte [rdx + rax], cl
mov rax, qword [rsp + 0x30]
add dword [rax], 1
jmp 0x1400319e4
mov rbp, qword [rsp + 0x50]
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 0x14003120d
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
add dword [r12], 1
jmp 0x140031212
mov rdx, qword [rsp + 0x50]
mov rdx, qword [rdx]
mov cl, byte [rcx + rbp]
mov byte [rdx + rax], cl
mov rax, qword [rsp + 0x30]
add dword [rax], 1
jmp 0x140031637
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
jmp 0x140030fce
mov byte [r15 + 0x2c], 0
cmp qword [r15 + 0x10], 0
jne 0x140030fad
jmp 0x1400314c6
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
jmp 0x140031036
mov byte [r15 + 0x2c], 0
cmp qword [r15 + 0x10], 0
jne 0x140031015
jmp case.0x140032dca.1
mov r8d, 0xa
jmp 0x14003107c
call fcn.1400334d0
lea rbx, [0x140040fc8]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax + 8]
lea rdx, [rsp + 0x98]
call fcn.140034030
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [rsp + 0xc8], 0
je 0x14003148e
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 0x140032309
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 0x140032323
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 0x140031d10
mov r8d, dword [rsp + 0x70]
test r8d, r8d
je 0x140031d10
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 0x140031d6e
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x140031d66
mov r8d, dword [rsp + 0xa0]
test r8d, r8d
je 0x140031d66
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 0x140031472
jmp 0x14003148e
call qword [sym.imp.mozglue.dll_free]
jmp case.0x140032dca.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 0x14003215e
cmp edx, dword [r15 + 0x28]
jbe 0x1400321eb
mov byte [r15 + 0x2c], 0
jmp 0x1400314c6
cmp qword [r15], 0
mov eax, dword [r15 + 0x20]
je 0x1400321d0
mov rdx, qword [rsp + 0x48]
mov ebp, dword [rdx]
cmp eax, ebp
jae 0x1400322ce
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 0x1400321df
mov rbp, qword [rsp + 0x48]
mov ebp, dword [rbp]
cmp edx, ebp
jbe 0x1400324bc
jmp 0x1400322e1
add bl, 0xf0
cmp bl, 2
jae case.0x140032dca.1
jmp 0x1400319c0
mov eax, dword [r15 + 0x20]
lea edx, [rax + 1]
cmp qword [r15], 0
je 0x1400321fd
mov rbx, qword [rsp + 0x48]
cmp edx, dword [rbx]
jbe 0x1400322ee
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140032204
cmp bl, 0x84
jne case.0x140032dca.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.140034390
mov r8d, dword [rsp + 0x2c]
test al, al
jne 0x140031212
jmp case.0x140032dca.1
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
add dword [r12], 1
jmp 0x140031212
mov bl, byte [rax + rdi + 1]
mov ecx, ebx
and cl, 0xc7
cmp cl, 5
jne 0x1400329ff
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 0x140032517
mov rbp, qword [rsp + 0x48]
mov ebp, dword [rbp]
cmp edx, ebp
jae 0x1400325b3
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 0x140032526
mov rbp, qword [rsp + 0x48]
mov ebp, dword [rbp]
cmp ebx, ebp
ja 0x1400322e1
jmp 0x1400325c6
mov al, byte [rax + rdi + 1]
and al, 0xc7
cmp al, 5
jne case.0x140032dca.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.140034390
mov r8d, dword [rsp + 0x2c]
mov sil, 1
jmp 0x140031e8a
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 0x14003120d
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.0x140032dca.1
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 3]
cmp qword [r15], 0
je 0x140032697
mov rbx, qword [rsp + 0x48]
cmp ebp, dword [rbx]
jbe 0x140032133
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
add dword [r12], 3
jmp 0x14003120d
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
add dword [r12], 1
jmp 0x14003120d
mov rbp, qword [rsp + 0x40]
mov byte [rbp], 0
lea ebp, [rax + 8]
cmp ebp, edx
jbe 0x14003186a
mov rcx, qword [rsp + 0x40]
mov byte [rcx], 0
cmp eax, edx
jae 0x140031898
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 0x140031f98
mov rcx, qword [rsp + 0x48]
mov edx, dword [rcx]
cmp eax, edx
jb 0x1400318a8
mov rcx, qword [rsp + 0x40]
mov byte [rcx], 0
mov bpl, byte [rsp + 0x98]
lea ecx, [rbp*8]
or cl, bpl
cmp eax, edx
jae 0x1400322e1
mov rdx, qword [rsp + 0x50]
mov rdx, qword [rdx]
mov eax, eax
mov byte [rdx + rax], cl
mov rax, qword [rsp + 0x30]
add dword [rax], 1
jmp 0x14003120d
cmp dl, 0xc0
jne 0x1400324d7
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 3]
cmp qword [r15], 0
je 0x140032697
mov rcx, qword [rsp + 0x48]
cmp ebp, dword [rcx]
ja 0x140031ff4
add rax, rdi
jmp 0x140032136
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
add dword [r12], 3
jmp 0x140031212
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
add dword [r12], 3
jmp 0x140031212
mov rbp, qword [rsp + 0x50]
mov rbp, qword [rbp]
mov al, byte [rcx + rax]
mov byte [rbp + rdx], al
mov rax, qword [rsp + 0x30]
add dword [rax], 1
jmp 0x140031fb8
mov rbp, qword [rsp + 0x50]
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 0x14003120d
add rax, rcx
mov rcx, qword [rsp + 0x50]
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 0x14003120d
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
jmp 0x1400314c6
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
jmp 0x140031301
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140031301
and bl, 0xf8
cmp bl, 0xb8
jne case.0x140032dca.1
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 5]
cmp qword [r15], 0
je 0x1400325e3
mov rbx, qword [rsp + 0x48]
cmp ebp, dword [rbx]
jbe 0x14003263e
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
add dword [r12], 5
jmp 0x14003120d
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
add dword [r12], 1
jmp 0x140031212
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 0x14003120d
mov rdx, qword [r15 + 0x10]
mov qword [rdx + rcx], rax
add dword [r15 + 0x20], 8
jmp 0x1400314c6
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 0x140032298
movzx ebx, byte [rax + rcx + 1]
mov edx, ebx
and edx, 0xffffffc0
cmp dl, 0xc0
je 0x140032554
cmp dl, 0x40
je 0x140032257
test dl, dl
jne case.0x140032dca.1
mov ebp, ebx
and ebp, 6
cmp ebp, 4
jne 0x140032554
cmp edx, 0x40
jne case.0x140032dca.1
and ebx, 7
add rax, rcx
mov rdx, qword [r15]
mov ecx, dword [r15 + 0x20]
cmp ebx, 4
jne 0x140032667
lea ebp, [rcx + 4]
test rdx, rdx
je 0x1400329ee
mov rdx, qword [rsp + 0x48]
cmp ebp, dword [rdx]
jbe 0x140032c21
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
add dword [r12], 4
jmp 0x14003120d
cmp bl, 0x44
jne 0x14003120d
cmp byte [rax + rcx + 1], 0x89
jne 0x14003120d
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 2]
cmp qword [r15], 0
jne 0x140032e36
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
add dword [r14 + 0x10], 2
jmp 0x14003163c
mov rdx, qword [rsp + 0x40]
mov byte [rdx], 0
lea edx, [rax + 8]
cmp edx, ebp
jbe 0x1400324bc
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x14003120d
mov rdx, qword [rsp + 0x50]
mov rdx, qword [rdx]
mov cl, byte [rcx + rbp]
mov byte [rdx + rax], cl
mov rax, qword [rsp + 0x30]
add dword [rax], 1
jmp 0x140032204
cmp edx, dword [rsp + 0x90]
jbe 0x1400325f4
mov byte [rsp + 0x94], 0
jmp 0x140031c5c
mov edx, dword [rsp + 0x90]
cmp ebp, edx
jbe 0x14003260a
mov byte [rsp + 0x94], 0
mov dword [rsp + 0x8c], ecx
cmp ecx, edx
jae 0x14003283e
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 0x140031c95
mov edx, dword [rsp + 0x90]
cmp ecx, edx
jb 0x14003284e
mov byte [rsp + 0x94], 0
lea eax, [rcx + 8]
cmp eax, edx
jbe 0x140032888
mov byte [rsp + 0x94], 0
cmp ecx, edx
jae 0x1400328c7
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 0x140031cb7
mov edx, dword [rsp + 0x90]
cmp ecx, edx
jb 0x1400328d7
mov byte [rsp + 0x94], 0
cmp ecx, edx
jae 0x14003290e
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 0x140031cd0
cmp byte [rsp + 0x94], 0
je 0x140031cd0
mov ebx, dword [rsp + 0x8c]
add rbx, qword [rsp + 0x80]
je 0x140031cd0
mov byte [rsp + 0x3f], 0xb8
lea rsi, [rsp + 0xd0]
lea rdx, [rsp + 0x3f]
mov rcx, rsi
call fcn.1400348c0
and ebx, 0x7fffffff
mov rcx, rsi
mov edx, ebx
call fcn.140034910
mov byte [rsp + 0x3f], 0x48
lea rdx, [rsp + 0x3f]
mov rcx, rsi
call fcn.1400348c0
mov byte [rsp + 0x3f], 0x63
lea rdx, [rsp + 0x3f]
mov rcx, rsi
call fcn.1400348c0
mov byte [rsp + 0x3f], 0xc0
lea rdx, [rsp + 0x3f]
mov rcx, rsi
call fcn.1400348c0
mov byte [rsp + 0x3f], 0xff
lea rdx, [rsp + 0x3f]
mov rcx, rsi
call fcn.1400348c0
mov byte [rsp + 0x3f], 0xe0
lea rdx, [rsp + 0x3f]
mov rcx, rsi
call fcn.1400348c0
xor ebp, ebp
jmp 0x140031cd0
mov rdx, qword [rsp + 0x50]
mov rdx, qword [rdx]
mov eax, eax
mov qword [rdx + rax], rcx
mov rax, qword [rsp + 0x30]
add dword [rax], 8
jmp 0x14003120d
cmp dl, 0x60
jne case.0x140032dca.1
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 5]
cmp qword [r15], 0
je 0x1400325e3
mov rcx, qword [rsp + 0x48]
cmp ebp, dword [rcx]
ja 0x1400321ad
add rax, rdi
jmp 0x140032641
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
add dword [r12], 8
jmp 0x14003120d
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 0x14003120d
mov rbx, qword [rsp + 0x48]
cmp ebp, dword [rbx]
ja 0x1400318f8
mov rbp, qword [rsp + 0x50]
mov rbp, qword [rbp]
mov al, byte [rcx + rax]
mov byte [rbp + rdx], al
jmp 0x140031b37
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 2]
cmp qword [r15], 0
je 0x140032580
mov rbx, qword [rsp + 0x48]
cmp ebp, dword [rbx]
ja 0x140031a1b
mov rbp, qword [rsp + 0x50]
mov rbp, qword [rbp]
movzx eax, word [rax + rcx]
jmp 0x140031b00
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
add dword [r12], 2
jmp 0x14003120d
mov rcx, qword [rsp + 0x50]
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 0x14003120d
mov rbx, qword [rsp + 0x40]
mov byte [rbx], 0
lea ebx, [rdx + 8]
cmp ebx, ebp
ja 0x1400322e1
add rax, rcx
add rax, r8
add rax, 4
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx]
mov edx, edx
mov qword [rcx + rdx], rax
jmp 0x1400324ca
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
add dword [r12], 5
jmp 0x14003120d
mov rdx, qword [rsp + 0x78]
mov qword [rdx + rcx], rax
add dword [rsp + 0x88], 8
jmp 0x140031c5c
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 0x14003282f
mov ebp, ecx
jmp 0x140031c89
add rax, rcx
mov rcx, qword [rsp + 0x50]
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 0x14003120d
lea ebp, [rcx + 3]
test rdx, rdx
je 0x140032697
mov rdx, qword [rsp + 0x48]
cmp ebp, dword [rdx]
ja 0x140031ff4
mov rdx, qword [rsp + 0x50]
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 0x14003214c
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
add dword [r12], 3
jmp 0x14003120d
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
add dword [r12], 6
jmp 0x140031212
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
add dword [r12], 6
jmp 0x140031212
cmp byte [rcx + rbp + 1], 0x3d
jne case.0x140032dca.1
add ebp, 2
mov dword [r12], ebp
cmp qword [r15], 0
mov eax, dword [r15 + 0x20]
je 0x140032a61
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x140032c40
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 0x140032a6b
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx]
cmp eax, ecx
jb 0x140032c50
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140032a75
cmp byte [rcx + rbp + 1], 0x48
jne case.0x140032dca.1
mov al, byte [rcx + rbp + 2]
and al, 0xfc
cmp al, 0x88
jne case.0x140032dca.1
mov eax, dword [r15 + 0x20]
lea edx, [rax + 3]
cmp qword [r15], 0
jne 0x140032faf
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
add dword [r14 + 0x10], 3
jmp 0x14003163c
cmp dl, 0xc2
jg 0x14003291b
cmp dl, 0x83
jne 0x140032d6e
mov al, byte [rcx + rbp + 1]
and al, 0xf8
cmp al, 0x60
jne case.0x140032dca.1
mov eax, dword [r15 + 0x20]
lea edx, [rax + 5]
cmp qword [r15], 0
je 0x1400329dd
mov rbx, qword [rsp + 0x48]
cmp edx, dword [rbx]
ja 0x1400321ad
add rcx, rbp
mov rdx, qword [rsp + 0x50]
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 0x140032655
cmp al, 0x25
je 0x140032e55
cmp dl, 0xd0
jne 0x140032967
mov eax, dword [r15 + 0x20]
lea edx, [rax + 2]
cmp qword [r15], 0
je 0x140032e0a
mov rbx, qword [rsp + 0x48]
cmp edx, dword [rbx]
ja 0x140031a1b
mov rdx, qword [rsp + 0x50]
mov rdx, qword [rdx]
movzx ecx, word [rcx + rbp]
mov word [rdx + rax], cx
jmp 0x140031b05
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
add dword [r12], 2
jmp 0x140031212
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
add dword [r12], 2
jmp 0x140031212
mov edx, dword [rsp + 0x90]
cmp ecx, edx
jb 0x140032349
mov byte [rsp + 0x94], 0
cmp ecx, edx
jae 0x140032380
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 0x140031ca4
mov edx, dword [rsp + 0x90]
cmp eax, edx
ja 0x140032393
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 0x140031cad
mov edx, dword [rsp + 0x90]
cmp ecx, edx
jb 0x1400323a3
mov byte [rsp + 0x94], 0
cmp ecx, edx
jae 0x1400323da
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 0x140031cc1
mov edx, dword [rsp + 0x90]
cmp ecx, edx
jb 0x1400323ea
mov byte [rsp + 0x94], 0
jmp 0x140031ccb
lea eax, [rdx + 0x3d]
cmp al, 0x33
jbe 0x140032db9
lea eax, [rdx - 0x74]
cmp al, 2
jae 0x140032e1b
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.140034390
test al, al
mov r8d, dword [rsp + 0x2c]
jne 0x140031212
jmp case.0x140032dca.1
and al, 0x38
cmp al, 0x20
jne case.0x140032dca.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.140034300
test eax, eax
js case.0x140032dca.1
lea ebx, [rax + 1]
cmp qword [r15], 0
mov ecx, dword [r15 + 0x20]
lea eax, [rcx + rax + 1]
je 0x140032ff5
mov rdx, qword [rsp + 0x48]
cmp eax, dword [rdx]
jbe 0x140032ffe
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x14003301d
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
add dword [r12], 5
jmp 0x14003120d
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
add dword [r12], 4
jmp 0x14003120d
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.140034300
lea ebx, [rax + 1]
cmp qword [r15], 0
mov ecx, dword [r15 + 0x20]
lea eax, [rcx + rax + 1]
je 0x140032f7f
mov rdx, qword [rsp + 0x48]
cmp eax, dword [rdx]
jbe 0x140032e29
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140031209
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 0x140032b82
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x140032c6b
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 0x140032b8c
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx]
cmp eax, ecx
jb 0x140032c7b
mov rbx, qword [rsp + 0x40]
mov byte [rbx], 0
lea ebx, [rax + 8]
cmp ebx, ecx
jbe 0x140032cac
mov rdx, qword [rsp + 0x40]
mov byte [rdx], 0
cmp eax, ecx
jae 0x140032ce5
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 0x140032bae
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx]
cmp eax, ecx
jb 0x140032cf5
mov rdx, qword [rsp + 0x40]
mov byte [rdx], 0
cmp eax, ecx
jae 0x140032d23
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 0x140032bc7
mov ebp, dword [r12]
add rbp, qword [r13]
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx]
cmp edx, ecx
ja 0x140032d3e
mov rcx, qword [rsp + 0x50]
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 0x140032bce
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 0x140031f98
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x140032d4b
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 0x140031fa2
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x1400322e1
jmp 0x140032d5b
mov rdx, qword [rsp + 0x50]
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 0x14003120d
mov rdx, qword [rsp + 0x40]
mov byte [rdx], 0
cmp eax, ecx
jae 0x140032726
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx]
mov eax, eax
mov byte [rcx + rax], 0x53
mov rax, qword [rsp + 0x30]
add dword [rax], 1
jmp 0x140032a75
mov rbx, qword [rsp + 0x40]
mov byte [rbx], 0
cmp eax, ecx
jae 0x140032ad2
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 0x140032b9b
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx]
cmp ebx, ecx
ja 0x140032ae5
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 0x140032ba4
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx]
cmp eax, ecx
jb 0x140032af5
mov rdx, qword [rsp + 0x40]
mov byte [rdx], 0
cmp eax, ecx
jae 0x140032b23
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 0x140032bb8
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx]
cmp eax, ecx
jb 0x140032b33
mov rdx, qword [rsp + 0x40]
mov byte [rdx], 0
mov ebp, dword [r12]
add rbp, qword [r13]
lea edx, [rax + 1]
cmp edx, ecx
jbe 0x140032b68
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140032bce
mov rdx, qword [rsp + 0x40]
mov byte [rdx], 0
cmp eax, ecx
jae 0x1400322e1
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx]
mov eax, eax
mov byte [rcx + rax], 0x5b
jmp 0x140032098
cmp dl, 0x85
jne case.0x140032dca.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.140034300
test eax, eax
jns 0x1400311c8
jmp case.0x140032dca.1
movzx eax, al
lea rbx, [0x14003302c]
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 0x140032df9
mov rbx, qword [rsp + 0x48]
cmp edx, dword [rbx]
ja 0x14003198e
mov rdx, qword [rsp + 0x50]
mov rdx, qword [rdx]
mov cl, byte [rcx + rbp]
mov byte [rdx + rax], cl
jmp 0x140032121
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
add dword [r12], 1
jmp 0x14003120d
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
add dword [r12], 2
jmp 0x14003120d
cmp dl, 0x33
jne case.0x140032dca.1
jmp 0x1400327d9
mov edx, dword [r14 + 0x10]
add rdx, qword [r14 + 8]
jmp 0x1400311f2
mov rbx, qword [rsp + 0x48]
cmp ebp, dword [rbx]
jbe 0x140032f8b
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
add dword [r14 + 0x10], 2
jmp 0x14003163c
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.140034390
mov sil, 1
jmp 0x140032955
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.140034300
test eax, eax
jns 0x140032f6a
jmp case.0x140032dca.1
cmp byte [rcx + rbp + 1], 0xc0
jae 0x1400327d9
jmp case.0x140032dca.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 0x140031e80
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.140034300
test eax, eax
js case.0x140032dca.1
cmp byte [rsp + 0x98], 0
jne case.0x140032dca.1
lea ebx, [rax + 2]
cmp qword [r15], 0
mov ecx, dword [r15 + 0x20]
lea eax, [rcx + rax + 2]
jne 0x1400311dd
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
jmp 0x140031209
mov rbp, qword [rsp + 0x50]
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 0x14003163c
mov rbx, qword [rsp + 0x48]
cmp edx, dword [rbx]
jbe 0x140032fca
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
add dword [r14 + 0x10], 3
jmp 0x14003163c
add rcx, rbp
mov rdx, qword [rsp + 0x50]
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 0x14003163c
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
jmp 0x14003301d
mov edx, dword [r12]
add rdx, qword [r13]
mov r8d, ebx
mov rax, qword [rsp + 0x50]
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 0x14003120d