Function at 0x100476530
Capabilities:
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
mov qword [rsp + 0xc0], rcx
mov rdi, rdx
mov r12, r8
cmp r9, r8
jbe 0x100477743
mov ebp, dword [rsp + 0xe0]
mov eax, dword [rsp + 0xe0]
mov r13, rcx
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0xd8], r9
and ebp, 0x10
and eax, 0x20
mov dword [rsp + 0x50], ebp
mov dword [rsp + 0x3c], eax
lea rax, [r12 + 1]
movzx r15d, byte [r12]
mov qword [rsp + 0x30], rax
test ebp, ebp
jne 0x100476700
xor r14d, r14d
cmp qword [rsp + 0xc8], r13
jbe 0x1004765af
movzx r14d, byte [r13]
mov ebx, dword [rsp + 0x3c]
test ebx, ebx
je 0x1004765c3
cmp byte [r12 + 1], 0x28
je 0x100476ca0
cmp r15d, 0x5b
je 0x100476900
jg 0x100476670
cmp r15d, 0x2a
je 0x100476750
cmp r15d, 0x3f
jne 0x100476730
test r14d, r14d
je 0x100476650
movzx eax, byte [rsp + 0xe0]
and eax, 1
cmp r14d, 0x2f
jne 0x100476601
test al, al
jne 0x100476650
test byte [rsp + 0xe0], 4
je 0x100476618
cmp r14d, 0x2e
je 0x1004770c0
nop dword [rax]
mov r12, qword [rsp + 0x30]
add r13, 1
cmp qword [rsp + 0xd8], r12
ja 0x100476586
mov rdi, qword [rsp + 0xc8]
cmp rdi, r13
je 0x100476890
test byte [rsp + 0xe0], 8
jne 0x10047745e
nop
mov eax, 1
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp r15d, 0x5c
jne 0x100476730
mov rax, qword [rsp + 0x30]
cmp rax, qword [rsp + 0xd8]
je 0x100476650
test byte [rsp + 0xe0], 2
jne 0x100476d48
movzx r15d, byte [r12 + 1]
lea rax, [r12 + 2]
cmp qword [rsp + 0xd8], rax
jb 0x100476650
mov r12, rax
test ebp, ebp
je 0x100476d55
call sub.msys_2.0.dll___locale_ctype_ptr
movzx eax, byte [r15 + rax + 1]
and eax, 3
cmp al, 1
je 0x10047746d
call sub.msys_2.0.dll___locale_ctype_ptr
mov r8, rax
lea eax, [r14 + 1]
cdqe
movzx eax, byte [r8 + rax]
and eax, 3
cmp al, 1
jne 0x100476d55
call sub.msys_2.0.dll___locale_ctype_ptr
mov ecx, r14d
call fcn.1004d35e0
mov r14d, eax
jmp 0x100476d55
call sub.msys_2.0.dll___locale_ctype_ptr
movzx eax, byte [r15 + rax + 1]
and eax, 3
cmp al, 1
jne 0x10047659d
call sub.msys_2.0.dll___locale_ctype_ptr
mov ecx, r15d
call fcn.1004d35e0
mov r15d, eax
jmp 0x10047659d
movzx r15d, r15b
test ebp, ebp
jne 0x100476ee8
cmp r15d, r14d
je 0x100476618
jmp 0x100476650
mov rdi, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xd8]
test byte [rsp + 0xe0], 4
je 0x100476774
cmp r14d, 0x2e
je 0x100477090
cmp qword [rsp + 0x30], rbx
je 0x100476890
movzx r15d, byte [r12 + 1]
lea rbp, [r12 + 2]
cmp r15d, 0x2a
je 0x10047679a
cmp r15d, 0x3f
jne 0x1004771b5
mov eax, dword [rsp + 0xe0]
and eax, 1
mov dword [rsp + 0x38], eax
mov esi, eax
cmp r14d, 0x2f
jne 0x1004767b8
test al, al
jne 0x100476650
mov byte [rsp + 0x30], sil
mov esi, dword [rsp + 0x3c]
jmp 0x10047680e
cmp r15d, 0x3f
je 0x100476840
cmp r15d, 0x2a
je 0x1004768a0
cmp rbx, rbp
je 0x1004772df
movzx r15d, byte [rbp]
lea r12, [rbp + 1]
cmp r15d, 0x3f
je 0x1004767fa
cmp r15d, 0x2a
jne 0x1004771c0
cmp r14d, 0x2f
jne 0x10047680b
cmp byte [rsp + 0x30], 0
jne 0x100476650
mov rbp, r12
test esi, esi
jne 0x1004767c8
cmp r15d, 0x3f
jne 0x1004767d8
test r14d, r14d
je 0x100476650
lea rax, [r13 + 1]
xor r14d, r14d
cmp rdi, rax
jbe 0x100476832
movzx r14d, byte [r13 + 1]
mov r13, rax
jmp 0x1004767d8
cmp byte [rbp], 0x28
jne 0x100476818
mov eax, dword [rsp + 0xe0]
mov r9, rbp
mov r8, rdi
mov rdx, r13
mov qword [rsp + 0x20], rbx
mov ecx, 0x3f
mov dword [rsp + 0x28], eax
call fcn.100475fe0
test eax, eax
je 0x100476890
add rbp, 1
cmp rbx, rbp
je 0x100476890
mov rcx, rbp
xor r8d, r8d
mov rdx, rbx
call fcn.100475c70
mov rbp, rax
test rax, rax
jne 0x1004767d8
xor eax, eax
jmp 0x100476655
cmp byte [rbp], 0x28
jne 0x1004767d8
mov r12, r13
cmp rdi, r13
jbe 0x10047732c
mov dword [rsp + 0x40], esi
mov esi, dword [rsp + 0xe0]
jmp 0x1004768d5
add r12, 1
cmp rdi, r12
je 0x100477328
mov dword [rsp + 0x28], esi
mov r9, rbp
mov r8, rdi
mov rdx, r12
mov qword [rsp + 0x20], rbx
mov ecx, 0x2a
call fcn.100475fe0
test eax, eax
jne 0x1004768c8
jmp 0x100476890
test r14d, r14d
je 0x100476650
cmp qword [rsp + 0xc8], r13
je 0x100476650
test byte [rsp + 0xe0], 4
je 0x10047692b
cmp r14d, 0x2e
je 0x100477060
mov byte [rsp + 0x38], r14b
test ebp, ebp
jne 0x100476f20
movzx ebx, byte [r12 + 1]
mov rcx, qword [rsp + 0x30]
cmp bl, 0x21
sete dl
cmp bl, 0x5e
sete al
or dl, al
mov byte [rsp + 0x57], dl
jne 0x100476d68
mov esi, dword [rsp + 0xe0]
mov qword [rsp + 0x48], r13
lea r12, [rcx + 1]
shr esi, 1
xor esi, 1
and esi, 1
cmp bl, 0x5b
je 0x100476b11
cmp bl, 0x5c
mov r14d, esi
sete al
and al, sil
jne 0x100476d10
test ebp, ebp
jne 0x100476d38
test bl, bl
je 0x1004771a0
xor edi, edi
mov r15d, ebx
movzx ebx, byte [r12]
lea rdx, [r12 + 1]
test bl, bl
je 0x1004771a0
cmp bl, 0x2f
jne 0x1004769c8
test byte [rsp + 0xe0], 1
jne 0x100476650
cmp bl, 0x2d
jne 0x100476a90
movzx r13d, byte [r12 + 1]
cmp r13b, 0x5d
je 0x100476a90
lea rbx, [r12 + 2]
cmp r13b, 0x5c
jne 0x1004769f5
test r14b, r14b
jne 0x100477050
test r13b, r13b
je 0x100476650
movzx r14d, r13b
cmp r13b, 0x5b
je 0x100476e70
test ebp, ebp
jne 0x100476eb0
movzx r10d, r15b
lea r12, [rbx + 1]
movzx ebx, byte [rbx]
cmp r14d, r10d
je 0x100476a9a
test edi, edi
jne 0x100476a38
mov ecx, dword [sym.bash.exe_glob_asciirange]
mov eax, r10d
sub eax, r14d
test ecx, ecx
jne 0x100476a6e
lea rdx, [0x1004d8728]
lea rcx, [0x1004d872a]
mov dword [rsp + 0x40], r10d
mov byte [0x1004d872a], r15b
mov byte [0x1004d8728], r13b
call fcn.1004d3410
mov r10d, dword [rsp + 0x40]
mov edx, r10d
sub edx, r14d
test eax, eax
cmove eax, edx
test eax, eax
jle 0x100476a9a
cmp bl, 0x5d
jne 0x100476d80
mov r13, qword [rsp + 0x48]
cmp byte [rsp + 0x57], 0
jne 0x10047661d
jmp 0x100476650
movzx r10d, r15b
mov r13d, r15d
mov r12, rdx
movzx r14d, byte [rsp + 0x38]
cmp r10d, r14d
je 0x100476bb0
test edi, edi
jne 0x100476abd
mov edx, dword [sym.bash.exe_glob_asciirange]
mov eax, r14d
sub eax, r10d
test edx, edx
jne 0x100476af7
movzx eax, byte [rsp + 0x38]
lea rdx, [0x1004d8728]
lea rcx, [0x1004d872a]
mov dword [rsp + 0x40], r10d
mov byte [0x1004d8728], r15b
mov byte [0x1004d872a], al
call fcn.1004d3410
mov r10d, dword [rsp + 0x40]
mov edx, r14d
sub edx, r10d
test eax, eax
cmove eax, edx
test eax, eax
jns 0x100476bb0
cmp bl, 0x5d
je 0x100476a7b
cmp bl, 0x5b
jne 0x10047697c
movzx eax, byte [r12]
cmp al, 0x3d
je 0x100476dc8
cmp al, 0x3a
je 0x100476fe0
mov r15d, 0x5b
xor edi, edi
cmp al, 0x2e
je 0x100476f58
mov r14d, esi
test ebp, ebp
je 0x1004769a3
call sub.msys_2.0.dll___locale_ctype_ptr
movzx edx, r15b
movzx eax, byte [rdx + rax + 1]
and eax, 3
cmp al, 1
je 0x100476fc0
test bl, bl
je 0x1004771a0
movzx ebx, byte [r12]
lea rdx, [r12 + 1]
mov qword [rsp + 0x40], rdx
call sub.msys_2.0.dll___locale_ctype_ptr
movzx ecx, bl
mov rdx, qword [rsp + 0x40]
movzx eax, byte [rcx + rax + 1]
and eax, 3
cmp al, 1
jne 0x1004769ad
mov qword [rsp + 0x40], rdx
call sub.msys_2.0.dll___locale_ctype_ptr
movzx ecx, bl
call fcn.1004d35e0
mov rdx, qword [rsp + 0x40]
mov ebx, eax
jmp 0x1004769ad
movzx r15d, r13b
cmp r14d, r15d
je 0x100476c08
test edi, edi
jne 0x100476bcb
mov eax, dword [sym.bash.exe_glob_asciirange]
test eax, eax
jne 0x100476db8
movzx eax, byte [rsp + 0x38]
lea rdx, [0x1004d8728]
sub r14d, r15d
lea rcx, [0x1004d872a]
mov byte [0x1004d8728], r13b
mov byte [0x1004d872a], al
call fcn.1004d3410
test eax, eax
cmove eax, r14d
test eax, eax
jg 0x100476aff
nop dword [rax]
mov r13, qword [rsp + 0x48]
lea rdx, [r12 - 1]
movzx eax, byte [r12 - 1]
test al, al
je 0x10047766d
mov r8d, dword [rsp + 0xe0]
mov ecx, 1
shr r8d, 1
xor r8d, 1
and r8d, 1
nop dword [rax + rax]
lea r12, [rdx + 1]
cmp al, 0x5b
je 0x100476c76
cmp al, 0x5d
je 0x100477680
test r8b, r8b
je 0x100476c5d
cmp al, 0x5c
je 0x1004776e6
test al, al
je 0x10047766d
movzx edx, byte [rdx + 1]
mov eax, edx
mov rdx, r12
lea r12, [rdx + 1]
cmp al, 0x5b
jne 0x100476c48
movzx eax, byte [rdx + 1]
mov edx, eax
cmp al, 0x3d
ja 0x100476c69
movabs rdi, 0xdbffbfffffffffff
bt rdi, rax
jb 0x100476c69
add ecx, 1
mov rdx, r12
jmp 0x100476c40
lea eax, [r15 - 0x21]
cmp eax, 0x1f
ja 0x1004765c3
mov edx, 0xc0000601
bt rdx, rax
jae 0x1004765d3
mov eax, dword [rsp + 0xe0]
mov r9, qword [rsp + 0x30]
mov rdx, r13
mov ecx, r15d
mov rbx, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0xc8]
and eax, 0xfffffffb
cmp qword [rsp + 0xc0], r13
cmove eax, dword [rsp + 0xe0]
mov qword [rsp + 0x20], rbx
mov r8, rdi
mov dword [rsp + 0x28], eax
mov dword [rsp + 0xe0], eax
call fcn.100475fe0
jmp 0x100476655
movzx r15d, byte [r12]
test r15b, r15b
je 0x100476650
add r12, 1
test ebp, ebp
jne 0x100476f90
xor edi, edi
mov r14d, eax
jmp 0x1004769a3
mov r15d, ebx
xor edi, edi
jmp 0x100476b41
mov r12, qword [rsp + 0x30]
test ebp, ebp
jne 0x1004766cd
cmp r14d, r15d
je 0x10047661d
jmp 0x100476650
movzx ebx, byte [r12 + 2]
lea rcx, [r12 + 2]
jmp 0x10047695b
test ebp, ebp
je 0x100476973
call sub.msys_2.0.dll___locale_ctype_ptr
movzx edx, bl
movzx eax, byte [rdx + rax + 1]
and eax, 3
cmp al, 1
jne 0x100476973
call sub.msys_2.0.dll___locale_ctype_ptr
movzx ecx, bl
call fcn.1004d35e0
mov ebx, eax
jmp 0x100476973
mov eax, r14d
sub eax, r15d
jmp 0x100476bf9
xor edi, edi
cmp byte [r12 + 2], 0x3d
mov r15d, 0x5b
jne 0x100476b36
cmp byte [r12 + 3], 0x5d
jne 0x100476b36
test ebp, ebp
jne 0x100477483
movzx edi, byte [r12 + 1]
mov r14d, edi
movzx ebx, byte [rsp + 0x38]
mov dword [rsp + 0x6c], edi
lea r8, [r12 + 5]
cmp ebx, r14d
je 0x100477773
movzx r15d, byte [rsp + 0x38]
lea rdx, [0x1004d8728]
sub ebx, r14d
lea rcx, [0x1004d872a]
mov qword [rsp + 0x40], r8
mov byte [0x1004d872a], r15b
mov byte [0x1004d8728], dil
call fcn.1004d3410
mov r8, qword [rsp + 0x40]
or ebx, eax
je 0x100477773
movzx ebx, byte [r12 + 4]
test bl, bl
jne 0x10047771e
mov r13, qword [rsp + 0x48]
cmp r15b, 0x5b
jne 0x100476650
jmp 0x100476618
cmp byte [rbx], 0x2e
mov r14d, 0x5b
jne 0x100476a0c
mov rcx, rbx
lea rdx, [rsp + 0x6c]
call fcn.100475a80
mov r14d, dword [rsp + 0x6c]
mov rbx, rax
cmp r14d, 0xffffffff
je 0x100477707
mov r13d, r14d
mov edi, 1
movzx r14d, r14b
jmp 0x100476a0c
call sub.msys_2.0.dll___locale_ctype_ptr
movzx edx, r13b
movzx eax, byte [rdx + rax + 1]
and eax, 3
cmp al, 1
jne 0x100476a14
call sub.msys_2.0.dll___locale_ctype_ptr
mov ecx, r14d
call fcn.1004d35e0
mov r13d, eax
movzx r14d, al
jmp 0x100476a14
call sub.msys_2.0.dll___locale_ctype_ptr
mov r8, rax
lea eax, [r14 + 1]
cdqe
movzx eax, byte [r8 + rax]
and eax, 3
cmp al, 1
jne 0x10047673c
call sub.msys_2.0.dll___locale_ctype_ptr
mov ecx, r14d
call fcn.1004d35e0
mov r14d, eax
jmp 0x10047673c
call sub.msys_2.0.dll___locale_ctype_ptr
mov r8, rax
lea eax, [r14 + 1]
cdqe
movzx eax, byte [r8 + rax]
and eax, 3
cmp al, 1
jne 0x100476938
call sub.msys_2.0.dll___locale_ctype_ptr
mov ecx, r14d
call fcn.1004d35e0
mov byte [rsp + 0x38], al
jmp 0x100476938
mov rcx, r12
lea rdx, [rsp + 0x6c]
mov edi, 1
call fcn.100475a80
movzx ecx, byte [rsp + 0x38]
mov r12, rax
mov eax, dword [rsp + 0x6c]
lea r8d, [rcx + 1]
cmp eax, 0xffffffff
mov edx, eax
cmove edx, r8d
mov r15d, edx
jmp 0x100476b36
mov byte [rsp + 0x40], al
mov edi, 0
call sub.msys_2.0.dll___locale_ctype_ptr
movzx ecx, r15b
movzx r14d, byte [rsp + 0x40]
movzx eax, byte [rcx + rax + 1]
and eax, 3
cmp al, 1
jne 0x100476b62
nop dword [rax + rax]
call sub.msys_2.0.dll___locale_ctype_ptr
movzx ecx, r15b
call fcn.1004d35e0
mov r15d, eax
jmp 0x100476b5a
lea rax, [r12 + 1]
mov dword [rsp + 0x6c], 0
mov qword [rsp + 0x40], rax
mov rbx, rax
movzx eax, byte [r12 + 1]
test al, al
jne 0x100477040
nop
movzx ebx, byte [r12]
test bl, bl
je 0x1004771a0
cmp bl, 0x5d
je 0x100477398
mov r12, qword [rsp + 0x40]
test ebp, ebp
je 0x100476973
jmp 0x100476d88
cmp al, 0x5d
je 0x1004770f0
add rbx, 1
test al, al
je 0x100477000
mov edx, eax
movzx eax, byte [rbx + 1]
cmp dl, 0x3a
jne 0x100477038
jmp 0x100477030
movzx r13d, byte [r12 + 2]
lea rbx, [r12 + 3]
jmp 0x1004769f5
cmp qword [rsp + 0xc0], r13
je 0x100476650
test byte [rsp + 0xe0], 1
je 0x10047692b
cmp byte [r13 - 1], 0x2f
jne 0x10047692b
jmp 0x100476650
cmp qword [rsp + 0xc0], r13
je 0x100476650
test byte [rsp + 0xe0], 1
je 0x100476774
cmp byte [r13 - 1], 0x2f
jne 0x100476774
jmp 0x100476650
cmp qword [rsp + 0xc0], r13
je 0x100476650
test al, al
je 0x100476618
cmp byte [r13 - 1], 0x2f
jne 0x100476618
jmp 0x100476650
mov r14, rbx
sub r14, r12
mov rcx, r14
call fcn.1004d2f30
mov rdi, rax
test rax, rax
je 0x100477797
mov rdx, qword [rsp + 0x40]
lea r8, [r14 - 1]
mov rcx, rdi
lea r13, [0x1004f7de0]
call fcn.1004d2fe0
mov byte [rdi + r14 - 1], 0
movzx r9d, byte [rdi]
mov r14d, 1
mov qword [rsp + 0x58], rbx
mov eax, 0x61
mov rbx, rdi
lea rdx, [0x1004f7700]
mov r15d, r9d
jmp 0x100477166
add r14, 1
cmp r14, 0xf
je 0x10047772e
mov rdx, qword [r13 + r14*8]
movzx eax, byte [rdx]
cmp al, r15b
jne 0x100477150
mov rcx, rbx
call sub.msys_2.0.dll_strcmp
test eax, eax
jne 0x100477150
mov rdi, rbx
mov rbx, qword [rsp + 0x58]
cmp r14d, 0xe
ja case.0x10047719a.0
lea rdx, [0x1004f770c]
mov r8d, r14d
movsxd rax, dword [rdx + r8*4]
add rax, rdx
jmp rax
cmp byte [rsp + 0x38], 0x5b
mov r13, qword [rsp + 0x48]
jne 0x100476650
jmp 0x100476618
mov r12, rbp
nop dword [rax + rax]
test r15d, r15d
je 0x100477750
cmp rdi, r13
jne 0x1004771dc
mov r10d, dword [rsp + 0x3c]
test r10d, r10d
jne 0x100477695
mov edx, dword [rsp + 0xe0]
and edx, 1
cmp r15d, 0x2f
je 0x1004773a7
test edx, edx
mov eax, 0x2f
mov r8, rdi
mov rcx, r13
cmovne edx, eax
sub r8, r13
call sub.msys_2.0.dll_memchr
mov rsi, rax
test rax, rax
cmove rsi, rdi
test byte [rsp + 0xe0], 2
jne 0x100477226
cmp r15d, 0x5c
je 0x1004776fd
mov r14d, r15d
mov r9d, dword [rsp + 0x50]
test r9d, r9d
jne 0x100477410
lea rbp, [r12 - 1]
cmp r13, rsi
jae 0x100476650
movzx eax, r14b
mov r14d, dword [rsp + 0xe0]
mov dword [rsp + 0x30], r15d
mov r15, r13
mov dword [rsp + 0x38], eax
mov r13, rbx
mov ebx, dword [rsp + 0x3c]
and r14d, 0xfffffffb
jmp 0x100477295
mov r8d, dword [rsp + 0x50]
test r8d, r8d
jne 0x100477360
movzx ecx, byte [r15]
cmp dword [rsp + 0x38], ecx
je 0x1004772be
add r15, 1
cmp r15, rsi
je 0x100476650
test ebx, ebx
je 0x1004772b7
cmp byte [r12], 0x28
je 0x1004772be
movzx edx, byte [r12 - 1]
lea rcx, [0x1004f7706]
call sub.msys_2.0.dll_strchr
test rax, rax
jne 0x1004772be
cmp dword [rsp + 0x30], 0x5b
jne 0x100477270
mov dword [rsp + 0x20], r14d
mov r9, r13
mov r8, rbp
mov rdx, rdi
mov rcx, r15
call fcn.100476530
test eax, eax
jne 0x100477288
xor eax, eax
jmp 0x100476655
test r15d, r15d
jne 0x100476890
mov r11d, dword [rsp + 0x38]
test r11d, r11d
je 0x100476890
test byte [rsp + 0xe0], 8
jne 0x100476890
sub rdi, r13
mov edx, 0x2f
mov rcx, r13
mov r8, rdi
call sub.msys_2.0.dll_memchr
test rax, rax
setne al
movzx eax, al
jmp 0x100476655
mov esi, dword [rsp + 0x40]
lea rcx, [rbp + 1]
cmp rbx, rcx
je 0x100476890
xor r8d, r8d
mov rdx, rbx
call fcn.100475c70
mov rbp, rax
test rax, rax
jne 0x1004767d8
xor eax, eax
jmp 0x100476655
call sub.msys_2.0.dll___locale_ctype_ptr
movzx edx, byte [r15]
movzx eax, byte [rdx + rax + 1]
mov rcx, rdx
and eax, 3
cmp al, 1
jne 0x100477282
mov dword [rsp + 0x3c], edx
call sub.msys_2.0.dll___locale_ctype_ptr
mov ecx, dword [rsp + 0x3c]
call fcn.1004d35e0
mov ecx, eax
jmp 0x100477282
mov r13, qword [rsp + 0x48]
mov r12, qword [rsp + 0x40]
jmp 0x100476a80
test edx, edx
je 0x10047743f
cmp rdi, r13
ja 0x1004773cd
jmp 0x100476650
add r13, 1
cmp rdi, r13
je 0x100476650
cmp byte [r13], 0x2f
jne 0x1004773c0
cmp rdi, r13
jbe 0x100476650
mov eax, dword [rsp + 0xe0]
mov r9, rbx
mov r8, r12
mov rdx, rdi
lea rcx, [r13 + 1]
mov dword [rsp + 0x20], eax
call fcn.100476530
test eax, eax
setne al
movzx eax, al
jmp 0x100476655
call sub.msys_2.0.dll___locale_ctype_ptr
movzx edx, r14b
movzx eax, byte [rdx + rax + 1]
and eax, 3
cmp al, 1
jne 0x100477237
call sub.msys_2.0.dll___locale_ctype_ptr
movzx ecx, r14b
call fcn.1004d35e0
mov r14d, eax
jmp 0x100477237
mov r8, rdi
xor edx, edx
mov rcx, r13
sub r8, r13
call sub.msys_2.0.dll_memchr
mov rsi, rax
test rax, rax
cmove rsi, rdi
jmp 0x100477226
xor eax, eax
cmp byte [r13], 0x2f
setne al
jmp 0x100476655
call sub.msys_2.0.dll___locale_ctype_ptr
mov ecx, r15d
call fcn.1004d35e0
movzx r15d, al
jmp 0x1004766cd
call sub.msys_2.0.dll___locale_ctype_ptr
movzx edx, byte [r12 + 1]
movzx eax, byte [rdx + rax + 1]
mov rdi, rdx
mov r14d, edx
and eax, 3
cmp al, 1
jne 0x100476df9
call sub.msys_2.0.dll___locale_ctype_ptr
mov ecx, edi
call fcn.1004d35e0
mov edi, eax
movzx r14d, al
jmp 0x100476df9
call sub.msys_2.0.dll___locale_ctype_ptr
movzx edx, byte [rsp + 0x38]
test byte [rdx + rax + 1], 7
setne r14b
cmp dl, 0x5f
sete al
or r14d, eax
movzx r14d, r14b
lea rax, [rbx + 3]
mov rcx, rdi
mov dword [rsp + 0x6c], r14d
lea r12, [rbx + 2]
mov qword [rsp + 0x40], rax
call fcn.1004d2c80
test r14d, r14d
je 0x100477000
mov rdx, r12
mov r13, qword [rsp + 0x48]
mov r12, qword [rsp + 0x40]
jmp 0x100476c12
call sub.msys_2.0.dll___locale_ctype_ptr
movzx edx, byte [rsp + 0x38]
xor r14d, r14d
movzx eax, byte [rdx + rax + 1]
and eax, 3
cmp al, 1
sete r14b
jmp 0x1004774db
call sub.msys_2.0.dll___locale_ctype_ptr
movzx edx, byte [rsp + 0x38]
xor r14d, r14d
test byte [rdx + rax + 1], 0x44
setne r14b
jmp 0x1004774db
call sub.msys_2.0.dll___locale_ctype_ptr
movzx edx, byte [rsp + 0x38]
xor r14d, r14d
test byte [rdx + rax + 1], 3
setne r14b
jmp 0x1004774db
call sub.msys_2.0.dll___locale_ctype_ptr
movzx edx, byte [rsp + 0x38]
xor r14d, r14d
test byte [rdx + rax + 1], 7
setne r14b
jmp 0x1004774db
call sub.msys_2.0.dll___locale_ctype_ptr
movzx edx, byte [rsp + 0x38]
movzx r14d, byte [rdx + rax + 1]
shr r14b, 3
and r14d, 1
jmp 0x1004774db
call sub.msys_2.0.dll___locale_ctype_ptr
movzx edx, byte [rsp + 0x38]
movzx r14d, byte [rdx + rax + 1]
shr r14b, 4
and r14d, 1
jmp 0x1004774db
call sub.msys_2.0.dll___locale_ctype_ptr
movzx edx, byte [rsp + 0x38]
xor r14d, r14d
movsx eax, byte [rdx + rax + 1]
test al, 0x97
setne r14b
jmp 0x1004774db
call sub.msys_2.0.dll___locale_ctype_ptr
movzx edx, byte [rsp + 0x38]
xor r14d, r14d
movzx eax, byte [rdx + rax + 1]
and eax, 3
cmp al, 2
sete r14b
jmp 0x1004774db
call sub.msys_2.0.dll___locale_ctype_ptr
movzx edx, byte [rsp + 0x38]
xor r14d, r14d
test byte [rdx + rax + 1], 0x17
setne r14b
jmp 0x1004774db
call sub.msys_2.0.dll___locale_ctype_ptr
movzx edx, byte [rsp + 0x38]
movzx r14d, byte [rdx + rax + 1]
shr r14b, 2
and r14d, 1
jmp 0x1004774db
call sub.msys_2.0.dll___locale_ctype_ptr
movzx edx, byte [rsp + 0x38]
movzx r14d, byte [rdx + rax + 1]
shr r14b, 5
and r14d, 1
jmp 0x1004774db
call sub.msys_2.0.dll___locale_ctype_ptr
movzx edx, byte [rsp + 0x38]
movzx r14d, byte [rdx + rax + 1]
shr r14b, 7
cmp dl, 9
sete al
or r14d, eax
movzx r14d, r14b
jmp 0x1004774db
cmp byte [rsp + 0x38], 0x5b
jne 0x100476650
jmp 0x100476618
sub ecx, 1
je 0x100477763
movzx eax, byte [rdx + 1]
mov rdx, r12
jmp 0x100476c40
cmp r15d, 0x21
jne 0x1004771dc
mov edx, dword [rsp + 0xe0]
and edx, 1
cmp byte [r12], 0x28
jne 0x1004771f0
mov qword [rsp + 0x20], rbx
lea r9, [r12 - 1]
mov r8, rdi
mov rdx, r13
mov eax, dword [rsp + 0xe0]
mov ecx, 0x21
mov dword [rsp + 0x28], eax
call fcn.100475fe0
test eax, eax
sete al
movzx eax, al
jmp 0x100476655
cmp byte [rdx + 1], 0
je 0x100476650
movzx eax, byte [rdx + 2]
add rdx, 2
jmp 0x100476c40
movzx r14d, byte [r12]
jmp 0x100477229
movzx eax, byte [rsp + 0x38]
mov edi, 1
lea r13d, [rax - 1]
movzx r14d, r13b
jmp 0x100476a0c
mov r12, r8
test ebp, ebp
je 0x100476973
jmp 0x100476d88
mov rcx, rbx
mov dword [rsp + 0x6c], 0
call fcn.1004d2c80
jmp 0x100477000
mov r13, qword [rsp + 0xc0]
jmp 0x100476637
mov eax, dword [rsp + 0xe0]
and eax, 1
mov dword [rsp + 0x38], eax
jmp 0x1004772e8
cmp byte [rsp + 0x57], 0
je 0x10047661d
jmp 0x100476650
lea rdx, [r12 + 4]
mov r13, qword [rsp + 0x48]
mov r12, r8
jmp 0x100476c12
movsx r14d, byte [rsp + 0x38]
not r14d
shr r14d, 0x1f
jmp 0x1004774db
lea rax, [rbx + 3]
lea r12, [rbx + 2]
mov qword [rsp + 0x40], rax
jmp 0x100477000