Function at 0x100484190
Capabilities:
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
xor eax, eax
cmp word [r9], 0x28
mov rbx, qword [rsp + 0xc0]
sete al
mov edi, dword [rsp + 0xc8]
mov r13d, ecx
lea rcx, [r9 + rax*2]
mov rsi, rdx
mov r12, r8
mov r14, r9
cmp rcx, rbx
je 0x100483e0c
xor r8d, r8d
mov rdx, rbx
call fcn.100483a60
mov rbp, rax
test rax, rax
je 0x100483e0c
cmp r13d, 0x2b
ja 0x100483d1b
cmp r13d, 0x29
ja 0x100483f3c
cmp r13d, 0x21
jne 0x100483e26
cmp r12, rsi
jb 0x100483e26
lea rax, [r14 + 2]
mov r13, rsi
mov qword [rsp + 0x30], rax
mov eax, edi
and eax, 4
mov dword [rsp + 0x38], eax
mov eax, edi
and al, 0x7b
mov dword [rsp + 0x40], eax
nop dword [rax]
mov r14, qword [rsp + 0x30]
jmp 0x100483ce7
mov r8d, 0x7c
mov rdx, rbx
mov rcx, r14
call fcn.100483a60
mov dword [rsp + 0x28], edi
mov r8, r14
mov rdx, r13
mov qword [rsp + 0x20], 0
lea r9, [rax - 2]
mov rcx, rsi
mov r15, rax
call fcn.100484190
test eax, eax
je 0x100483eb1
cmp rbp, r15
je 0x100483e70
mov r14, r15
cmp r14, rbx
jne 0x100483ca0
mov dword [rsp + 0x28], edi
mov r8, rbx
mov rdx, r13
mov rcx, rsi
mov qword [rsp + 0x20], 0
mov r9, 0xfffffffffffffffe
call fcn.100484190
test eax, eax
je 0x100483eb1
xor r15d, r15d
jmp 0x100483ce4
lea eax, [r13 - 0x3f]
cmp eax, 1
ja 0x100483e26
cmp r13d, 0x3f
je 0x100484117
cmp rbx, rbp
mov rax, rsi
lea rcx, [r14 + 2]
mov r15d, edi
cmove rax, r12
mov qword [rsp + 0x30], rbp
and r15b, 0x7b
mov r13, rcx
mov qword [rsp + 0xc0], rbx
mov rbp, rax
cmp r13, qword [rsp + 0xc0]
je 0x1004840e6
mov rdx, qword [rsp + 0xc0]
mov r8d, 0x7c
mov rcx, r13
call fcn.100483a60
mov rdx, rax
cmp r12, rbp
jb 0x100483f29
mov qword [rsp + 0x38], rdx
lea r14, [rdx - 2]
mov qword [rsp + 0x40], rbp
jmp 0x100483dad
add rbp, 2
cmp r12, rbp
jb 0x100483f1f
mov dword [rsp + 0x28], edi
cmp rsi, rbp
mov ebx, edi
mov r9, r14
mov r8, r13
mov rdx, rbp
mov rcx, rsi
cmovb ebx, r15d
mov qword [rsp + 0x20], 0
call fcn.100484190
test eax, eax
jne 0x100483da0
mov dword [rsp + 0x28], ebx
mov r8, qword [rsp + 0x30]
mov rdx, r12
mov rcx, rbp
mov qword [rsp + 0x20], 0
mov r9, qword [rsp + 0xc0]
call fcn.100484190
test eax, eax
jne 0x100483da0
nop dword [rax]
xor eax, eax
jmp 0x100483e2b
lea rcx, [r14 - 2]
mov rdx, rbx
mov rax, r12
sub rdx, rcx
sub rax, rsi
sar rdx, 1
sar rax, 1
cmp edx, eax
je 0x100483e3c
mov eax, 1
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movzx edi, word [rbx]
movzx ebp, word [r12]
test di, di
jne 0x1004840b6
test bp, bp
je 0x100484100
xor r9d, r9d
mov rdx, rsi
mov word [r12], r9w
call sub.msys_2.0.dll_wcscoll
jmp 0x1004840d4
mov eax, dword [rsp + 0x38]
test eax, eax
je 0x100483ec8
cmp word [rsi], 0x2e
je 0x100483e26
cmp rsi, r13
jae 0x100483f18
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x28], eax
mov r9, rbx
mov r8, r15
mov rdx, r12
mov qword [rsp + 0x20], 0
mov rcx, r13
call fcn.100484190
test eax, eax
je 0x100483e08
add r13, 2
cmp r12, r13
jae 0x100483c90
jmp 0x100483e26
test dil, 0x80
je 0x100483e7e
cmp word [rsi], 0x2e
jne 0x100483e7e
movzx eax, word [rsi + 2]
test ax, ax
je 0x100483e26
cmp ax, 0x2e
je 0x100484070
test dil, 1
je 0x100483e7e
cmp word [rsi - 2], 0x2f
jne 0x100483e7e
cmp ax, 0x2f
je 0x100483e26
cmp ax, 0x5c
jne 0x100483e7e
jmp 0x100483e26
mov eax, edi
jmp 0x100483e8b
mov rdx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
cmp qword [rsp + 0x30], rdx
je 0x100483e26
mov r13, rdx
jmp 0x100483d5a
cmp r13d, 0x2a
je 0x100484144
lea rax, [r14 - 2]
mov qword [rsp + 0x30], rbp
lea r13, [r14 + 2]
mov qword [rsp + 0x40], rax
mov eax, edi
and al, 0x7b
mov dword [rsp + 0x38], eax
cmp r13, rbx
je 0x100484171
mov r8d, 0x7c
mov rdx, rbx
mov rcx, r13
call fcn.100483a60
mov r15, rax
cmp r12, rsi
jb 0x10048405d
mov qword [rsp + 0x48], r15
lea r14, [r15 - 2]
mov r15, rsi
jmp 0x100483ff9
mov eax, dword [rsp + 0x38]
mov r8, qword [rsp + 0x30]
mov r9, rbx
mov rdx, r12
mov qword [rsp + 0x20], 0
mov rcx, r15
mov dword [rsp + 0x28], eax
mov ebp, eax
call fcn.100484190
test eax, eax
je 0x100483e08
mov dword [rsp + 0x28], ebp
mov r8, qword [rsp + 0x40]
mov r9, rbx
mov rdx, r12
mov qword [rsp + 0x20], 0
mov rcx, r15
call fcn.100484190
test eax, eax
je 0x100483e08
nop
add r15, 2
cmp r12, r15
jb 0x100484058
mov dword [rsp + 0x28], edi
mov r9, r14
mov r8, r13
mov rdx, r15
mov qword [rsp + 0x20], 0
mov rcx, rsi
call fcn.100484190
test eax, eax
jne 0x100483ff0
cmp rsi, r15
jb 0x100483f98
mov dword [rsp + 0x28], edi
mov r8, qword [rsp + 0x30]
mov r9, rbx
mov rdx, r12
mov qword [rsp + 0x20], 0
mov rcx, r15
call fcn.100484190
test eax, eax
je 0x100483e08
cmp rsi, r15
je 0x100483ff0
mov ebp, edi
jmp 0x100483fc6
mov r15, qword [rsp + 0x48]
cmp qword [rsp + 0x30], r15
je 0x100483e26
mov r13, r15
jmp 0x100483f60
movzx eax, word [rsi + 4]
test ax, ax
je 0x100483e26
test dil, 1
je 0x100483e7e
cmp word [rsi - 2], 0x2f
jne 0x100483e7e
cmp ax, 0x2f
je 0x100483e26
cmp ax, 0x5c
je 0x100483e26
mov eax, edi
cmp rsi, r13
jb 0x100483e87
jmp 0x100483e8b
xor r8d, r8d
mov word [rbx], r8w
test bp, bp
je 0x10048410a
xor edx, edx
mov word [r12], dx
mov rdx, rsi
call sub.msys_2.0.dll_wcscoll
mov word [rbx], di
mov word [r12], bp
test eax, eax
setne al
movzx eax, al
jmp 0x100483e2b
xor edx, edx
cmp r12, rbp
jae 0x100483d8a
jmp 0x100483f34
mov rdx, rsi
call sub.msys_2.0.dll_wcscoll
jmp 0x1004840d9
mov rdx, rsi
call sub.msys_2.0.dll_wcscoll
mov word [rbx], di
jmp 0x1004840d9
mov dword [rsp + 0x28], edi
mov r9, rbx
mov r8, rbp
mov rdx, r12
mov qword [rsp + 0x20], 0
mov rcx, rsi
call fcn.100484190
test eax, eax
jne 0x100483d32
xor eax, eax
jmp 0x100483e2b
mov dword [rsp + 0x28], edi
mov r9, rbx
mov r8, rax
mov rdx, r12
mov qword [rsp + 0x20], 0
mov rcx, rsi
call fcn.100484190
test eax, eax
jne 0x100483f46
xor eax, eax
jmp 0x100483e2b
xor r15d, r15d
cmp r12, rsi
jae 0x100483f86
jmp 0x100484068
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
mov eax, dword [rsp + 0x128]
mov qword [rsp + 0x48], rdx
mov r13, r8
mov rsi, r9
mov rdx, qword [rsp + 0x120]
mov qword [rsp + 0x40], rcx
mov dword [rsp + 0x80], eax
test rcx, rcx
je 0x100484330
test r8, r8
je 0x100484330
cmp r8, r9
jae 0x10048457e
mov r15, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov qword [rsp + 0x60], rdx
mov eax, dword [rsp + 0x80]
mov ebp, eax
mov r14d, eax
and ebp, 0x10
and r14d, 0x20
mov dword [rsp + 0x38], ebp
mov ebp, eax
lea rax, [r13 + 2]
movzx ebx, word [r13]
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x38]
test eax, eax
je 0x100484236
mov ecx, ebx
call sub.msys_2.0.dll_iswupper
test eax, eax
je 0x100484236
mov ecx, ebx
call sub.msys_2.0.dll_towlower
mov ebx, eax
xor r10d, r10d
cmp r15, r12
jae 0x100484242
movzx r10d, word [r15]
mov rax, qword [sym.bash.exe_interrupt_state]
mov rcx, qword [sym.bash.exe_terminating_signal]
mov eax, dword [rax]
or eax, dword [rcx]
jne 0x100484330
test r14d, r14d
je 0x10048426b
cmp word [r13 + 2], 0x28
je 0x100484a88
cmp ebx, 0x5b
je 0x100484390
ja 0x100484360
cmp ebx, 0x2a
je 0x1004845b0
cmp ebx, 0x3f
jne 0x100484550
test r10d, r10d
je 0x100484330
mov eax, ebp
and eax, 1
je 0x100484708
cmp r10d, 0x2f
je 0x100484330
test bpl, 4
je 0x1004842ba
cmp r10d, 0x2e
je 0x100485382
test bpl, 0x80
je 0x100484567
cmp qword [rsp + 0x40], r15
je 0x100484738
cmp word [r15 - 2], 0x2f
jne 0x100484567
cmp word [r15], 0x2e
jne 0x100484567
movzx eax, word [r15 + 2]
cmp ax, 0x2f
sete dl
cmp ax, 0x5c
sete cl
or dl, cl
jne 0x100484330
test ax, ax
je 0x100484330
cmp ax, 0x2e
jne 0x100484567
movzx eax, word [r15 + 4]
cmp ax, 0x2f
sete dl
cmp ax, 0x5c
sete cl
or dl, cl
jne 0x100484330
test ax, ax
jne 0x100484567
nop dword [rax]
mov eax, 1
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp ebx, 0x5b
je 0x100484390
jbe 0x100484550
nop dword [rax + rax]
cmp ebx, 0x5c
jne 0x100484550
mov rax, qword [rsp + 0x30]
cmp rsi, rax
jne 0x10048475e
cmp r10d, 0x5c
jne 0x100484750
lea rax, [r15 + 2]
cmp qword [rsp + 0x48], rax
jne 0x100484330
xor eax, eax
jmp 0x100484335
test r10d, r10d
je 0x100484330
cmp r12, r15
je 0x100484330
test bpl, 4
je 0x1004843aa
cmp r10d, 0x2e
je 0x100484cc8
test bpl, 0x80
je 0x1004843c5
cmp qword [rsp + 0x40], r15
je 0x100485250
test bpl, 1
jne 0x100484cf8
mov edx, dword [rsp + 0x38]
mov dword [rsp + 0x3c], r10d
test edx, edx
je 0x1004843ec
mov ecx, r10d
mov dword [rsp + 0x58], r10d
call sub.msys_2.0.dll_iswupper
mov r10d, dword [rsp + 0x58]
test eax, eax
jne 0x100484d80
movzx ebx, word [r13 + 2]
mov rcx, qword [rsp + 0x30]
cmp bx, 0x21
sete dl
cmp bx, 0x5e
sete al
or dl, al
mov byte [rsp + 0x8b], dl
je 0x100484418
movzx ebx, word [r13 + 4]
lea rcx, [r13 + 4]
mov eax, ebp
mov qword [rsp + 0x68], r15
lea r13, [rcx + 2]
and eax, 2
mov dword [rsp + 0x8c], r10d
mov dword [rsp + 0x58], eax
setne al
movzx eax, al
mov qword [rsp + 0x70], r12
add eax, eax
mov qword [rsp + 0x78], rsi
mov esi, ebx
mov dword [rsp + 0x5c], eax
mov eax, ebp
and eax, 1
mov dword [rsp + 0x84], ebp
mov rbp, r13
mov byte [rsp + 0x50], al
cmp si, 0x5b
je 0x100484870
mov r13d, dword [rsp + 0x58]
test r13d, r13d
jne 0x100484920
cmp si, 0x5c
jne 0x100484920
movzx edi, word [rbp]
test di, di
je 0x100484330
lea r12, [rbp + 2]
xor r15d, r15d
xor ebx, ebx
mov ecx, dword [rsp + 0x38]
test ecx, ecx
je 0x1004848ad
movzx r13d, di
mov ecx, r13d
call sub.msys_2.0.dll_iswupper
test eax, eax
je 0x1004844bb
mov ecx, r13d
call sub.msys_2.0.dll_towlower
mov edi, eax
movzx esi, word [r12]
lea rbp, [r12 + 2]
movzx r13d, si
mov ecx, r13d
call sub.msys_2.0.dll_iswupper
test eax, eax
je 0x1004844df
mov ecx, r13d
call sub.msys_2.0.dll_towlower
mov esi, eax
test si, si
je 0x100485170
cmp si, 0x2f
jne 0x1004844f9
cmp byte [rsp + 0x50], 0
jne 0x100484330
cmp si, 0x2d
je 0x1004847d8
movzx edi, di
cmp dword [rsp + 0x3c], edi
je 0x10048553a
cmp si, 0x5d
jne 0x10048445d
nop word [rax + rax]
cmp byte [rsp + 0x8b], 0
mov r13, rbp
mov r15, qword [rsp + 0x68]
mov r12, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
mov ebp, dword [rsp + 0x84]
jne 0x1004847cb
jmp 0x100484330
mov r8d, dword [rsp + 0x38]
test r8d, r8d
jne 0x1004846d8
cmp ebx, r10d
jne 0x100484330
mov r13, qword [rsp + 0x30]
add r15, 2
cmp r13, rsi
jb 0x10048420c
mov qword [rsp + 0x40], r15
mov rdi, qword [rsp + 0x40]
cmp qword [rsp + 0x48], rdi
je 0x10048438c
test byte [rsp + 0x80], 8
je 0x100484330
xor eax, eax
cmp word [rdi], 0x2f
setne al
jmp 0x100484335
cmp qword [rsp + 0x60], 0
jne 0x100485609
test bpl, 4
je 0x1004845cc
cmp r10d, 0x2e
je 0x100485310
test bpl, 0x80
je 0x100484620
cmp qword [rsp + 0x40], r15
je 0x1004851e8
test bpl, 1
je 0x100484620
cmp word [r15 - 2], 0x2f
jne 0x100484620
cmp word [r15], 0x2e
jne 0x100484620
movzx eax, word [r15 + 2]
cmp ax, 0x2f
sete dl
cmp ax, 0x5c
sete cl
or dl, cl
jne 0x100484330
test ax, ax
je 0x100484330
cmp ax, 0x2e
je 0x1004853c1
mov rax, qword [rsp + 0x30]
cmp rsi, rax
je 0x10048438c
lea rbx, [r13 + 4]
movzx r13d, word [r13 + 2]
cmp r13d, 0x3f
je 0x100484647
cmp r13d, 0x2a
jne 0x100484fa0
mov edi, ebp
and edi, 1
cmp r10d, 0x2f
je 0x100484699
jmp 0x1004846a2
movzx edx, word [rbx]
cmp r13d, 0x3f
je 0x1004848c0
mov rax, rbx
cmp dx, 0x28
je 0x100484af0
cmp rax, rsi
je 0x10048438c
movzx r13d, word [rax]
lea rbx, [rax + 2]
cmp r13d, 0x3f
je 0x100484693
cmp r13d, 0x2a
jne 0x100484fa0
cmp r10d, 0x2f
jne 0x1004846a2
test dil, dil
jne 0x100484330
test r14d, r14d
jne 0x100484658
mov rax, rbx
cmp r13d, 0x3f
jne 0x100484672
test r10d, r10d
je 0x100484330
lea rax, [r15 + 2]
cmp rax, r12
jae 0x100484970
movzx r10d, word [r15 + 2]
mov r15, rax
mov rax, rbx
jmp 0x100484672
mov ecx, r10d
mov dword [rsp + 0x3c], r10d
call sub.msys_2.0.dll_iswupper
mov r10d, dword [rsp + 0x3c]
test eax, eax
je 0x10048455e
mov ecx, r10d
call sub.msys_2.0.dll_towlower
mov r10d, eax
jmp 0x10048455e
mov edx, ebp
shr edx, 2
cmp qword [rsp + 0x40], r15
sete cl
test cl, dl
je 0x100484723
cmp r10d, 0x2e
je 0x100484330
test bpl, 0x80
je 0x100484567
cmp qword [rsp + 0x40], r15
jne 0x100484567
cmp word [r15], 0x2e
je 0x100485564
test eax, eax
je 0x100484567
jmp 0x1004842cf
mov rax, qword [rsp + 0x30]
cmp rsi, rax
je 0x100484330
test bpl, 2
jne 0x100484c48
lea rax, [r13 + 4]
movzx ebx, word [r13 + 2]
cmp rsi, rax
jb 0x100484330
mov edi, dword [rsp + 0x38]
mov r13, rax
test edi, edi
je 0x1004847c2
mov ecx, ebx
mov dword [rsp + 0x30], r10d
call sub.msys_2.0.dll_iswupper
mov r10d, dword [rsp + 0x30]
test eax, eax
je 0x1004847a8
mov ecx, ebx
call sub.msys_2.0.dll_towlower
mov r10d, dword [rsp + 0x30]
mov ebx, eax
mov ecx, r10d
mov dword [rsp + 0x30], r10d
call sub.msys_2.0.dll_iswupper
mov r10d, dword [rsp + 0x30]
test eax, eax
jne 0x100484da0
cmp r10d, ebx
jne 0x100484330
add r15, 2
jmp 0x100484570
movzx eax, word [r12 + 2]
cmp ax, 0x5d
je 0x100484c08
lea r13, [r12 + 4]
cmp ax, 0x5c
jne 0x1004847fb
test ebx, ebx
je 0x1004852c0
test ax, ax
je 0x100484330
movzx esi, word [r13]
cmp ax, 0x5b
je 0x100484c60
mov ebp, dword [rsp + 0x38]
movzx ebx, ax
test ebp, ebp
je 0x10048482d
mov ecx, ebx
call sub.msys_2.0.dll_iswupper
test eax, eax
jne 0x100484d70
movzx edi, di
mov r8d, r15d
lea rbp, [r13 + 2]
mov edx, ebx
mov ecx, edi
call fcn.100483760
test eax, eax
jle 0x100484980
cmp si, 0x5d
je 0x100484520
mov r11d, dword [rsp + 0x38]
test r11d, r11d
jne 0x1004851a0
cmp si, 0x5b
jne 0x100484a4c
nop word [rax + rax]
movzx esi, word [rbp]
mov r12, rbp
cmp si, 0x3d
je 0x100484b48
cmp si, 0x3a
je 0x100484de8
cmp si, 0x2e
je 0x100484db0
mov ecx, dword [rsp + 0x38]
mov ebx, dword [rsp + 0x58]
xor r15d, r15d
mov edi, 0x5b
test ecx, ecx
jne 0x1004844a1
movzx esi, word [r12]
lea rbp, [r12 + 2]
jmp 0x1004844df
cmp dx, 0x28
jne 0x1004846b0
mov dword [rsp + 0x28], ebp
mov r9, rbx
mov r8, r12
mov rdx, r15
mov qword [rsp + 0x20], rsi
mov ecx, 0x3f
mov dword [rsp + 0x30], r10d
call 0x100483bf0
test eax, eax
je 0x10048438c
lea rcx, [rbx + 2]
cmp rcx, rsi
je 0x10048438c
xor r8d, r8d
mov rdx, rsi
call fcn.100483a60
mov r10d, dword [rsp + 0x30]
test rax, rax
jne 0x100484672
xor eax, eax
jmp 0x100484335
mov r12d, dword [rsp + 0x38]
test r12d, r12d
je 0x100484a60
mov ebx, dword [rsp + 0x5c]
mov r13d, esi
movzx edi, si
mov ecx, edi
call sub.msys_2.0.dll_iswupper
mov r15d, eax
test eax, eax
je 0x100484bf0
mov ecx, edi
call sub.msys_2.0.dll_towlower
mov edi, eax
test r13w, r13w
je 0x100485170
xor r15d, r15d
mov r12, rbp
jmp 0x1004844bb
mov r15, rax
xor r10d, r10d
mov rax, rbx
jmp 0x100484672
mov ecx, dword [rsp + 0x3c]
mov r8d, r15d
mov edx, edi
call fcn.100483760
test eax, eax
js 0x100484510
mov ecx, dword [rsp + 0x3c]
mov r8d, r15d
mov edx, ebx
call fcn.100483760
test eax, eax
jg 0x100484510
mov rax, r13
mov r15, qword [rsp + 0x68]
mov r13, rbp
mov r12, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
mov ebp, dword [rsp + 0x84]
movzx ecx, word [r13 - 2]
test cx, cx
je 0x1004854b5
movabs r10, 0x2400400000000000
mov r9d, dword [rsp + 0x58]
test r9d, r9d
mov r9d, 1
sete r11b
xor r8d, r8d
nop dword [rax]
movzx edx, word [rax]
lea r13, [rax + 2]
cmp dx, 0x5b
je 0x100485450
cmp dx, 0x5d
jne 0x100485490
cmp r9d, 1
jle 0x1004854c8
test r8, r8
je 0x100484a39
movzx eax, word [r8]
cmp ax, cx
je 0x1004854e0
cmp ax, 0x2e
je 0x100485530
cmp byte [rsp + 0x8b], 0
je 0x1004847cb
jmp 0x100484330
mov r10d, dword [rsp + 0x58]
test r10d, r10d
jne 0x100484a60
cmp si, 0x5c
je 0x10048447f
test si, si
je 0x100485170
mov r12, rbp
mov edi, esi
mov ebx, dword [rsp + 0x5c]
xor r15d, r15d
movzx esi, word [r12]
lea rbp, [r12 + 2]
jmp 0x1004844df
lea eax, [rbx - 0x21]
cmp eax, 0x1f
ja 0x100484350
mov edx, 0xc0000601
bt rdx, rax
jae 0x10048427a
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x48]
mov rdx, r15
mov ecx, ebx
mov edi, dword [rsp + 0x80]
mov qword [rsp + 0x120], rsi
mov eax, edi
and al, 0x7b
cmp qword [rsp + 0x40], r15
cmove eax, edi
mov dword [rsp + 0x128], eax
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x100483bf0
mov r13, r15
cmp r15, r12
jae 0x100485236
mov rax, r12
mov dword [rsp + 0x30], r10d
mov r12d, edi
mov rdi, rax
jmp 0x100484b1d
add r13, 2
cmp r13, rdi
jae 0x100485228
mov dword [rsp + 0x28], ebp
mov r9, rbx
mov r8, rdi
mov rdx, r13
mov qword [rsp + 0x20], rsi
mov ecx, 0x2a
call 0x100483bf0
test eax, eax
jne 0x100484b10
xor eax, eax
jmp 0x100484335
cmp word [rbp + 4], 0x3d
jne 0x100484895
cmp word [rbp + 6], 0x5d
jne 0x100484895
mov eax, dword [rsp + 0x38]
movzx ebx, word [rbp + 2]
test eax, eax
je 0x100484b7e
mov ecx, ebx
call sub.msys_2.0.dll_iswupper
test eax, eax
je 0x100484b7e
mov ecx, ebx
call sub.msys_2.0.dll_towlower
mov ebx, eax
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x94], ebx
add rbp, 0xa
cmp ebx, eax
je 0x1004855cc
lea rdx, [0x100519840]
lea rcx, [0x100519844]
mov word [0x100519844], ax
mov word [0x100519840], bx
call sub.msys_2.0.dll_wcscoll
test eax, eax
je 0x1004855cc
movzx esi, word [r12 + 8]
test si, si
je 0x100485170
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x1004851a0
cmp si, 0x5b
jne 0x10048529c
jmp 0x100484870
test r13w, r13w
je 0x100485170
mov edi, esi
mov r12, rbp
jmp 0x1004844bb
mov eax, dword [rsp + 0x3c]
movzx edi, di
cmp edi, eax
je 0x10048553a
mov eax, dword [rsp + 0x58]
test eax, eax
jne 0x100484ca0
mov edx, dword [rsp + 0x38]
test edx, edx
jne 0x100485357
mov ebx, dword [rsp + 0x5c]
xor r15d, r15d
mov r12, rbp
mov edi, 0x2d
jmp 0x1004848ad
mov r11d, dword [rsp + 0x38]
mov r13, qword [rsp + 0x30]
test r11d, r11d
jne 0x1004847a8
jmp 0x1004847c2
cmp si, 0x2e
jne 0x100484813
mov rcx, r13
lea rdx, [rsp + 0x94]
call fcn.1004837d0
mov ebx, dword [rsp + 0x94]
mov r13, rax
cmp ebx, 0xffffffff
je 0x1004855f1
movzx esi, word [r13]
mov eax, ebx
mov r15d, 1
jmp 0x100484813
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x100485366
xor r15d, r15d
mov r12, rbp
mov edi, 0x2d
mov ebx, 2
jmp 0x1004848ad
cmp qword [rsp + 0x40], r15
je 0x100484330
test bpl, 1
je 0x1004843c5
cmp word [r15 - 2], 0x2f
je 0x100484330
test bpl, 0x80
je 0x1004843c5
nop dword [rax + rax]
cmp word [r15 - 2], 0x2f
jne 0x1004843c5
cmp word [r15], 0x2e
jne 0x1004843c5
movzx eax, word [r15 + 2]
cmp ax, 0x2f
sete dl
cmp ax, 0x5c
sete cl
or dl, cl
jne 0x100484330
test ax, ax
je 0x100484330
cmp ax, 0x2e
jne 0x1004843c5
movzx eax, word [r15 + 4]
cmp ax, 0x2f
sete dl
cmp ax, 0x5c
sete cl
or dl, cl
jne 0x100484330
test ax, ax
jne 0x1004843c5
jmp 0x100484330
mov ecx, ebx
call sub.msys_2.0.dll_towlower
movzx ebx, ax
jmp 0x10048482d
mov ecx, r10d
call sub.msys_2.0.dll_towlower
mov r10d, dword [rsp + 0x58]
mov dword [rsp + 0x3c], eax
jmp 0x1004843ec
mov ecx, r10d
call sub.msys_2.0.dll_towlower
mov r10d, eax
jmp 0x1004847c2
lea rdx, [rsp + 0x94]
mov rcx, rbp
call fcn.1004837d0
mov edi, dword [rsp + 0x94]
mov r12, rax
cmp edi, 0xffffffff
je 0x100485340
mov ebx, dword [rsp + 0x58]
mov r15d, 1
jmp 0x100484495
movzx eax, word [r12 + 2]
add rbp, 2
mov dword [rsp + 0x94], 0
test ax, ax
je 0x100485290
mov r13, rbp
jmp 0x100484e1d
add r13, 2
test ax, ax
je 0x100485290
mov edx, eax
movzx eax, word [r13 + 2]
cmp dx, 0x3a
jne 0x100484e10
cmp ax, 0x5d
jne 0x100484e10
mov rsi, r13
sub rsi, r12
mov rcx, rsi
call sub.msys_2.0.dll_malloc
mov rbx, rax
test rax, rax
je 0x1004856f8
lea r8, [rsi - 2]
mov rdx, rbp
mov rcx, rbx
call sub.msys_2.0.dll_memmove
xor eax, eax
mov rcx, rbx
mov word [rbx + rsi - 2], ax
call sym.bash.exe_wcdequote_pathname
lea rcx, [0x10053ac18]
mov qword [rsp + 0x98], rbx
call sub.msys_2.0.dll_wctype
test eax, eax
je 0x1004853f0
mov rcx, qword [rsp + 0x98]
lea rdx, [0x10053ac2a]
call sub.msys_2.0.dll_wcscmp
mov esi, eax
test eax, eax
je 0x1004855b8
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 0xa0], 0
lea rdi, [rsp + 0xa0]
call sub.msys_2.0.dll_wcslen
mov rbp, rax
call sub.msys_2.0.dll___locale_mb_cur_max
movsxd rcx, eax
imul rcx, rbp
add rcx, 1
call sub.msys_2.0.dll_malloc
mov rbp, rax
test rax, rax
je 0x1004855a7
mov rcx, qword [rsp + 0x98]
call sub.msys_2.0.dll_wcslen
mov r12, rax
call sub.msys_2.0.dll___locale_mb_cur_max
mov rcx, rbp
lea rdx, [rsp + 0x98]
mov r9, rdi
cdqe
imul rax, r12
lea r8, [rax + 1]
call sub.msys_2.0.dll_wcsrtombs
mov rcx, rbp
cmp rax, 0xfffffffffffffffd
ja 0x1004856ee
call sub.msys_2.0.dll_wctype
mov rcx, rbp
mov edi, eax
call sub.msys_2.0.dll_free
test edi, edi
je 0x1004855a7
mov edx, edi
test esi, esi
jne 0x100485590
mov edi, dword [rsp + 0x8c]
mov ecx, edi
call sub.msys_2.0.dll_iswctype
cmp edi, 0x5f
sete sil
test eax, eax
setne al
or esi, eax
movzx esi, sil
mov rcx, rbx
mov dword [rsp + 0x94], esi
lea rbp, [r13 + 6]
call sub.msys_2.0.dll_free
test esi, esi
jne 0x100485662
movzx esi, word [r13 + 4]
test si, si
je 0x100485170
cmp si, 0x5d
je 0x100484520
jmp 0x100484bcd
test r13d, r13d
je 0x10048561c
test r14d, r14d
je 0x100484fb7
cmp r12, r15
je 0x1004854e9
mov edx, ebp
and edx, 1
cmp r13d, 0x2f
je 0x1004852d0
mov r8, r12
mov rcx, r15
mov qword [rsp + 0xa0], 0
sub r8, r15
neg edx
sbb edx, edx
sar r8, 1
and edx, 0x2f
call sub.msys_2.0.dll_wmemchr
mov rdi, rax
test rax, rax
cmove rdi, r12
test bpl, 2
jne 0x100485004
cmp r13d, 0x5c
je 0x100485376
mov dword [rsp + 0x3c], r13d
mov r10d, dword [rsp + 0x38]
test r10d, r10d
je 0x10048502d
mov ecx, dword [rsp + 0x3c]
call sub.msys_2.0.dll_iswupper
test eax, eax
je 0x10048502d
mov ecx, dword [rsp + 0x3c]
call sub.msys_2.0.dll_towlower
mov dword [rsp + 0x3c], eax
mov eax, ebp
lea r8, [rbx - 2]
lea r10, [rsp + 0xa0]
and al, 0x7b
mov dword [rsp + 0x30], eax
cmp r15, rdi
jae 0x1004850b4
mov dword [rsp + 0x58], r13d
mov r13, rbx
mov rbx, r10
mov dword [rsp + 0x5c], ebp
mov rbp, r8
test r14d, r14d
jne 0x100485100
cmp dword [rsp + 0x58], 0x5b
je 0x100485128
mov qword [rsp + 0x50], rbx
mov r9d, dword [rsp + 0x38]
movzx ebx, word [r15]
test r9d, r9d
je 0x100485093
mov ecx, ebx
call sub.msys_2.0.dll_iswupper
test eax, eax
je 0x100485093
mov ecx, ebx
call sub.msys_2.0.dll_towlower
mov ebx, eax
cmp dword [rsp + 0x3c], ebx
je 0x100485160
add r15, 2
cmp r15, rdi
jb 0x100485071
nop word cs:[rax + rax]
mov ebp, dword [rsp + 0x5c]
mov r13, qword [rsp + 0xa0]
test r13, r13
je 0x100484330
mov r15, qword [rsp + 0xa8]
jmp 0x100484570
mov r8d, dword [rsp + 0x38]
movzx ecx, word [r15]
test r8d, r8d
jne 0x1004853a0
cmp dword [rsp + 0x3c], ecx
je 0x100485128
add r15, 2
cmp r15, rdi
jae 0x1004850b0
test r14d, r14d
je 0x10048506c
nop dword [rax]
cmp word [r13], 0x28
je 0x100485128
movzx edx, word [r13 - 2]
lea rcx, [0x10053ac0c]
call sub.msys_2.0.dll_wcschr
test rax, rax
jne 0x100485128
cmp dword [rsp + 0x58], 0x5b
jne 0x1004850d2
nop dword [rax]
mov eax, dword [rsp + 0x30]
mov qword [rsp + 0x20], rbx
mov r9, rsi
mov r8, rbp
mov rdx, r12
mov rcx, r15
mov dword [rsp + 0x28], eax
call fcn.100484190
test eax, eax
je 0x1004851c0
add r15, 2
cmp r15, rdi
jb 0x100485058
jmp 0x1004850b0
mov rbx, qword [rsp + 0x50]
jmp 0x100485128
cmp dword [rsp + 0x3c], 0x5b
mov r15, qword [rsp + 0x68]
mov r12, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
mov ebp, dword [rsp + 0x84]
jne 0x100484330
jmp 0x100484567
movzx ebx, si
mov ecx, ebx
call sub.msys_2.0.dll_iswupper
test eax, eax
je 0x10048445d
mov ecx, ebx
call sub.msys_2.0.dll_towlower
mov esi, eax
jmp 0x10048445d
mov r13, qword [rsp + 0xa0]
mov ebp, dword [rsp + 0x5c]
test r13, r13
je 0x100484335
mov r15, qword [rsp + 0xa8]
jmp 0x100484570
mov rax, qword [rsp + 0x40]
cmp word [rax], 0x2e
jne 0x1004845dd
movzx eax, word [rax + 2]
test ax, ax
je 0x100484330
cmp ax, 0x2e
jne 0x1004845dd
mov rax, qword [rsp + 0x40]
cmp word [rax + 4], 0
jne 0x1004845dd
jmp 0x100484330
mov rax, rdi
mov r10d, dword [rsp + 0x30]
mov edi, r12d
mov r12, rax
lea rcx, [rbx + 2]
cmp rcx, rsi
je 0x10048438c
mov dword [rsp + 0x30], r10d
jmp 0x100484900
mov rax, qword [rsp + 0x40]
cmp word [rax], 0x2e
jne 0x1004843bb
movzx eax, word [rax + 2]
test ax, ax
je 0x100484330
cmp ax, 0x2e
jne 0x1004843bb
mov rax, qword [rsp + 0x40]
cmp word [rax + 4], 0
jne 0x1004843bb
jmp 0x100484330
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x1004851a0
mov r15d, dword [rsp + 0x58]
test r15d, r15d
jne 0x100484a69
cmp si, 0x5c
je 0x10048447f
jmp 0x100484a69
movzx eax, word [r12 + 4]
lea r13, [r12 + 6]
jmp 0x1004847fb
test edx, edx
jne 0x100485687
mov r8, r12
xor edx, edx
mov rcx, r15
mov qword [rsp + 0xa0], 0
sub r8, r15
sar r8, 1
call sub.msys_2.0.dll_wmemchr
mov rdi, rax
test rax, rax
je 0x10048555c
mov dword [rsp + 0x3c], 0x2f
jmp 0x100485009
cmp qword [rsp + 0x40], r15
je 0x100484330
test bpl, 1
je 0x100484620
cmp word [r15 - 2], 0x2f
jne 0x100484620
jmp 0x100484330
movzx eax, word [rsp + 0x3c]
mov ebx, dword [rsp + 0x58]
mov r15d, 1
lea edi, [rax + 1]
jmp 0x100484495
mov ebx, dword [rsp + 0x5c]
mov r13d, 0x2d
jmp 0x100484935
mov r13d, 0x2d
mov ebx, 2
jmp 0x100484935
movzx eax, word [rbx]
mov dword [rsp + 0x3c], eax
jmp 0x100485009
cmp qword [rsp + 0x40], r15
je 0x100484330
cmp word [r15 - 2], 0x2f
jne 0x100484567
jmp 0x100484330
mov dword [rsp + 0x50], ecx
call sub.msys_2.0.dll_iswupper
mov ecx, dword [rsp + 0x50]
test eax, eax
je 0x1004850e4
call sub.msys_2.0.dll_towlower
mov ecx, eax
jmp 0x1004850e4
movzx eax, word [r15 + 4]
cmp ax, 0x2f
sete dl
cmp ax, 0x5c
sete cl
or dl, cl
jne 0x100484330
test ax, ax
jne 0x100484620
jmp 0x100484330
mov rcx, qword [rsp + 0x98]
lea rdx, str.ascii
call sub.msys_2.0.dll_wcscmp
test eax, eax
jne 0x100484e84
mov ecx, dword [rsp + 0x8c]
xor esi, esi
call sub.msys_2.0.dll_wctob
cmp eax, 0x7f
setle sil
cmp eax, 0xffffffff
jne 0x100484f67
mov rcx, rbx
lea rbp, [r13 + 6]
mov dword [rsp + 0x94], 0
call sub.msys_2.0.dll_free
jmp 0x100484f82
movzx ecx, word [rax + 2]
cmp cx, 0x3d
ja 0x100485480
bt r10, rcx
jae 0x100485480
movzx edx, word [rax + 4]
add r9d, 1
lea rcx, [rax + 4]
test dx, dx
je 0x1004854b5
mov r8, r13
mov r13, rcx
nop word [rax + rax]
mov rax, r13
mov ecx, edx
jmp 0x1004849f8
cmp dx, 0x5c
jne 0x1004854b0
test r11b, r11b
je 0x1004854b0
cmp word [rax + 2], 0
je 0x100484330
lea r13, [rax + 4]
jmp 0x100485480
test dx, dx
jne 0x100485480
cmp dword [rsp + 0x3c], 0x5b
jne 0x100484330
jmp 0x100484567
cmp dx, 0x5d
jne 0x100485490
test r8, r8
je 0x100484a39
movzx eax, word [r8]
jmp 0x100484a2f
sub r9d, 1
xor r8d, r8d
jmp 0x100485480
cmp r13d, 0x21
jne 0x100484fb7
cmp word [rbx], 0x28
jne 0x100484fb7
mov eax, dword [rsp + 0x80]
mov qword [rsp + 0x20], rsi
lea r9, [rbx - 2]
mov rdx, r15
mov r8, qword [rsp + 0x48]
mov ecx, 0x21
mov dword [rsp + 0x28], eax
call 0x100483bf0
test eax, eax
sete al
movzx eax, al
jmp 0x100484335
mov edx, 0x5d
jmp 0x100485480
mov r13, rbp
mov r15, qword [rsp + 0x68]
mov r12, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
mov ebp, dword [rsp + 0x84]
lea rax, [r13 - 2]
jmp 0x1004849c8
mov rdi, r12
jmp 0x100485303
movzx edx, word [r15 + 2]
test dx, dx
je 0x100484330
cmp dx, 0x2e
jne 0x100484743
cmp word [r15 + 4], 0
jne 0x100484743
jmp 0x100484330
mov ecx, dword [rsp + 0x8c]
call sub.msys_2.0.dll_iswctype
mov esi, eax
cmp eax, 0xffffffff
jne 0x100484f67
mov rcx, rbx
lea rbp, [r13 + 6]
call sub.msys_2.0.dll_free
jmp 0x100484f82
lea rcx, [0x10053ac00]
mov qword [rsp + 0x98], rcx
jmp 0x100484eaa
mov r8, r12
mov r13, rbp
mov r15, qword [rsp + 0x68]
mov r12, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
mov ebp, dword [rsp + 0x84]
lea rax, [r8 + 8]
jmp 0x1004849c8
movzx eax, word [rsp + 0x3c]
movzx esi, word [r13]
mov r15d, 1
sub eax, 1
jmp 0x100484813
mov rdx, qword [rsp + 0x60]
xor eax, eax
mov qword [rdx], r13
mov qword [rdx + 8], r15
jmp 0x100484335
mov eax, dword [rsp + 0x80]
and eax, 1
test eax, eax
je 0x10048438c
test byte [rsp + 0x80], 8
jne 0x10048438c
mov r8, qword [rsp + 0x48]
mov edx, 0x2f
mov rcx, r15
sub r8, r15
sar r8, 1
call sub.msys_2.0.dll_wmemchr
test rax, rax
setne al
movzx eax, al
jmp 0x100484335
mov rdi, r13
mov r15, qword [rsp + 0x68]
mov r13, rbp
mov r12, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
mov ebp, dword [rsp + 0x84]
lea rax, [rdi + 4]
jmp 0x1004849c8
mov rax, qword [rsp + 0x48]
cmp r15, rax
jae 0x100484330
mov rax, qword [rsp + 0x48]
jmp 0x1004856a9
add r15, 2
cmp r15, rax
jae 0x100484330
cmp word [r15], 0x2f
jne 0x10048569c
mov rdx, qword [rsp + 0x48]
cmp r15, rdx
jae 0x100484330
mov eax, dword [rsp + 0x80]
lea rcx, [r15 + 2]
mov r9, rsi
mov r8, rbx
mov qword [rsp + 0x20], 0
mov dword [rsp + 0x28], eax
call fcn.100484190
test eax, eax
setne al
movzx eax, al
jmp 0x100484335
call sub.msys_2.0.dll_free
jmp 0x1004855a7
lea rbp, [r13 + 6]
jmp 0x100484f82