Function at 0x14005af50
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, 0x118
mov rsi, r9
mov rdi, r8
mov r12, rdx
mov r13, rcx
mov rcx, qword [rsp + 0x188]
mov rbx, qword [0x1400e00c0]
mov rax, qword [rbx]
xor rax, rsp
mov qword [rsp + 0x110], rax
mov qword [rcx], 0
cmp qword [r9], 0
je 0x14005afc3
cmp qword [rsi + 0x10], 0
je 0x14005c6f4
cmp qword [rsi + 0x18], 0
je 0x14005c6f4
cmp dword [rsi + 8], 0
je 0x14005c6f4
cmp byte [rsi + 0x2c], 0
je 0x14005c6f4
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_EncodePointer]
lea rbp, [rsi + 0x20]
mov ecx, dword [rsi + 0x20]
lea edx, [rcx + 8]
cmp qword [rsi], 0
je 0x14005afe7
cmp edx, dword [rsi + 0x28]
jbe 0x14005afec
mov byte [rsi + 0x2c], 0
jmp 0x14005affe
mov dword [rbp], edx
jmp 0x14005b028
mov rdx, qword [rsi + 0x10]
mov qword [rdx + rcx], rax
add dword [rsi + 0x20], 8
cmp qword [rsi], 0
je 0x14005b028
cmp qword [rsi + 0x10], 0
je 0x14005c6f4
cmp qword [rsi + 0x18], 0
je 0x14005c6f4
cmp dword [rsi + 8], 0
je 0x14005c6f4
cmp byte [rsi + 0x2c], 0
je 0x14005c6f4
mov ecx, dword [r12 + 0x10]
add rcx, qword [r12 + 8]
call qword [sym.imp.KERNEL32.dll_EncodePointer]
mov ecx, dword [rsi + 0x20]
lea edx, [rcx + 8]
cmp qword [rsi], 0
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x50], rdi
je 0x14005b059
cmp edx, dword [rsi + 0x28]
jbe 0x14005b05e
mov byte [rsi + 0x2c], 0
jmp 0x14005b070
mov dword [rbp], edx
jmp 0x14005b09a
mov rdx, qword [rsi + 0x10]
mov qword [rdx + rcx], rax
add dword [rsi + 0x20], 8
cmp qword [rsi], 0
je 0x14005b09a
cmp qword [rsi + 0x10], 0
je 0x14005c6da
cmp qword [rsi + 0x18], 0
je 0x14005c6da
cmp dword [rsi + 8], 0
je 0x14005c6da
cmp byte [rsi + 0x2c], 0
je 0x14005c6da
mov r9, qword [rsp + 0x180]
mov rax, qword [rsp + 0x188]
mov qword [rsp + 0x20], rax
mov rcx, r13
mov rdx, rsi
mov r8, r12
call fcn.14005dcf0
test al, al
jne 0x14005c6da
mov eax, dword [rsi + 0x20]
mov dword [rsi + 0x24], eax
cmp byte [r13 + 0x14], 0
je 0x14005c753
lea r11, [r12 + 8]
lea r14, [r12 + 0x10]
mov eax, dword [r13 + 0x10]
and eax, 2
mov r10d, eax
shr r10d, 1
xor ecx, ecx
test eax, eax
sete cl
lea r8d, [rcx + rcx*2]
add r8d, 0xa
mov ecx, dword [r14]
cmp ecx, r8d
jae 0x14005c5c4
lea rax, [rsi + 0x28]
mov qword [rsp + 0x38], rax
lea rax, [rsi + 0x2c]
mov qword [rsp + 0x30], rax
mov edi, r8d
xor r15d, r15d
mov rdx, qword [r11]
mov eax, ecx
mov rcx, rax
jmp 0x14005b140
add rcx, 1
mov dword [r14], ecx
cmp rcx, rdi
jae 0x14005c5c7
test r15b, 1
je 0x14005b159
movzx ebx, byte [rdx + rcx]
cmp bl, 0xcc
je 0x14005b130
cmp bl, 0x90
je 0x14005b130
jmp 0x14005c678
movzx ecx, byte [rdx + rax]
cmp rcx, 0xf
mov dword [rsp + 0x5c], r8d
mov qword [rsp + 0x60], rdi
jne 0x14005b197
mov ecx, dword [rsi + 0x20]
lea ebp, [rcx + 1]
cmp qword [rsi], 0
je 0x14005b268
mov rbx, qword [rsp + 0x38]
cmp ebp, dword [rbx]
jbe 0x14005b30f
mov rax, qword [rsp + 0x30]
mov byte [rax], 0
jmp 0x14005b31e
cmp cl, 0x88
jb 0x14005b1fd
cmp cl, 0x8b
ja 0x14005b274
mov ecx, dword [rsi + 0x20]
lea ebp, [rcx + 1]
cmp qword [rsi], 0
je 0x14005b5a1
mov rbx, qword [rsp + 0x38]
cmp ebp, dword [rbx]
jbe case.default.0x14005b1fb
mov rax, qword [rsp + 0x30]
mov byte [rax], 0
mov r9d, dword [r14]
lea r8d, [r9 + 1]
mov dword [r14], r8d
mov rdx, qword [r11]
movzx ecx, byte [rdx + r8]
mov ebp, 2
mov edi, 1
mov rax, rcx
shr rax, 6
lea rbx, [0x14005c84c]
movsxd rax, dword [rbx + rax*4]
add rax, rbx
jmp rax
lea ebp, [rcx - 0x40]
cmp bpl, 2
jb 0x14005b3cc
cmp cl, 0x44
je 0x14005b577
cmp cl, 0x45
jne 0x14005b274
add rdx, rax
mov rcx, rsi
mov r8d, 1
mov edi, r10d
mov rbx, r11
call fcn.14005dfd0
mov rcx, rbx
mov eax, dword [r14]
add eax, 1
mov dword [r14], eax
mov rdx, qword [rbx]
cmp byte [rdx + rax], 0x33
jne 0x14005c6da
add rdx, rax
mov rcx, rsi
mov r8d, 2
call fcn.14005dfd0
mov r11, rbx
mov r10d, edi
add dword [r14], 2
jmp 0x14005bd62
mov rax, qword [rsp + 0x48]
mov dword [rax], ebp
jmp 0x14005b31e
mov ebx, ecx
and bl, 0xfa
cmp bl, 0x48
jne 0x14005b482
mov dword [rsp + 0x2c], r10d
add rdx, rax
mov rcx, rsi
mov r8d, 1
mov qword [rsp + 0x40], r11
call fcn.14005dfd0
mov rdi, qword [rsp + 0x40]
mov r9d, dword [r14]
lea eax, [r9 + 1]
mov dword [r14], eax
mov rdx, qword [rdi]
mov bl, byte [rdx + rax]
cmp bl, 0x84
jg 0x14005b5db
cmp bl, 0x81
je 0x14005b8ae
cmp bl, 0x83
jne 0x14005b8e2
mov cl, byte [rdx + rax + 1]
and cl, 0xf8
cmp cl, 0xc0
je 0x14005b2eb
cmp cl, 0x60
je 0x14005bb5b
cmp cl, 0xe8
jne 0x14005c6da
add rdx, rax
mov rcx, rsi
mov r8d, 3
call fcn.14005dfd0
mov r11, qword [rsp + 0x40]
mov r10d, dword [rsp + 0x2c]
add dword [r14], 3
jmp 0x14005bd62
mov rbp, qword [rsi + 0x10]
mov al, byte [rdx + rax]
mov byte [rbp + rcx], al
add dword [rsi + 0x20], 1
mov edx, dword [r14]
lea eax, [rdx + 1]
mov dword [r14], eax
mov rcx, qword [r11]
mov bpl, byte [rcx + rax]
lea ebx, [rbp - 0x10]
cmp bl, 2
jb 0x14005b374
cmp bpl, 5
je 0x14005b3f6
cmp bpl, 0x1f
jne 0x14005b41f
mov edx, dword [rsi + 0x20]
lea ebp, [rdx + 1]
cmp qword [rsi], 0
je 0x14005b6f9
mov rbx, qword [rsp + 0x38]
cmp ebp, dword [rbx]
jbe 0x14005b70b
mov rax, qword [rsp + 0x30]
mov byte [rax], 0
jmp 0x14005b71a
mov edx, dword [rsi + 0x20]
lea ebp, [rdx + 1]
cmp qword [rsi], 0
je 0x14005b4fb
mov rbx, qword [rsp + 0x38]
cmp ebp, dword [rbx]
jbe case.default.0x14005b3ca
mov rax, qword [rsp + 0x30]
mov byte [rax], 0
mov r9d, dword [r14]
lea r8d, [r9 + 1]
mov dword [r14], r8d
mov rdx, qword [r11]
movzx ecx, byte [rdx + r8]
mov ebp, 2
mov edi, 1
mov rax, rcx
shr rax, 6
lea rbx, [0x14005c85c]
movsxd rax, dword [rbx + rax*4]
add rax, rbx
jmp rax
mov ecx, dword [rsi + 0x20]
lea ebp, [rcx + 1]
cmp qword [rsi], 0
je 0x14005b702
mov rbx, qword [rsp + 0x38]
cmp ebp, dword [rbx]
jbe 0x14005b76f
mov rax, qword [rsp + 0x30]
mov byte [rax], 0
jmp 0x14005b77e
mov edx, dword [rsi + 0x20]
lea ebp, [rdx + 1]
cmp qword [rsi], 0
je 0x14005b7c1
mov rbx, qword [rsp + 0x38]
cmp ebp, dword [rbx]
ja 0x14005b7b0
mov rbp, qword [rsi + 0x10]
mov al, byte [rcx + rax]
jmp 0x14005ba0f
movzx eax, bpl
lea ecx, [rax + 0x7d]
cmp cl, 2
ja 0x14005c6da
add edx, 2
mov dword [r14], edx
add dword [rsi + 0x20], 0xffffffff
lea rcx, [0x1400e4d44]
mov r8d, dword [rcx + rax*4 - 0x20c]
mov eax, dword [r14]
mov rcx, qword [r11]
lea rdx, [rcx + rax]
movsxd rcx, dword [rcx + rax]
lea rdx, [rcx + rdx + 4]
add eax, 4
mov dword [r14], eax
mov rcx, rsi
mov edi, r10d
mov rbx, r11
call fcn.14005e0b0
mov r11, rbx
mov r10d, edi
test al, al
jne 0x14005bd62
jmp 0x14005c6da
cmp cl, 0x66
jne 0x14005b618
mov edi, r10d
add rdx, rax
mov rcx, rsi
mov r8d, 1
mov rbx, r11
call fcn.14005dfd0
mov r11, rbx
mov eax, dword [r14]
add eax, 1
mov dword [r14], eax
mov rdx, qword [rbx]
mov cl, byte [rdx + rax]
cmp cl, 0x88
jb 0x14005b82d
cmp cl, 0x8b
ja 0x14005bb21
movzx ebp, byte [rdx + rax + 1]
mov ecx, ebp
and cl, 0xc0
cmp cl, 0xc0
je 0x14005b248
cmp cl, 0x40
je 0x14005bc3f
test cl, cl
jne 0x14005c6da
and ebp, 6
cmp ebp, 4
jne 0x14005b248
jmp 0x14005c6da
mov rax, qword [rsp + 0x48]
mov dword [rax], ebp
mov r9d, dword [r14]
lea r8d, [r9 + 1]
mov dword [r14], r8d
mov rdx, qword [r11]
movzx ecx, byte [rdx + r8]
mov ebp, 2
mov edi, 1
mov rax, rcx
shr rax, 6
lea rbx, [0x14005c85c]
movsxd rax, dword [rbx + rax*4]
add rax, rbx
jmp rax
mov rbp, qword [rsi + 0x10]
mov al, byte [rcx + rax]
mov byte [rbp + rdx], al
add dword [rsi + 0x20], 1
mov r9d, dword [r14]
lea r8d, [r9 + 1]
mov dword [r14], r8d
mov rdx, qword [r11]
movzx ecx, byte [rdx + r8]
mov ebp, 2
mov edi, 1
mov rax, rcx
shr rax, 6
lea rbx, [0x14005c85c]
movsxd rax, dword [rbx + rax*4]
add rax, rbx
jmp rax
mov ecx, dword [rsi + 0x20]
lea ebp, [rcx + 1]
cmp qword [rsi], 0
je 0x14005b892
mov rbx, qword [rsp + 0x38]
cmp ebp, dword [rbx]
jbe 0x14005b955
mov rax, qword [rsp + 0x30]
mov byte [rax], 0
jmp 0x14005b964
mov rax, qword [rsp + 0x48]
mov dword [rax], ebp
mov r9d, dword [r14]
lea r8d, [r9 + 1]
mov dword [r14], r8d
mov rdx, qword [r11]
movzx ecx, byte [rdx + r8]
mov ebp, 2
mov edi, 1
mov rax, rcx
shr rax, 6
lea rbx, [0x14005c84c]
movsxd rax, dword [rbx + rax*4]
add rax, rbx
jmp rax
cmp bl, 0x85
je 0x14005b5e9
cmp bl, 0x2b
jne 0x14005b8e2
cmp byte [rdx + rax + 1], 0xc0
jb 0x14005c6da
add rdx, rax
mov rcx, rsi
mov r8d, 2
call fcn.14005dfd0
mov r11, qword [rsp + 0x40]
mov r10d, dword [rsp + 0x2c]
add dword [r14], 2
jmp 0x14005bd62
mov rdi, r11
mov dword [rsp + 0x2c], r10d
mov ebx, ecx
and bl, 0xf0
cmp bl, 0x50
je case.0x14005bd09.0
cmp cl, 0x80
je 0x14005bb7f
cmp cl, 0x90
je case.0x14005bd09.0
cmp cl, 0x65
jne 0x14005bbcd
cmp byte [rdx + rax + 1], 0x48
jne 0x14005c6da
mov cl, byte [rdx + rax + 2]
and cl, 0xfc
cmp cl, 0x88
jne 0x14005c6da
add rdx, rax
mov rcx, rsi
mov r8d, 3
call fcn.14005dfd0
add dword [r12 + 0x10], 3
mov rcx, r13
mov rdx, r12
xor r8d, r8d
call fcn.14005e010
test eax, eax
js 0x14005c6da
mov rcx, rdi
mov ebx, eax
mov edx, dword [r14]
add rdx, qword [rdi]
mov rcx, rsi
mov r8d, ebx
call fcn.14005dfd0
mov r11, rdi
mov r10d, dword [rsp + 0x2c]
add dword [r14], ebx
jmp 0x14005bd62
mov rbp, qword [rsi + 0x10]
mov al, byte [rdx + rax]
mov byte [rbp + rcx], al
add dword [rsi + 0x20], 1
mov r9d, dword [r14]
lea r8d, [r9 + 1]
mov dword [r14], r8d
mov rdx, qword [r11]
movzx ecx, byte [rdx + r8]
mov ebp, 2
mov edi, 1
mov rax, rcx
shr rax, 6
lea rbx, [0x14005c84c]
movsxd rax, dword [rbx + rax*4]
add rax, rbx
jmp rax
mov rax, qword [rsp + 0x48]
mov dword [rax], ebp
jmp 0x14005b71a
mov rax, qword [rsp + 0x48]
mov dword [rax], ebp
jmp 0x14005b77e
mov rbp, qword [rsi + 0x10]
mov al, byte [rcx + rax]
mov byte [rbp + rdx], al
add dword [rsi + 0x20], 1
mov ecx, dword [r14]
add ecx, 1
mov dword [r14], ecx
mov rax, qword [r11]
mov dl, byte [rax + rcx]
and dl, 0xc7
cmp dl, 0x44
jne 0x14005c6da
mov edx, dword [rsi + 0x20]
lea ebp, [rdx + 3]
cmp qword [rsi], 0
je 0x14005b75f
mov rbx, qword [rsp + 0x38]
cmp ebp, dword [rbx]
jbe 0x14005b80b
mov rax, qword [rsp + 0x30]
mov byte [rax], 0
add dword [r14], 3
jmp 0x14005bd62
mov rax, qword [rsp + 0x48]
mov dword [rax], ebp
add dword [r14], 3
jmp 0x14005bd62
mov rbp, qword [rsi + 0x10]
mov al, byte [rdx + rax]
mov byte [rbp + rcx], al
add dword [rsi + 0x20], 1
mov ecx, dword [r14]
add ecx, 1
mov dword [r14], ecx
mov rax, qword [r11]
mov bl, byte [rax + rcx]
mov edx, ebx
and dl, 0xf0
cmp dl, 0x50
jne 0x14005b7d1
mov edx, dword [rsi + 0x20]
lea ebp, [rdx + 1]
cmp qword [rsi], 0
je 0x14005b7c1
mov rbx, qword [rsp + 0x38]
cmp ebp, dword [rbx]
jbe 0x14005ba08
mov rax, qword [rsp + 0x30]
mov byte [rax], 0
add dword [r14], 1
jmp 0x14005bd62
mov rax, qword [rsp + 0x48]
mov dword [rax], ebp
add dword [r14], 1
jmp 0x14005bd62
and bl, 0xf8
cmp bl, 0xb8
jne 0x14005c6da
mov edx, dword [rsi + 0x20]
lea ebp, [rdx + 5]
cmp qword [rsi], 0
je 0x14005b89e
mov rbx, qword [rsp + 0x38]
cmp ebp, dword [rbx]
jbe 0x14005ba20
mov rax, qword [rsp + 0x30]
mov byte [rax], 0
add dword [r14], 5
jmp 0x14005bd62
add rax, rcx
mov rcx, qword [rsi + 0x10]
mov bl, byte [rax + 2]
mov byte [rcx + rdx + 2], bl
movzx eax, word [rax]
mov word [rcx + rdx], ax
add dword [rsi + 0x20], 3
add dword [r14], 3
jmp 0x14005bd62
cmp cl, 0x44
mov r10d, edi
jne 0x14005bd62
cmp byte [rdx + rax + 1], 0x89
jne 0x14005bd62
add rdx, rax
mov rcx, rsi
mov r8d, 2
call fcn.14005dfd0
add dword [r12 + 0x10], 2
mov rcx, r13
mov rdx, r12
xor r8d, r8d
call fcn.14005e010
test eax, eax
js 0x14005c6da
mov ebp, eax
mov edx, dword [r14]
add rdx, qword [rbx]
mov rcx, rsi
mov r8d, eax
call fcn.14005dfd0
mov r11, rbx
mov r10d, edi
add dword [r14], ebp
jmp 0x14005bd62
mov rax, qword [rsp + 0x48]
mov dword [rax], ebp
jmp 0x14005b964
mov rax, qword [rsp + 0x48]
mov dword [rax], ebp
add dword [r14], 5
jmp 0x14005bd62
mov cl, byte [rdx + rax + 1]
and cl, 0xf8
cmp cl, 0xe8
jne 0x14005c6da
add rdx, rax
mov rcx, rsi
mov r8d, 6
call fcn.14005dfd0
mov r11, qword [rsp + 0x40]
mov r10d, dword [rsp + 0x2c]
add dword [r14], 6
jmp 0x14005bd62
mov ecx, ebx
and cl, 0xfd
cmp cl, 0x89
jne 0x14005bb29
add r9d, 2
mov rax, qword [r12]
mov qword [rsp + 0x70], rax
add rdx, r9
mov qword [rsp + 0x78], rdx
mov dword [rsp + 0x80], 0
mov rcx, r13
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x6f]
call fcn.14005e010
mov ebx, eax
test eax, eax
js 0x14005bc65
mov edx, dword [r14]
mov rdi, qword [rsp + 0x40]
add rdx, qword [rdi]
add ebx, 1
mov rcx, rsi
mov r8d, ebx
call fcn.14005dfd0
mov r11, rdi
add dword [r14], ebx
mov r10d, dword [rsp + 0x2c]
jmp 0x14005bd62
mov rbp, qword [rsi + 0x10]
mov al, byte [rdx + rax]
mov byte [rbp + rcx], al
add dword [rsi + 0x20], 1
mov eax, dword [r14]
add eax, 1
mov dword [r14], eax
mov rcx, qword [r11]
cmp byte [rcx + rax], 0x89
jne 0x14005c6da
mov edx, dword [rsi + 0x20]
lea ebp, [rdx + 1]
cmp qword [rsi], 0
je 0x14005b9ce
mov rbx, qword [rsp + 0x38]
cmp ebp, dword [rbx]
jbe case.default.0x14005b9cc
mov rax, qword [rsp + 0x30]
mov byte [rax], 0
mov r9d, dword [r14]
lea r8d, [r9 + 1]
mov dword [r14], r8d
mov rdx, qword [r11]
movzx ecx, byte [rdx + r8]
mov ebp, 2
mov edi, 1
mov rax, rcx
shr rax, 6
lea rbx, [0x14005c76c]
movsxd rax, dword [rbx + rax*4]
add rax, rbx
jmp rax
mov rax, qword [rsp + 0x48]
mov dword [rax], ebp
mov r9d, dword [r14]
lea r8d, [r9 + 1]
mov dword [r14], r8d
mov rdx, qword [r11]
movzx ecx, byte [rdx + r8]
mov ebp, 2
mov edi, 1
mov rax, rcx
shr rax, 6
lea rbx, [0x14005c76c]
movsxd rax, dword [rbx + rax*4]
add rax, rbx
jmp rax
mov rbp, qword [rsi + 0x10]
mov al, byte [rax + rcx]
mov byte [rbp + rdx], al
add dword [rsi + 0x20], 1
add dword [r14], 1
jmp 0x14005bd62
add rax, rcx
mov rcx, qword [rsi + 0x10]
mov bl, byte [rax + 4]
mov byte [rcx + rdx + 4], bl
mov eax, dword [rax]
mov dword [rcx + rdx], eax
add dword [rsi + 0x20], 5
add dword [r14], 5
jmp 0x14005bd62
mov rbp, qword [rsi + 0x10]
mov al, byte [rcx + rax]
mov byte [rbp + rdx], al
add dword [rsi + 0x20], 1
mov r9d, dword [r14]
lea r8d, [r9 + 1]
mov dword [r14], r8d
mov rdx, qword [r11]
movzx ecx, byte [rdx + r8]
mov ebp, 2
mov edi, 1
mov rax, rcx
shr rax, 6
lea rbx, [0x14005c76c]
movsxd rax, dword [rbx + rax*4]
add rax, rbx
jmp rax
mov eax, ecx
and al, 7
cmp al, 4
je 0x14005ba9f
mov ebp, 1
cmp al, 5
jne case.0x14005ba80.1
jmp 0x14005c6da
mov ebp, 5
jmp case.0x14005ba80.1
add r9d, 2
mov al, byte [rdx + r9]
and al, 7
xor ebp, ebp
cmp al, 5
sete bpl
lea ebp, [rbp*4 + 1]
and cl, 7
xor edi, edi
cmp cl, 4
sete dil
add edi, ebp
mov ecx, dword [rsi + 0x20]
lea eax, [rcx + rdi]
cmp qword [rsi], 0
je 0x14005baec
mov rbp, qword [rsp + 0x38]
cmp eax, dword [rbp]
jbe 0x14005bafb
mov rax, qword [rsp + 0x30]
mov byte [rax], 0
add dword [r14], edi
jmp 0x14005bd62
mov rcx, qword [rsp + 0x48]
mov dword [rcx], eax
add dword [r14], edi
jmp 0x14005bd62
add rdx, r8
add rcx, qword [rsi + 0x10]
mov r8d, edi
mov ebx, r10d
mov rbp, r11
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r11, rbp
mov r10d, ebx
add dword [rsi + 0x20], edi
add dword [r14], edi
jmp 0x14005bd62
mov r10d, edi
jmp 0x14005bd62
mov ecx, ebx
and cl, 0xf8
cmp cl, 0xb8
jne 0x14005bbf5
add rdx, rax
mov rcx, rsi
mov r8d, 9
call fcn.14005dfd0
mov r11, qword [rsp + 0x40]
mov r10d, dword [rsp + 0x2c]
add dword [r14], 9
jmp 0x14005bd62
add rdx, rax
mov rcx, rsi
mov r8d, 5
call fcn.14005dfd0
mov r11, qword [rsp + 0x40]
mov r10d, dword [rsp + 0x2c]
add dword [r14], 5
jmp 0x14005bd62
cmp byte [rdx + rax + 1], 0x3d
jne 0x14005c6da
mov rbp, rdi
add eax, 2
mov dword [r14], eax
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x14005bd94
mov rcx, qword [rsp + 0x38]
cmp eax, dword [rcx]
jae 0x14005bdba
mov rcx, qword [rsi + 0x10]
mov byte [rcx + rax], 0x49
mov eax, dword [rsi + 0x20]
add eax, 1
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
jne 0x14005bdc2
jmp 0x14005bd97
mov ebx, ecx
and bl, 0xf8
cmp bl, 0xb8
jne 0x14005bce1
add rdx, rax
mov rcx, rsi
mov r8d, 5
call fcn.14005dfd0
add dword [r14], 5
jmp 0x14005bd5a
cmp bl, 0xfe
jg 0x14005bd7d
cmp bl, 0x8d
je 0x14005bfc4
cmp bl, 0xc7
jne 0x14005c6da
cmp byte [rdx + rax + 1], 0x44
jne 0x14005c6da
add rdx, rax
mov rcx, rsi
mov r8d, 8
call fcn.14005dfd0
mov r11, qword [rsp + 0x40]
mov r10d, dword [rsp + 0x2c]
add dword [r14], 8
jmp 0x14005bd62
and ebp, 7
add rdx, rax
mov rcx, rsi
cmp ebp, 4
jne 0x14005bda3
mov r8d, 4
call fcn.14005dfd0
add dword [r14], 4
jmp 0x14005bdb2
cmp ebx, 0xfffffffe
mov rdx, qword [rsp + 0x40]
jne 0x14005c6da
mov eax, dword [r14]
lea ecx, [rax + 2]
mov dword [r14], ecx
mov rdx, qword [rdx]
lea rbp, [rdx + rcx]
movsxd rcx, dword [rdx + rcx]
add rcx, rbp
add rcx, 4
add eax, 6
mov dword [r14], eax
mov dl, byte [rsp + 0x6f]
test dl, dl
je 0x14005bf29
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x14005c0ae
mov rbp, qword [rsp + 0x38]
cmp eax, dword [rbp]
jae 0x14005c13d
add dl, 0xb8
mov rbp, qword [rsi + 0x10]
mov byte [rbp + rax], dl
mov edx, dword [rsi + 0x20]
lea eax, [rdx + 1]
mov dword [rsi + 0x20], eax
add edx, 9
cmp qword [rsi], 0
jne 0x14005c148
jmp 0x14005c1fe
cmp cl, 0xc2
jle 0x14005c0e0
lea ebp, [rcx + 0x3d]
cmp bpl, 0x33
ja case.default.0x14005bd09
movzx ebp, bpl
lea rbx, [0x14005c77c]
movsxd rbp, dword [rbx + rbp*4]
add rbp, rbx
jmp rbp
xor r15d, r15d
cmp cl, 0xe9
sete r15b
lea rcx, [rax + 1]
mov dword [r14], ecx
lea rcx, [rdx + rax]
add rcx, 1
movsxd rdx, dword [rdx + rax + 1]
lea rdx, [rdx + rcx + 4]
add eax, 5
mov dword [r14], eax
mov r8d, 4
mov eax, 4
mov eax, 4
sub r8d, r15d
mov rcx, rsi
jmp 0x14005c305
add rdx, rax
mov rcx, rsi
mov r8d, 1
call fcn.14005dfd0
add dword [r14], 1
mov r10d, dword [rsp + 0x2c]
mov r11, rdi
mov ecx, dword [r14]
mov r8d, dword [rsp + 0x5c]
cmp ecx, r8d
mov rdi, qword [rsp + 0x60]
jb 0x14005b120
jmp 0x14005c5c7
cmp bl, 0xff
je 0x14005c02b
cmp bl, 0x63
je 0x14005b5e9
jmp 0x14005c6da
add eax, 1
add eax, 1
mov rcx, qword [rsp + 0x48]
mov dword [rcx], eax
jmp 0x14005bde3
mov r8d, 3
call fcn.14005dfd0
add dword [r14], 3
mov r10d, edi
mov r11, rbx
jmp 0x14005bd62
mov rcx, qword [rsp + 0x30]
mov byte [rcx], 0
mov rcx, qword [rsp + 0x38]
cmp eax, dword [rcx]
jae 0x14005bddb
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x53
add dword [rsi + 0x20], 1
jmp 0x14005bde3
mov rax, qword [rsp + 0x30]
mov byte [rax], 0
mov ecx, dword [r14]
mov r9, qword [rbp]
movsxd r8, dword [r9 + rcx]
lea eax, [rcx + 4]
mov dword [r14], eax
cmp qword [rsi], 0
mov edx, dword [rsi + 0x20]
je 0x14005be27
mov rax, qword [rsp + 0x38]
cmp edx, dword [rax]
jae 0x14005bea5
mov rax, qword [rsi + 0x10]
mov byte [rax + rdx], 0x49
mov edx, dword [rsi + 0x20]
add edx, 1
mov dword [rsi + 0x20], edx
cmp qword [rsi], 0
jne 0x14005bead
jmp 0x14005be2a
add edx, 1
add edx, 9
mov eax, edx
add eax, 1
add eax, 1
add eax, 1
mov rcx, qword [rsp + 0x48]
mov dword [rcx], eax
mov edx, dword [r14]
add rdx, qword [rbp]
mov rcx, rsi
mov r8d, 1
call fcn.14005dfd0
add dword [r14], 1
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x14005be8b
mov rcx, qword [rsp + 0x38]
cmp eax, dword [rcx]
mov r10d, dword [rsp + 0x2c]
jae 0x14005bed7
mov rcx, qword [rsi + 0x10]
mov byte [rcx + rax], 0x49
mov eax, dword [rsi + 0x20]
add eax, 1
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
mov r11, rdi
jne 0x14005bee2
jmp 0x14005be96
add eax, 1
mov r10d, dword [rsp + 0x2c]
mov r11, rdi
add eax, 1
mov rcx, qword [rsp + 0x48]
mov dword [rcx], eax
jmp 0x14005bd62
mov rax, qword [rsp + 0x30]
mov byte [rax], 0
mov rax, qword [rsp + 0x38]
cmp edx, dword [rax]
jae 0x14005befe
mov rax, qword [rsi + 0x10]
mov edx, edx
mov byte [rax + rdx], 0xbb
mov eax, dword [rsi + 0x20]
lea edx, [rax + 1]
mov dword [rsi + 0x20], edx
add eax, 9
cmp qword [rsi], 0
jne 0x14005bf09
jmp 0x14005be2f
mov rcx, qword [rsp + 0x30]
mov byte [rcx], 0
mov r11, rdi
mov rcx, qword [rsp + 0x38]
cmp eax, dword [rcx]
jae 0x14005bf1c
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x5b
add dword [rsi + 0x20], 1
jmp 0x14005bd62
mov rax, qword [rsp + 0x30]
mov byte [rax], 0
lea eax, [rdx + 8]
mov rbx, qword [rsp + 0x38]
cmp eax, dword [rbx]
jbe 0x14005bf66
mov rax, qword [rsp + 0x30]
mov byte [rax], 0
jmp 0x14005bf90
mov rax, qword [rsp + 0x30]
mov byte [rax], 0
jmp 0x14005bd62
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x14005c215
mov rdx, qword [rsp + 0x38]
cmp eax, dword [rdx]
jae 0x14005c252
mov rdx, qword [rsi + 0x10]
mov byte [rdx + rax], 0xa1
mov edx, dword [rsi + 0x20]
lea eax, [rdx + 1]
mov dword [rsi + 0x20], eax
add edx, 9
cmp qword [rsi], 0
jne 0x14005c25d
jmp 0x14005c21a
add r9, rcx
lea rax, [r8 + r9]
add rax, 4
mov rcx, qword [rsi + 0x10]
mov edx, edx
mov qword [rcx + rdx], rax
mov eax, dword [rsi + 0x20]
add eax, 8
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
mov edx, eax
je 0x14005be2f
mov rax, qword [rsp + 0x38]
cmp edx, dword [rax]
jae 0x14005c07d
mov rax, qword [rsi + 0x10]
mov ecx, edx
mov byte [rax + rcx], 0x41
mov eax, dword [rsi + 0x20]
add eax, 1
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
mov edx, eax
jne 0x14005c085
add eax, 1
jmp 0x14005be35
mov al, byte [rdx + rax + 1]
mov ecx, eax
and cl, 0xc7
cmp cl, 5
jne 0x14005c169
lea r10d, [r9 + 3]
mov dword [r14], r10d
movsxd r8, dword [rdx + r10]
add r9d, 7
mov dword [r14], r9d
cmp qword [rsi], 0
mov ecx, dword [rsi + 0x20]
je 0x14005c3c4
mov rbp, qword [rsp + 0x38]
cmp ecx, dword [rbp]
jae 0x14005c3ce
shr al, 3
or al, 0xb8
mov rbp, qword [rsi + 0x10]
mov byte [rbp + rcx], al
mov eax, dword [rsi + 0x20]
lea ecx, [rax + 1]
mov dword [rsi + 0x20], ecx
add eax, 9
cmp qword [rsi], 0
jne 0x14005c3d9
jmp 0x14005c209
mov al, byte [rdx + rax + 1]
and al, 0xc7
cmp al, 5
jne 0x14005c6da
add r9d, 3
mov dword [r14], r9d
add dword [rsi + 0x20], 0xffffffff
mov eax, dword [r14]
mov rcx, qword [rdi]
lea rdx, [rcx + rax]
movsxd rcx, dword [rcx + rax]
add eax, 4
mov dword [r14], eax
mov rdx, qword [rcx + rdx + 4]
mov rcx, rsi
mov r8d, 3
call fcn.14005e0b0
mov r11, qword [rsp + 0x40]
mov r10d, dword [rsp + 0x2c]
mov r15b, 1
jmp 0x14005b475
mov rax, qword [rsp + 0x30]
mov byte [rax], 0
mov rax, qword [rsp + 0x38]
cmp edx, dword [rax]
jae 0x14005c0b8
mov rax, qword [rsi + 0x10]
mov ecx, edx
mov byte [rax + rcx], 0x80
mov eax, dword [rsi + 0x20]
add eax, 1
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
mov edx, eax
jne 0x14005c0c0
jmp 0x14005be35
add eax, 9
mov edx, eax
jmp 0x14005c1fe
mov rax, qword [rsp + 0x30]
mov byte [rax], 0
mov rax, qword [rsp + 0x38]
cmp edx, dword [rax]
jae 0x14005c15c
mov rax, qword [rsi + 0x10]
mov ecx, edx
mov byte [rax + rcx], 0x3b
add dword [rsi + 0x20], 1
jmp 0x14005be3f
cmp cl, 0x83
je 0x14005c39d
cmp cl, 0x85
jne case.0x14005bd09.1
mov rcx, qword [r12]
mov qword [rsp + 0x70], rcx
add rax, rdx
add rax, 1
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x80], 0
mov rcx, r13
lea rdx, [rsp + 0x70]
xor r8d, r8d
call fcn.14005e010
test eax, eax
js 0x14005c6da
mov ebx, eax
mov rax, rdi
mov edx, dword [r14]
add rdx, qword [rdi]
add ebx, 1
jmp 0x14005b69c
mov rdx, qword [rsp + 0x30]
mov byte [rdx], 0
lea edx, [rax + 8]
mov rbp, qword [rsp + 0x38]
cmp edx, dword [rbp]
jbe 0x14005c1bd
mov rcx, qword [rsp + 0x30]
mov byte [rcx], 0
jmp 0x14005c1d8
mov rax, qword [rsp + 0x30]
mov byte [rax], 0
jmp 0x14005be3f
add r9d, 2
mov rax, qword [r12]
mov qword [rsp + 0x70], rax
add rdx, r9
mov qword [rsp + 0x78], rdx
mov dword [rsp + 0x80], 0
mov rcx, r13
lea rdx, [rsp + 0x70]
xor r8d, r8d
call fcn.14005e010
mov edi, eax
mov edx, dword [r12 + 0x10]
add rdx, qword [r12 + 8]
add edi, 1
mov rcx, rsi
mov r8d, edi
call fcn.14005dfd0
add dword [r12 + 0x10], edi
jmp 0x14005c45f
mov rdx, qword [rsi + 0x10]
mov eax, eax
mov qword [rdx + rax], rcx
mov edx, dword [rsi + 0x20]
add edx, 8
mov dword [rsi + 0x20], edx
cmp qword [rsi], 0
mov eax, edx
je 0x14005c1fe
mov rcx, qword [rsp + 0x38]
cmp eax, dword [rcx]
jae 0x14005c226
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x48
mov edx, dword [rsi + 0x20]
add edx, 1
mov dword [rsi + 0x20], edx
cmp qword [rsi], 0
mov eax, edx
jne 0x14005c22e
jmp 0x14005c201
add edx, 1
add edx, 1
mov eax, edx
add eax, 1
mov rcx, qword [rsp + 0x48]
mov dword [rcx], eax
jmp 0x14005c45f
add eax, 9
mov edx, eax
mov rax, qword [rsp + 0x48]
mov dword [rax], edx
jmp 0x14005c45f
mov rcx, qword [rsp + 0x30]
mov byte [rcx], 0
mov rcx, qword [rsp + 0x38]
cmp eax, dword [rcx]
jae 0x14005c299
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x8b
mov eax, dword [rsi + 0x20]
add eax, 1
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
jne 0x14005c2a1
jmp 0x14005c206
mov rdx, qword [rsp + 0x30]
mov byte [rdx], 0
lea edx, [rax + 8]
mov rbp, qword [rsp + 0x38]
cmp edx, dword [rbp]
ja 0x14005c3e3
mov rdx, qword [rsi + 0x10]
mov eax, eax
mov qword [rdx + rax], rcx
jmp 0x14005c45b
cmp cl, 0x33
jne case.0x14005bd09.1
add rdx, rax
mov rcx, rsi
mov r8d, 2
call fcn.14005dfd0
add dword [r14], 2
jmp 0x14005bd5a
mov rcx, qword [rsp + 0x30]
mov byte [rcx], 0
mov dl, byte [rsp + 0x6f]
lea ecx, [rdx*8]
or cl, dl
mov rdx, qword [rsp + 0x38]
cmp eax, dword [rdx]
jae 0x14005c3e3
mov rdx, qword [rsi + 0x10]
mov eax, eax
mov byte [rdx + rax], cl
add dword [rsi + 0x20], 1
jmp 0x14005c45f
cmp cl, 0x73
jb 0x14005c6da
cmp cl, 0x75
ja 0x14005c3ed
lea rbp, [0x1400e4d44]
mov r8d, dword [rbp + rcx*4 - 0x1cc]
movzx ecx, byte [rdx + rax + 1]
add eax, 2
mov dword [r14], eax
add rax, rdx
add rax, rcx
mov rcx, rsi
mov rdx, rax
call fcn.14005e0b0
test al, al
mov r10d, dword [rsp + 0x2c]
mov r11, rdi
jne 0x14005bd62
jmp 0x14005c6da
cmp byte [rdx + rax + 1], 0xc0
jb 0x14005c6da
add rdx, rax
mov rcx, rsi
mov r8d, 2
call fcn.14005dfd0
mov r11, rdi
jmp 0x14005b60a
mov byte [rsp + 0x6f], 0
mov rcx, qword [r12]
mov qword [rsp + 0x70], rcx
add rax, rdx
add rax, 1
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x80], 0
mov rcx, r13
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x6f]
call fcn.14005e010
test eax, eax
js 0x14005c6da
cmp byte [rsp + 0x6f], 0
jne 0x14005c6da
mov ebx, eax
mov edx, dword [r14]
add rdx, qword [rdi]
add ebx, 2
jmp 0x14005b93a
mov cl, byte [rdx + rax + 1]
cmp cl, 0xc0
jb 0x14005c46e
add rdx, rax
mov rcx, rsi
mov r8d, 3
call fcn.14005dfd0
add dword [r14], 3
jmp 0x14005bd5a
add ecx, 9
mov eax, ecx
jmp 0x14005c209
mov rax, qword [rsp + 0x30]
mov byte [rax], 0
lea eax, [rcx + 8]
mov rbp, qword [rsp + 0x38]
cmp eax, dword [rbp]
jbe 0x14005c446
mov rax, qword [rsp + 0x30]
mov byte [rax], 0
jmp 0x14005c45f
cmp cl, 0xc6
je 0x14005c493
cmp cl, 0xff
jne 0x14005c6da
mov cl, byte [rdx + rax + 1]
mov r10d, ecx
shr r10b, 3
and r10b, 7
mov r9d, ecx
and r9b, 7
cmp cl, 0xc0
jb 0x14005c4de
cmp r10b, 6
ja 0x14005c436
movzx ecx, r10b
mov ebp, 0x47
bt ebp, ecx
jb 0x14005c27f
cmp r9b, 5
sete r9b
xor r8d, r8d
jmp 0x14005c521
add rdx, r10
lea rax, [r8 + rdx]
add rax, 4
mov rdx, qword [rsi + 0x10]
mov ecx, ecx
mov qword [rdx + rcx], rax
add dword [rsi + 0x20], 8
mov r10d, dword [rsp + 0x2c]
mov r11, qword [rsp + 0x40]
jmp 0x14005bd62
and cl, 0xf8
cmp cl, 0x60
jne 0x14005c6da
add rdx, rax
mov rcx, rsi
mov r8d, 5
call fcn.14005dfd0
mov r11, rdi
jmp 0x14005bb71
mov rcx, qword [r12]
mov qword [rsp + 0x70], rcx
add rax, rdx
add rax, 1
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x80], 0
mov rcx, r13
lea rdx, [rsp + 0x70]
xor r8d, r8d
call fcn.14005e010
test eax, eax
js 0x14005c6da
mov ebx, eax
mov rax, rdi
mov edx, dword [r14]
add rdx, qword [rdi]
add ebx, 2
jmp 0x14005b69c
cmp cl, 0x40
setb r8b
cmp r9b, 5
sete r9b
jne 0x14005c521
cmp cl, 0x3f
ja 0x14005c521
cmp r10b, 2
jne 0x14005c521
lea ecx, [rax + 2]
mov dword [r14], ecx
lea rbp, [rdx + rcx]
movsxd rcx, dword [rdx + rcx]
add eax, 6
mov dword [r14], eax
mov rdx, qword [rcx + rbp + 4]
mov rcx, rsi
mov r8d, 4
jmp 0x14005c305
cmp r10b, 4
jne 0x14005c6da
and r8b, r9b
cmp r8b, 1
jne 0x14005c563
lea ecx, [rax + 2]
mov dword [r14], ecx
lea rbp, [rdx + rcx]
movsxd rcx, dword [rdx + rcx]
add eax, 6
mov dword [r14], eax
mov rdx, qword [rcx + rbp + 4]
mov rcx, rsi
mov r8d, 3
call fcn.14005e0b0
mov r15b, 1
jmp 0x14005c30a
mov rcx, qword [r12]
mov qword [rsp + 0x70], rcx
add rax, rdx
add rax, 1
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x80], 0
mov rcx, r13
lea rdx, [rsp + 0x70]
xor r8d, r8d
call fcn.14005e010
test eax, eax
js 0x14005c6da
mov ebx, eax
mov edx, dword [r14]
add rdx, qword [rdi]
add ebx, 1
mov rcx, rsi
mov r8d, ebx
call fcn.14005dfd0
mov r11, rdi
mov r10d, dword [rsp + 0x2c]
add dword [r14], ebx
mov r15b, 1
jmp 0x14005bd62
xor r15d, r15d
cmp ecx, 0x64
ja 0x14005c6da
test r15b, 1
jne 0x14005c5f7
mov edx, ecx
add rdx, qword [r11]
mov rcx, rsi
mov r8d, 3
mov edi, r10d
call fcn.14005e0b0
mov r10d, edi
test al, al
je 0x14005c6da
cmp byte [rsi + 0x2c], 0
je 0x14005c6da
cmp qword [rsi], 0
je 0x14005c6da
mov ebx, dword [rsi + 0x24]
add rbx, qword [rsi + 0x18]
je 0x14005c6da
mov edi, r10d
lea rcx, [rsp + 0x70]
mov rdx, r12
xor r8d, r8d
xor r9d, r9d
call fcn.14005e3d0
cmp qword [rsp + 0xe0], 0
je 0x14005c6d0
cmp byte [rsp + 0xc8], 0
je 0x14005c6d0
test dil, dil
je 0x14005c6a5
mov rax, qword [rsp + 0x180]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x70]
mov rcx, r13
mov rdx, qword [rsp + 0x50]
mov r8, rbx
call fcn.14005e7d0
test al, al
jne 0x14005c6b7
jmp 0x14005c6d0
cmp qword [rsp + 0x50], 0
je 0x14005c6da
mov rcx, qword [rsp + 0x50]
mov rdi, r11
call fcn.14005df40
test al, al
je 0x14005c6da
mov r11, rdi
mov ecx, dword [r14]
mov r10b, 1
cmp ecx, 9
ja 0x14005c5c7
jmp 0x14005c6da
lea rcx, [rsp + 0x70]
mov rdx, qword [rsp + 0x180]
call fcn.14005edc0
lea rcx, [rsp + 0x70]
call fcn.14005eff0
test al, al
je 0x14005c6d0
mov rax, qword [rsp + 0x188]
mov qword [rax], rbx
lea rcx, [rsp + 0x70]
call fcn.14005f050
mov rax, qword [rsp + 0x188]
cmp qword [rax], 0
mov rbx, qword [0x1400e00c0]
mov rdi, qword [rsp + 0x48]
je 0x14005c71b
mov rax, qword [rsp + 0x110]
xor rax, rsp
mov rcx, qword [rbx]
cmp rcx, rax
jne 0x14005c763
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov dword [rsi + 0x20], 0
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_EncodePointer]
mov ecx, dword [rsi + 0x20]
lea edx, [rcx + 8]
cmp qword [rsi], 0
je 0x14005c741
cmp edx, dword [rsi + 0x28]
jbe 0x14005c745
mov byte [rsi + 0x2c], 0
jmp 0x14005c6f4
mov dword [rdi], edx
jmp 0x14005c6f4
mov rdx, qword [rsi + 0x10]
mov qword [rdx + rcx], rax
add dword [rsi + 0x20], 8
jmp 0x14005c6f4
mov dword [0], 0x2f1
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
call fcn.14005fbe0
int3