Function at 0x1000b407
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
mov esi, ecx
push edi
test dword [esi + 8], 0x7000
je 0x1000b443
call fcn.10015211
test al, al
je 0x1000ba0b
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x24]
mov word [esi + 0x24], ax
test ax, ax
je 0x1000b438
inc dword [esi + 0x14]
jmp 0x1000b443
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov dword [esi + 0x14], eax
test dword [esi + 8], 0x70000
je 0x1000b47c
mov ecx, esi
call fcn.1004a7f8
test al, al
je 0x1000ba0b
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x24]
mov word [esi + 0x24], ax
test ax, ax
je 0x1000b471
inc dword [esi + 0x14]
jmp 0x1000b47c
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov dword [esi + 0x14], eax
movzx eax, word [esi + 0x24]
xor ebx, ebx
mov edi, eax
cmp eax, 0x3e
je 0x1000b9e8
movzx ecx, di
mov edx, ebx
cmp ax, 0x22
jne 0x1000b568
cmp di, 0x3d
je 0x1000b4c2
cmp di, 0x20
je 0x1000b4b8
cmp di, 9
jb 0x1000b4b4
cmp di, 0xd
jbe 0x1000b4b8
xor cl, cl
jmp 0x1000b4ba
mov cl, 1
test cl, cl
je 0x1000b63b
mov dword [esi + 8], 0x162
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x24]
mov word [esi + 0x24], ax
test ax, ax
je 0x1000b4df
inc dword [esi + 0x14]
jmp 0x1000b4ea
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov dword [esi + 0x14], eax
movzx eax, word [esi + 0x24]
test ax, ax
je 0x1000b526
cmp eax, 0x22
je 0x1000b526
cmp di, 0x3c
jne 0x1000b520
cmp eax, 0x25
jne 0x1000b50c
mov ecx, esi
call fcn.10015211
jmp 0x1000b518
cmp eax, 0x3f
jne 0x1000b520
mov ecx, esi
call fcn.1004a7f8
test al, al
je 0x1000ba0b
movzx edi, word [esi + 0x24]
jmp 0x1000b4c9
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x24]
mov word [esi + 0x24], ax
test ax, ax
je 0x1000b53c
inc dword [esi + 0x14]
jmp 0x1000b547
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov dword [esi + 0x14], eax
movzx eax, word [esi + 0x24]
cmp eax, 0x27
je 0x1000b526
cmp eax, 0x22
je 0x1000b526
xor ebx, ebx
test ax, ax
je 0x1000ba02
lea edi, [ebx + 0x22]
jmp 0x1000b9d4
cmp ax, 0x27
jne 0x1000b63b
cmp di, 0x3d
je 0x1000b595
cmp ecx, 0x20
je 0x1000b58b
cmp ecx, 9
jb 0x1000b587
cmp ecx, 0xd
jbe 0x1000b58b
xor cl, cl
jmp 0x1000b58d
mov cl, 1
test cl, cl
je 0x1000b63b
mov dword [esi + 8], 0x161
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x24]
mov word [esi + 0x24], ax
test ax, ax
je 0x1000b5b2
inc dword [esi + 0x14]
jmp 0x1000b5bd
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov dword [esi + 0x14], eax
movzx eax, word [esi + 0x24]
test ax, ax
je 0x1000b5f9
cmp eax, 0x27
je 0x1000b5f9
cmp di, 0x3c
jne 0x1000b5f3
cmp eax, 0x25
jne 0x1000b5df
mov ecx, esi
call fcn.10015211
jmp 0x1000b5eb
cmp eax, 0x3f
jne 0x1000b5f3
mov ecx, esi
call fcn.1004a7f8
test al, al
je 0x1000ba0b
movzx edi, word [esi + 0x24]
jmp 0x1000b59c
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x24]
mov word [esi + 0x24], ax
test ax, ax
je 0x1000b60f
inc dword [esi + 0x14]
jmp 0x1000b61a
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov dword [esi + 0x14], eax
movzx eax, word [esi + 0x24]
cmp eax, 0x27
je 0x1000b5f9
cmp eax, 0x22
je 0x1000b5f9
xor ebx, ebx
test ax, ax
je 0x1000ba02
lea edi, [ebx + 0x27]
jmp 0x1000b9d4
cmp di, 0x3c
jne 0x1000b67f
cmp ax, 0x25
jne 0x1000b660
mov ecx, esi
call fcn.10015211
test al, al
je 0x1000ba0b
mov edi, 0x3e
jmp 0x1000b9b3
cmp ax, 0x3f
jne 0x1000b67f
mov ecx, esi
call fcn.1004a7f8
test al, al
je 0x1000ba0b
mov edi, 0x3e
jmp 0x1000b9b3
mov ecx, ebx
sub ecx, 0
je 0x1000b6f6
sub ecx, 1
je 0x1000b6c2
sub ecx, 1
jne 0x1000b9af
cmp ax, 0x20
je 0x1000b6b4
cmp ax, 9
jb 0x1000b6a6
cmp ax, 0xd
jbe 0x1000b6b4
xor al, al
xor ebx, ebx
test al, al
cmove ebx, edx
jmp 0x1000b9af
mov al, 1
xor ebx, ebx
test al, al
cmove ebx, edx
jmp 0x1000b9af
cmp ax, 0x3d
je 0x1000b9af
cmp ax, 0x20
je 0x1000b6e2
cmp ax, 9
jb 0x1000b6de
cmp ax, 0xd
jbe 0x1000b6e2
xor al, al
jmp 0x1000b6e4
mov al, 1
test al, al
jne 0x1000b9af
mov ebx, 2
jmp 0x1000b9af
cmp ax, 0x73
je 0x1000b706
cmp ax, 0x53
jne 0x1000b7ab
test dword [esi + 0x20], 0x100
jne 0x1000b7ab
mov ecx, dword [esi + 0xc]
push 1
mov eax, dword [ecx]
call dword [eax + 0x34]
movzx edi, ax
cmp edi, 0x72
je 0x1000b72a
cmp edi, 0x52
jne 0x1000b746
mov ecx, dword [esi + 0xc]
push 2
mov eax, dword [ecx]
call dword [eax + 0x34]
movzx eax, ax
test ax, ax
je 0x1000b746
cmp eax, 0x63
je 0x1000b7a4
cmp eax, 0x43
je 0x1000b7a4
cmp edi, 0x74
je 0x1000b750
cmp edi, 0x54
jne 0x1000b7ab
mov ecx, dword [esi + 0xc]
push 2
mov eax, dword [ecx]
call dword [eax + 0x34]
movzx eax, ax
test ax, ax
je 0x1000b7ab
cmp eax, 0x79
je 0x1000b76c
cmp eax, 0x59
jne 0x1000b7ab
mov ecx, dword [esi + 0xc]
push 3
mov eax, dword [ecx]
call dword [eax + 0x34]
movzx eax, ax
test ax, ax
je 0x1000b7ab
cmp eax, 0x6c
je 0x1000b788
cmp eax, 0x4c
jne 0x1000b7ab
mov ecx, dword [esi + 0xc]
push 4
mov eax, dword [ecx]
call dword [eax + 0x34]
movzx eax, ax
test ax, ax
je 0x1000b7ab
cmp eax, 0x65
je 0x1000b7a4
cmp eax, 0x45
jne 0x1000b7ab
or dword [esi + 0x20], 0x100
movzx eax, word [esi + 0x24]
cmp eax, 0x68
je 0x1000b7b9
cmp eax, 0x48
jne 0x1000b81d
test dword [esi + 0x20], 0x100
jne 0x1000b81d
mov ecx, dword [esi + 0xc]
push 1
mov eax, dword [ecx]
call dword [eax + 0x34]
movzx eax, ax
test ax, ax
je 0x1000b81d
cmp eax, 0x72
je 0x1000b7de
cmp eax, 0x52
jne 0x1000b81d
mov ecx, dword [esi + 0xc]
push 2
mov eax, dword [ecx]
call dword [eax + 0x34]
movzx eax, ax
test ax, ax
je 0x1000b81d
cmp eax, 0x65
je 0x1000b7fa
cmp eax, 0x45
jne 0x1000b81d
mov ecx, dword [esi + 0xc]
push 3
mov eax, dword [ecx]
call dword [eax + 0x34]
movzx eax, ax
test ax, ax
je 0x1000b81d
cmp eax, 0x66
je 0x1000b816
cmp eax, 0x46
jne 0x1000b81d
or dword [esi + 0x20], 0x100
movzx eax, word [esi + 0x24]
cmp eax, 0x72
je 0x1000b82f
cmp eax, 0x52
jne 0x1000b8af
test dword [esi + 0x20], 0x8000
jne 0x1000b8af
mov ecx, dword [esi + 0xc]
push 1
mov eax, dword [ecx]
call dword [eax + 0x34]
movzx eax, ax
test ax, ax
je 0x1000b8af
cmp eax, 0x75
je 0x1000b854
cmp eax, 0x55
jne 0x1000b8af
mov ecx, dword [esi + 0xc]
push 2
mov eax, dword [ecx]
call dword [eax + 0x34]
movzx eax, ax
test ax, ax
je 0x1000b8af
cmp eax, 0x6e
je 0x1000b870
cmp eax, 0x4e
jne 0x1000b8af
mov ecx, dword [esi + 0xc]
push 3
mov eax, dword [ecx]
call dword [eax + 0x34]
movzx eax, ax
test ax, ax
je 0x1000b8af
cmp eax, 0x61
je 0x1000b88c
cmp eax, 0x41
jne 0x1000b8af
mov ecx, dword [esi + 0xc]
push 4
mov eax, dword [ecx]
call dword [eax + 0x34]
movzx eax, ax
test ax, ax
je 0x1000b8af
cmp eax, 0x74
je 0x1000b8a8
cmp eax, 0x54
jne 0x1000b8af
or dword [esi + 0x20], 0x8000
cmp byte [esi + 0x60], 0
je 0x1000b90b
cmp word [esi + 0x24], 0x78
jne 0x1000b90b
test byte [esi + 0x20], 0x40
jne 0x1000b90b
mov ecx, dword [esi + 0xc]
push 1
mov eax, dword [ecx]
call dword [eax + 0x34]
movzx eax, ax
test ax, ax
je 0x1000b90b
cmp eax, 0x61
jne 0x1000b90b
mov ecx, dword [esi + 0xc]
push 2
mov eax, dword [ecx]
call dword [eax + 0x34]
movzx eax, ax
test ax, ax
je 0x1000b90b
cmp eax, 0x74
jne 0x1000b90b
mov ecx, dword [esi + 0xc]
push 3
mov eax, dword [ecx]
call dword [eax + 0x34]
movzx eax, ax
test ax, ax
je 0x1000b90b
cmp eax, 0x2d
jne 0x1000b90b
or dword [esi + 0x20], 0x40
cmp byte [esi + 0x61], 0
je 0x1000b968
cmp word [esi + 0x24], 0x78
jne 0x1000b968
test dword [esi + 0x20], 0x10000
jne 0x1000b968
mov ecx, dword [esi + 0xc]
push 1
mov eax, dword [ecx]
call dword [eax + 0x34]
cmp ax, 0x6d
jne 0x1000b968
mov ecx, dword [esi + 0xc]
push 2
mov eax, dword [ecx]
call dword [eax + 0x34]
cmp ax, 0x6c
jne 0x1000b968
mov ecx, dword [esi + 0xc]
push 3
mov eax, dword [ecx]
call dword [eax + 0x34]
cmp ax, 0x6e
jne 0x1000b968
mov ecx, dword [esi + 0xc]
push 4
mov eax, dword [ecx]
call dword [eax + 0x34]
cmp ax, 0x73
jne 0x1000b968
or dword [esi + 0x20], 0x10000
movzx eax, word [esi + 0x24]
cmp eax, 0x6f
je 0x1000b976
cmp eax, 0x4f
jne 0x1000b9a2
test dword [esi + 0x20], 0x100
jne 0x1000b9a2
mov ecx, dword [esi + 0xc]
push 1
mov eax, dword [ecx]
call dword [eax + 0x34]
movzx eax, ax
test ax, ax
je 0x1000b9a2
cmp eax, 0x6e
je 0x1000b99b
cmp eax, 0x4e
jne 0x1000b9a2
or dword [esi + 0x20], 0x100
cmp word [esi + 0x24], 0x3d
mov eax, 1
cmove ebx, eax
movzx edi, word [esi + 0x24]
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x24]
mov word [esi + 0x24], ax
test ax, ax
je 0x1000b9c9
inc dword [esi + 0x14]
jmp 0x1000b9d4
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov dword [esi + 0x14], eax
movzx ecx, word [esi + 0x24]
test cx, cx
je 0x1000ba12
mov eax, ecx
cmp ecx, 0x3e
jne 0x1000b48d
cmp di, 0x2f
jne 0x1000b9fb
cmp dword [esi + 0x28], 4
jne 0x1000b9fb
mov dword [esi + 0x28], 6
mov eax, dword [esi + 0x28]
pop edi
pop esi
pop ebx
ret
pop edi
pop esi
mov eax, 0xfffffffb
pop ebx
ret
pop edi
pop esi
or eax, 0xffffffff
pop ebx
ret
pop edi
pop esi
mov eax, 0xfffffffa
pop ebx
ret