Function at 0x140041e90
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 [0x140054018]
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 0x140042ab4
cmp edx, dword [r15 + 0x28]
ja 0x140042ac0
mov rdx, qword [r15 + 0x10]
mov qword [rdx + rcx], rax
add dword [r15 + 0x20], 8
cmp qword [r15], 0
je 0x140041f3e
cmp qword [r15 + 0x10], 0
je 0x140042436
cmp qword [r15 + 0x18], 0
je 0x140042436
cmp dword [r15 + 8], 0
je 0x140042436
cmp byte [r15 + 0x2c], 0
je 0x140042436
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 0x140042ad5
cmp edx, dword [r15 + 0x28]
ja 0x140042ae1
mov rdx, qword [r15 + 0x10]
mov qword [rdx + rcx], rax
add dword [r15 + 0x20], 8
cmp qword [r15], 0
je 0x140041fa6
cmp qword [r15 + 0x10], 0
je case.0x140043d3a.1
cmp qword [r15 + 0x18], 0
je case.0x140043d3a.1
cmp dword [r15 + 8], 0
je case.0x140043d3a.1
cmp byte [r15 + 0x2c], 0
je case.0x140043d3a.1
mov r8, qword [rsp + 0x1e0]
mov rcx, r15
mov rdx, r14
mov r9, qword [rsp + 0x1e8]
call fcn.140044cf0
test al, al
jne case.0x140043d3a.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 0x140042af6
mov r8d, 0xd
lea r13, [r14 + 8]
mov eax, dword [r12]
cmp eax, r8d
jae 0x1400422c4
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 0x140042532
cmp dl, 0xf
je 0x140042564
mov eax, edx
and al, 0xfc
cmp al, 0x88
je 0x14004258f
lea eax, [rdx - 0x40]
cmp al, 2
jb 0x14004223d
cmp dl, 0x44
je 0x140042650
cmp dl, 0x45
je 0x14004267b
mov eax, edx
and al, 0xfa
cmp al, 0x48
jne 0x140042194
mov eax, dword [r15 + 0x20]
lea edx, [rax + 1]
cmp qword [r15], 0
je 0x1400426a6
mov rbx, qword [rsp + 0x48]
cmp edx, dword [rbx]
ja 0x1400426b2
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 0x1400420e0
cmp cl, 0x83
je 0x1400421e4
cmp cl, 0x85
je 0x1400426bf
cmp cl, 0x2b
jne 0x1400420e9
jmp 0x1400426bf
cmp cl, 0x81
je 0x14004245b
mov ebx, ecx
and bl, 0xfd
cmp bl, 0x89
jne 0x1400426f9
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.140044e40
test eax, eax
js 0x14004274f
lea ebx, [rax + 1]
cmp qword [r15], 0
mov ecx, dword [r15 + 0x20]
lea eax, [rcx + rax + 1]
je 0x140043eef
mov rdx, qword [rsp + 0x48]
cmp eax, dword [rdx]
ja 0x1400439c4
mov edx, dword [r12]
add rdx, qword [r13]
mov r8d, ebx
mov rax, qword [rsp + 0x50]
add rcx, qword [rax]
call sub.ntdll.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 0x140042020
jmp 0x1400422c6
cmp dl, 0x66
je 0x140042d8e
mov eax, edx
and al, 0xf0
cmp al, 0x50
jne 0x1400424b0
mov eax, dword [r15 + 0x20]
lea edx, [rax + 1]
cmp qword [r15], 0
je 0x140042e07
mov rbx, qword [rsp + 0x48]
cmp edx, dword [rbx]
ja 0x140042a87
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 0x140042182
mov dl, byte [rax + rdi + 1]
and dl, 0xf8
cmp dl, 0xe8
jne 0x140043015
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 3]
cmp qword [r15], 0
je 0x140043041
mov rcx, qword [rsp + 0x48]
cmp ebp, dword [rcx]
ja 0x140043052
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 0x140042182
mov eax, dword [r15 + 0x20]
lea edx, [rax + 1]
cmp qword [r15], 0
je 0x1400430da
mov rbx, qword [rsp + 0x48]
cmp edx, dword [rbx]
ja 0x1400430e6
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 0x1400430f3
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 1]
cmp qword [r15], 0
je 0x14004312f
mov rbx, qword [rsp + 0x48]
cmp ebp, dword [rbx]
ja 0x140042a87
mov rbp, qword [rsp + 0x50]
mov rbp, qword [rbp]
mov al, byte [rax + rcx]
mov byte [rbp + rdx], al
jmp 0x1400421d5
xor esi, esi
cmp eax, 0x64
ja case.0x140043d3a.1
test sil, 1
jne 0x1400422f1
mov edx, eax
add rdx, qword [r13]
mov rcx, r15
mov r8d, 2
call fcn.1400104a0
test al, al
je case.0x140043d3a.1
cmp byte [r15 + 0x2c], 0
je case.0x140043d3a.1
cmp qword [r15], 0
je case.0x140043d3a.1
mov edi, dword [r15 + 0x24]
add rdi, qword [r15 + 0x18]
je case.0x140043d3a.1
lea rdx, [rsp + 0xd0]
mov rcx, r14
xor r8d, r8d
xor r9d, r9d
call fcn.140044ed0
cmp qword [rsp + 0x140], 0
je 0x1400423fe
cmp byte [rsp + 0x128], 0
je 0x1400423fe
cmp byte [rsp + 0x5f], 0
jne 0x140042b01
mov byte [rsp + 0x98], 0x49
lea rbx, [rsp + 0xd0]
lea rdx, [rsp + 0x98]
mov rcx, rbx
call fcn.1400109e0
mov byte [rsp + 0x98], 0xbb
lea rdx, [rsp + 0x98]
mov rcx, rbx
call fcn.1400109e0
mov rcx, rbx
mov rdx, qword [rsp + 0x1e0]
call fcn.14000c600
mov byte [rsp + 0x98], 0x41
lea rdx, [rsp + 0x98]
mov rcx, rbx
call fcn.1400109e0
mov byte [rsp + 0x98], 0xff
lea rdx, [rsp + 0x98]
mov rcx, rbx
call fcn.1400109e0
mov byte [rsp + 0x98], 0xe3
lea rdx, [rsp + 0x98]
mov rcx, rbx
call fcn.1400109e0
lea rcx, [rsp + 0xd0]
call fcn.140045010
test al, al
je 0x1400423fe
mov rax, qword [rsp + 0x1e8]
mov qword [rax], rdi
lea rcx, [rsp + 0x130]
call fcn.140045270
mov rcx, qword [rsp + 0xf0]
lea rax, [rsp + 0x108]
cmp rcx, rax
jne 0x140042ceb
mov rax, qword [rsp + 0x1e8]
cmp qword [rax], 0
je 0x140042cf6
mov rcx, qword [rsp + 0x170]
xor rcx, rsp
call fcn.140045f60
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.0x140043d3a.1
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 6]
cmp qword [r15], 0
je 0x140043618
mov rcx, qword [rsp + 0x48]
cmp ebp, dword [rcx]
ja 0x140043629
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 0x140042182
cmp dl, 0x80
je 0x14004363b
cmp dl, 0x90
je case.0x140043d3a.0
cmp dl, 0x65
je 0x1400436a3
mov eax, edx
and al, 0xf8
cmp al, 0xb8
je 0x1400436fe
cmp dl, 0xff
jne 0x1400436de
mov al, byte [rcx + rbp + 1]
mov edx, eax
and dl, 0xf8
cmp dl, 0xf0
jne 0x140043738
mov eax, dword [r15 + 0x20]
lea edx, [rax + 2]
cmp qword [r15], 0
je 0x14004377c
mov rbx, qword [rsp + 0x48]
cmp edx, dword [rbx]
ja 0x14004378d
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 0x140042182
mov rdi, rsi
cmp dl, 0xcc
je 0x140042543
cmp dl, 0x90
jne 0x1400425ef
mov r8d, dword [rsp + 0x2c]
mov ecx, r8d
add rax, 1
mov dword [r12], eax
cmp rax, rcx
mov rsi, rdi
jb 0x140042025
jmp 0x1400422c6
mov eax, dword [r15 + 0x20]
lea edx, [rax + 1]
cmp qword [r15], 0
je 0x140042885
mov rbx, qword [rsp + 0x48]
cmp edx, dword [rbx]
jbe 0x1400429c5
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x14004288c
mov eax, dword [r15 + 0x20]
lea edx, [rax + 1]
cmp qword [r15], 0
jne 0x14004285b
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
add dword [r14 + 0x10], 1
mov rcx, r14
xor edx, edx
call fcn.140044e40
test eax, eax
js case.0x140043d3a.1
mov edi, eax
mov ecx, dword [r15 + 0x20]
lea eax, [rcx + rdi]
cmp qword [r15], 0
je 0x140042875
mov rdx, qword [rsp + 0x48]
cmp eax, dword [rdx]
jbe 0x14004299d
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
add dword [r12], edi
jmp 0x14004217d
cmp qword [rsp + 0x60], 0
je case.0x140043d3a.1
call fcn.140044200
lea rsi, [0x140056908]
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.0x140043d3a.1
mov rsi, rdi
mov eax, dword [r12]
mov byte [rsp + 0x5f], 1
cmp eax, 9
ja 0x1400422c6
jmp case.0x140043d3a.1
mov eax, dword [r15 + 0x20]
lea edx, [rax + 1]
cmp qword [r15], 0
je 0x140042910
mov rbx, qword [rsp + 0x48]
cmp edx, dword [rbx]
jbe 0x140042a2d
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140042917
mov eax, dword [r15 + 0x20]
lea edx, [rax + 1]
cmp qword [r15], 0
je 0x14004294d
mov rbx, qword [rsp + 0x48]
cmp edx, dword [rbx]
jbe 0x140042a48
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140042954
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
jmp 0x1400420a9
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x1400420a9
cmp byte [rax + rdi + 1], 0xc0
jb case.0x140043d3a.1
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 2]
cmp qword [r15], 0
je 0x1400434f0
mov rcx, qword [rsp + 0x48]
cmp ebp, dword [rcx]
ja 0x14004298b
mov rcx, qword [rsp + 0x50]
mov rbp, qword [rcx]
movzx eax, word [rax + rdi]
jmp 0x140042a70
cmp cl, 0xfe
jg 0x1400429e0
cmp cl, 0x8d
je 0x140042e18
cmp cl, 0xc7
jne case.0x140043d3a.1
cmp byte [rax + rdi + 1], 0x44
jne case.0x140043d3a.1
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 8]
cmp qword [r15], 0
je 0x140043476
mov rcx, qword [rsp + 0x48]
cmp ebp, dword [rcx]
jbe 0x140043501
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
add dword [r12], 8
jmp 0x14004217d
cmp eax, 0xfffffffe
jne case.0x140043d3a.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 0x140042d2b
cmp qword [r15], 0
mov eax, dword [r15 + 0x20]
je 0x140042ee6
mov rdx, qword [rsp + 0x48]
mov edx, dword [rdx]
cmp eax, edx
jae 0x140042f87
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 0x140042ef5
mov rdx, qword [rsp + 0x48]
mov edx, dword [rdx]
cmp ebp, edx
ja 0x140042f9b
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 0x140042efe
mov rcx, qword [rsp + 0x48]
mov edx, dword [rcx]
cmp eax, edx
jb 0x140042fab
mov rcx, qword [rsp + 0x40]
mov byte [rcx], 0
cmp eax, edx
jae 0x140042fd9
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 0x140042f12
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 0x140043251
jmp 0x140042ffb
mov rbx, qword [rsp + 0x48]
cmp edx, dword [rbx]
jbe 0x140042a99
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x1400425a7
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
add dword [r12], edi
jmp 0x14004217d
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 0x1400428d7
cmp bl, 0x1f
jne 0x140042d7d
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 1]
cmp qword [r15], 0
je 0x140042f21
mov rbx, qword [rsp + 0x48]
cmp ebp, dword [rbx]
jbe 0x140043064
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140042f28
cmp bl, 5
jne 0x140042db9
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 1]
cmp qword [r15], 0
je 0x140042f76
mov rbx, qword [rsp + 0x48]
cmp ebp, dword [rbx]
jbe 0x140043081
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
add dword [r12], 1
jmp 0x14004217d
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.0x140043d3a.1
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 1]
cmp qword [r15], 0
jne 0x1400434a2
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
jmp 0x1400425a7
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.0x140043d3a.1
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 2]
cmp qword [r15], 0
je 0x1400434f0
mov rbx, qword [rsp + 0x48]
cmp ebp, dword [rbx]
jbe 0x140042a63
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
add dword [r12], 2
jmp 0x14004217d
mov edx, dword [r12]
add rdx, qword [r13]
mov r8d, edi
mov rax, qword [rsp + 0x50]
add rcx, qword [rax]
call sub.ntdll.dll_memcpy
mov rax, qword [rsp + 0x30]
add dword [rax], edi
add dword [r12], edi
jmp 0x14004217d
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 0x14004288c
cmp cl, 0xff
je 0x140042e95
cmp cl, 0x63
jne case.0x140043d3a.1
cmp byte [rax + rdi + 1], 0xc0
jb case.0x140043d3a.1
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 2]
cmp qword [r15], 0
je 0x1400434f0
mov rcx, qword [rsp + 0x48]
cmp ebp, dword [rcx]
ja 0x14004298b
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx]
movzx eax, word [rax + rdi]
mov word [rcx + rdx], ax
jmp 0x140042a75
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 0x140042917
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 0x140042954
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 0x14004217d
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
add dword [r12], 1
jmp 0x140042182
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 0x1400425a7
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
jmp 0x140041f3e
mov byte [r15 + 0x2c], 0
cmp qword [r15 + 0x10], 0
jne 0x140041f1d
jmp 0x140042436
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
jmp 0x140041fa6
mov byte [r15 + 0x2c], 0
cmp qword [r15 + 0x10], 0
jne 0x140041f85
jmp case.0x140043d3a.1
mov r8d, 0xa
jmp 0x140041fec
call fcn.140044200
lea rbx, [0x140056908]
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.140044b70
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [rsp + 0xc8], 0
je 0x1400423fe
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 0x140043279
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 0x140043293
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 0x140042c80
mov r8d, dword [rsp + 0x70]
test r8d, r8d
je 0x140042c80
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 0x140042cde
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x140042cd6
mov r8d, dword [rsp + 0xa0]
test r8d, r8d
je 0x140042cd6
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 0x1400423e2
jmp 0x1400423fe
call qword [sym.imp.mozglue.dll_free]
jmp case.0x140043d3a.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 0x1400430ce
cmp edx, dword [r15 + 0x28]
jbe 0x14004315b
mov byte [r15 + 0x2c], 0
jmp 0x140042436
cmp qword [r15], 0
mov eax, dword [r15 + 0x20]
je 0x140043140
mov rdx, qword [rsp + 0x48]
mov ebp, dword [rdx]
cmp eax, ebp
jae 0x14004323e
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 0x14004314f
mov rbp, qword [rsp + 0x48]
mov ebp, dword [rbp]
cmp edx, ebp
jbe 0x14004342c
jmp 0x140043251
add bl, 0xf0
cmp bl, 2
jae case.0x140043d3a.1
jmp 0x140042930
mov eax, dword [r15 + 0x20]
lea edx, [rax + 1]
cmp qword [r15], 0
je 0x14004316d
mov rbx, qword [rsp + 0x48]
cmp edx, dword [rbx]
jbe 0x14004325e
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140043174
cmp bl, 0x84
jne case.0x140043d3a.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.1400104a0
mov r8d, dword [rsp + 0x2c]
test al, al
jne 0x140042182
jmp case.0x140043d3a.1
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
add dword [r12], 1
jmp 0x140042182
mov bl, byte [rax + rdi + 1]
mov ecx, ebx
and cl, 0xc7
cmp cl, 5
jne 0x14004396f
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 0x140043487
mov rbp, qword [rsp + 0x48]
mov ebp, dword [rbp]
cmp edx, ebp
jae 0x140043523
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 0x140043496
mov rbp, qword [rsp + 0x48]
mov ebp, dword [rbp]
cmp ebx, ebp
ja 0x140043251
jmp 0x140043536
mov al, byte [rax + rdi + 1]
and al, 0xc7
cmp al, 5
jne case.0x140043d3a.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.1400104a0
mov r8d, dword [rsp + 0x2c]
mov sil, 1
jmp 0x140042dfa
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 0x14004217d
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.0x140043d3a.1
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 3]
cmp qword [r15], 0
je 0x140043607
mov rbx, qword [rsp + 0x48]
cmp ebp, dword [rbx]
jbe 0x1400430a3
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
add dword [r12], 3
jmp 0x14004217d
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
add dword [r12], 1
jmp 0x14004217d
mov rbp, qword [rsp + 0x40]
mov byte [rbp], 0
lea ebp, [rax + 8]
cmp ebp, edx
jbe 0x1400427da
mov rcx, qword [rsp + 0x40]
mov byte [rcx], 0
cmp eax, edx
jae 0x140042808
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 0x140042f08
mov rcx, qword [rsp + 0x48]
mov edx, dword [rcx]
cmp eax, edx
jb 0x140042818
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 0x140043251
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 0x14004217d
cmp dl, 0xc0
jne 0x140043447
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 3]
cmp qword [r15], 0
je 0x140043607
mov rcx, qword [rsp + 0x48]
cmp ebp, dword [rcx]
ja 0x140042f64
add rax, rdi
jmp 0x1400430a6
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
add dword [r12], 3
jmp 0x140042182
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
add dword [r12], 3
jmp 0x140042182
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 0x140042f28
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 0x14004217d
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 0x14004217d
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
jmp 0x140042436
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
jmp 0x140042271
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140042271
and bl, 0xf8
cmp bl, 0xb8
jne case.0x140043d3a.1
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 5]
cmp qword [r15], 0
je 0x140043553
mov rbx, qword [rsp + 0x48]
cmp ebp, dword [rbx]
jbe 0x1400435ae
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
add dword [r12], 5
jmp 0x14004217d
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
add dword [r12], 1
jmp 0x140042182
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 0x14004217d
mov rdx, qword [r15 + 0x10]
mov qword [rdx + rcx], rax
add dword [r15 + 0x20], 8
jmp 0x140042436
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 0x140043208
movzx ebx, byte [rax + rcx + 1]
mov edx, ebx
and edx, 0xffffffc0
cmp dl, 0xc0
je 0x1400434c4
cmp dl, 0x40
je 0x1400431c7
test dl, dl
jne case.0x140043d3a.1
mov ebp, ebx
and ebp, 6
cmp ebp, 4
jne 0x1400434c4
cmp edx, 0x40
jne case.0x140043d3a.1
and ebx, 7
add rax, rcx
mov rdx, qword [r15]
mov ecx, dword [r15 + 0x20]
cmp ebx, 4
jne 0x1400435d7
lea ebp, [rcx + 4]
test rdx, rdx
je 0x14004395e
mov rdx, qword [rsp + 0x48]
cmp ebp, dword [rdx]
jbe 0x140043b91
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
add dword [r12], 4
jmp 0x14004217d
cmp bl, 0x44
jne 0x14004217d
cmp byte [rax + rcx + 1], 0x89
jne 0x14004217d
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 2]
cmp qword [r15], 0
jne 0x140043da6
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
add dword [r14 + 0x10], 2
jmp 0x1400425ac
mov rdx, qword [rsp + 0x40]
mov byte [rdx], 0
lea edx, [rax + 8]
cmp edx, ebp
jbe 0x14004342c
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x14004217d
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 0x140043174
cmp edx, dword [rsp + 0x90]
jbe 0x140043564
mov byte [rsp + 0x94], 0
jmp 0x140042bcc
mov edx, dword [rsp + 0x90]
cmp ebp, edx
jbe 0x14004357a
mov byte [rsp + 0x94], 0
mov dword [rsp + 0x8c], ecx
cmp ecx, edx
jae 0x1400437ae
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 0x140042c05
mov edx, dword [rsp + 0x90]
cmp ecx, edx
jb 0x1400437be
mov byte [rsp + 0x94], 0
lea eax, [rcx + 8]
cmp eax, edx
jbe 0x1400437f8
mov byte [rsp + 0x94], 0
cmp ecx, edx
jae 0x140043837
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 0x140042c27
mov edx, dword [rsp + 0x90]
cmp ecx, edx
jb 0x140043847
mov byte [rsp + 0x94], 0
cmp ecx, edx
jae 0x14004387e
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 0x140042c40
cmp byte [rsp + 0x94], 0
je 0x140042c40
mov ebx, dword [rsp + 0x8c]
add rbx, qword [rsp + 0x80]
je 0x140042c40
mov byte [rsp + 0x3f], 0xb8
lea rsi, [rsp + 0xd0]
lea rdx, [rsp + 0x3f]
mov rcx, rsi
call fcn.1400109e0
and ebx, 0x7fffffff
mov rcx, rsi
mov edx, ebx
call fcn.140010a30
mov byte [rsp + 0x3f], 0x48
lea rdx, [rsp + 0x3f]
mov rcx, rsi
call fcn.1400109e0
mov byte [rsp + 0x3f], 0x63
lea rdx, [rsp + 0x3f]
mov rcx, rsi
call fcn.1400109e0
mov byte [rsp + 0x3f], 0xc0
lea rdx, [rsp + 0x3f]
mov rcx, rsi
call fcn.1400109e0
mov byte [rsp + 0x3f], 0xff
lea rdx, [rsp + 0x3f]
mov rcx, rsi
call fcn.1400109e0
mov byte [rsp + 0x3f], 0xe0
lea rdx, [rsp + 0x3f]
mov rcx, rsi
call fcn.1400109e0
xor ebp, ebp
jmp 0x140042c40
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 0x14004217d
cmp dl, 0x60
jne case.0x140043d3a.1
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 5]
cmp qword [r15], 0
je 0x140043553
mov rcx, qword [rsp + 0x48]
cmp ebp, dword [rcx]
ja 0x14004311d
add rax, rdi
jmp 0x1400435b1
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
add dword [r12], 8
jmp 0x14004217d
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 0x14004217d
mov rbx, qword [rsp + 0x48]
cmp ebp, dword [rbx]
ja 0x140042868
mov rbp, qword [rsp + 0x50]
mov rbp, qword [rbp]
mov al, byte [rcx + rax]
mov byte [rbp + rdx], al
jmp 0x140042aa7
mov edx, dword [r15 + 0x20]
lea ebp, [rdx + 2]
cmp qword [r15], 0
je 0x1400434f0
mov rbx, qword [rsp + 0x48]
cmp ebp, dword [rbx]
ja 0x14004298b
mov rbp, qword [rsp + 0x50]
mov rbp, qword [rbp]
movzx eax, word [rax + rcx]
jmp 0x140042a70
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
add dword [r12], 2
jmp 0x14004217d
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 0x14004217d
mov rbx, qword [rsp + 0x40]
mov byte [rbx], 0
lea ebx, [rdx + 8]
cmp ebx, ebp
ja 0x140043251
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 0x14004343a
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
add dword [r12], 5
jmp 0x14004217d
mov rdx, qword [rsp + 0x78]
mov qword [rdx + rcx], rax
add dword [rsp + 0x88], 8
jmp 0x140042bcc
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 0x14004379f
mov ebp, ecx
jmp 0x140042bf9
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 0x14004217d
lea ebp, [rcx + 3]
test rdx, rdx
je 0x140043607
mov rdx, qword [rsp + 0x48]
cmp ebp, dword [rdx]
ja 0x140042f64
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 0x1400430bc
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
add dword [r12], 3
jmp 0x14004217d
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
add dword [r12], 6
jmp 0x140042182
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
add dword [r12], 6
jmp 0x140042182
cmp byte [rcx + rbp + 1], 0x3d
jne case.0x140043d3a.1
add ebp, 2
mov dword [r12], ebp
cmp qword [r15], 0
mov eax, dword [r15 + 0x20]
je 0x1400439d1
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x140043bb0
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 0x1400439db
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx]
cmp eax, ecx
jb 0x140043bc0
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x1400439e5
cmp byte [rcx + rbp + 1], 0x48
jne case.0x140043d3a.1
mov al, byte [rcx + rbp + 2]
and al, 0xfc
cmp al, 0x88
jne case.0x140043d3a.1
mov eax, dword [r15 + 0x20]
lea edx, [rax + 3]
cmp qword [r15], 0
jne 0x140043f1f
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
add dword [r14 + 0x10], 3
jmp 0x1400425ac
cmp dl, 0xc2
jg 0x14004388b
cmp dl, 0x83
jne 0x140043cde
mov al, byte [rcx + rbp + 1]
and al, 0xf8
cmp al, 0x60
jne case.0x140043d3a.1
mov eax, dword [r15 + 0x20]
lea edx, [rax + 5]
cmp qword [r15], 0
je 0x14004394d
mov rbx, qword [rsp + 0x48]
cmp edx, dword [rbx]
ja 0x14004311d
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 0x1400435c5
cmp al, 0x25
je 0x140043dc5
cmp dl, 0xd0
jne 0x1400438d7
mov eax, dword [r15 + 0x20]
lea edx, [rax + 2]
cmp qword [r15], 0
je 0x140043d7a
mov rbx, qword [rsp + 0x48]
cmp edx, dword [rbx]
ja 0x14004298b
mov rdx, qword [rsp + 0x50]
mov rdx, qword [rdx]
movzx ecx, word [rcx + rbp]
mov word [rdx + rax], cx
jmp 0x140042a75
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
add dword [r12], 2
jmp 0x140042182
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
add dword [r12], 2
jmp 0x140042182
mov edx, dword [rsp + 0x90]
cmp ecx, edx
jb 0x1400432b9
mov byte [rsp + 0x94], 0
cmp ecx, edx
jae 0x1400432f0
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 0x140042c14
mov edx, dword [rsp + 0x90]
cmp eax, edx
ja 0x140043303
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 0x140042c1d
mov edx, dword [rsp + 0x90]
cmp ecx, edx
jb 0x140043313
mov byte [rsp + 0x94], 0
cmp ecx, edx
jae 0x14004334a
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 0x140042c31
mov edx, dword [rsp + 0x90]
cmp ecx, edx
jb 0x14004335a
mov byte [rsp + 0x94], 0
jmp 0x140042c3b
lea eax, [rdx + 0x3d]
cmp al, 0x33
jbe 0x140043d29
lea eax, [rdx - 0x74]
cmp al, 2
jae 0x140043d8b
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.1400104a0
test al, al
mov r8d, dword [rsp + 0x2c]
jne 0x140042182
jmp case.0x140043d3a.1
and al, 0x38
cmp al, 0x20
jne case.0x140043d3a.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.140044e40
test eax, eax
js case.0x140043d3a.1
lea ebx, [rax + 1]
cmp qword [r15], 0
mov ecx, dword [r15 + 0x20]
lea eax, [rcx + rax + 1]
je 0x140043f65
mov rdx, qword [rsp + 0x48]
cmp eax, dword [rdx]
jbe 0x140043f6e
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140043f8d
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
add dword [r12], 5
jmp 0x14004217d
mov rax, qword [rsp + 0x30]
mov dword [rax], ebp
add dword [r12], 4
jmp 0x14004217d
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.140044e40
lea ebx, [rax + 1]
cmp qword [r15], 0
mov ecx, dword [r15 + 0x20]
lea eax, [rcx + rax + 1]
je 0x140043eef
mov rdx, qword [rsp + 0x48]
cmp eax, dword [rdx]
jbe 0x140043d99
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140042179
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 0x140043af2
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x140043bdb
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 0x140043afc
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx]
cmp eax, ecx
jb 0x140043beb
mov rbx, qword [rsp + 0x40]
mov byte [rbx], 0
lea ebx, [rax + 8]
cmp ebx, ecx
jbe 0x140043c1c
mov rdx, qword [rsp + 0x40]
mov byte [rdx], 0
cmp eax, ecx
jae 0x140043c55
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 0x140043b1e
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx]
cmp eax, ecx
jb 0x140043c65
mov rdx, qword [rsp + 0x40]
mov byte [rdx], 0
cmp eax, ecx
jae 0x140043c93
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 0x140043b37
mov ebp, dword [r12]
add rbp, qword [r13]
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx]
cmp edx, ecx
ja 0x140043cae
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 0x140043b3e
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 0x140042f08
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x140043cbb
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 0x140042f12
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x140043251
jmp 0x140043ccb
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 0x14004217d
mov rdx, qword [rsp + 0x40]
mov byte [rdx], 0
cmp eax, ecx
jae 0x140043696
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 0x1400439e5
mov rbx, qword [rsp + 0x40]
mov byte [rbx], 0
cmp eax, ecx
jae 0x140043a42
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 0x140043b0b
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx]
cmp ebx, ecx
ja 0x140043a55
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 0x140043b14
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx]
cmp eax, ecx
jb 0x140043a65
mov rdx, qword [rsp + 0x40]
mov byte [rdx], 0
cmp eax, ecx
jae 0x140043a93
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 0x140043b28
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx]
cmp eax, ecx
jb 0x140043aa3
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 0x140043ad8
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140043b3e
mov rdx, qword [rsp + 0x40]
mov byte [rdx], 0
cmp eax, ecx
jae 0x140043251
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx]
mov eax, eax
mov byte [rcx + rax], 0x5b
jmp 0x140043008
cmp dl, 0x85
jne case.0x140043d3a.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.140044e40
test eax, eax
jns 0x140042138
jmp case.0x140043d3a.1
movzx eax, al
lea rbx, [0x140043f9c]
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 0x140043d69
mov rbx, qword [rsp + 0x48]
cmp edx, dword [rbx]
ja 0x1400428fe
mov rdx, qword [rsp + 0x50]
mov rdx, qword [rdx]
mov cl, byte [rcx + rbp]
mov byte [rdx + rax], cl
jmp 0x140043091
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
add dword [r12], 1
jmp 0x14004217d
mov rax, qword [rsp + 0x30]
mov dword [rax], edx
add dword [r12], 2
jmp 0x14004217d
cmp dl, 0x33
jne case.0x140043d3a.1
jmp 0x140043749
mov edx, dword [r14 + 0x10]
add rdx, qword [r14 + 8]
jmp 0x140042162
mov rbx, qword [rsp + 0x48]
cmp ebp, dword [rbx]
jbe 0x140043efb
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
add dword [r14 + 0x10], 2
jmp 0x1400425ac
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.1400104a0
mov sil, 1
jmp 0x1400438c5
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.140044e40
test eax, eax
jns 0x140043eda
jmp case.0x140043d3a.1
cmp byte [rcx + rbp + 1], 0xc0
jae 0x140043749
jmp case.0x140043d3a.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 0x140042df0
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.140044e40
test eax, eax
js case.0x140043d3a.1
cmp byte [rsp + 0x98], 0
jne case.0x140043d3a.1
lea ebx, [rax + 2]
cmp qword [r15], 0
mov ecx, dword [r15 + 0x20]
lea eax, [rcx + rax + 2]
jne 0x14004214d
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
jmp 0x140042179
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 0x1400425ac
mov rbx, qword [rsp + 0x48]
cmp edx, dword [rbx]
jbe 0x140043f3a
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
add dword [r14 + 0x10], 3
jmp 0x1400425ac
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 0x1400425ac
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
jmp 0x140043f8d
mov edx, dword [r12]
add rdx, qword [r13]
mov r8d, ebx
mov rax, qword [rsp + 0x50]
add rcx, qword [rax]
call sub.ntdll.dll_memcpy
mov rax, qword [rsp + 0x30]
add dword [rax], ebx
add dword [r12], ebx
mov sil, 1
jmp 0x14004217d