Function at 0x10009ed0
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, ecx
xor cl, cl
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x1000a304
push edi
lea edi, [esi + 8]
push ebx
cmp eax, 0x7c
je 0x1000a302
cmp eax, 0x29
jne 0x10009f10
cmp dword [esi + 0x10], 0
jne 0x1000a302
test dword [esi + 0x50], 0x10000000
je 0x1000a311
jmp 0x1000a29b
cmp eax, 0x2e
jne 0x10009f66
push 5
lea ecx, [esi + 0x24]
call fcn.1000c640
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000a2e3
cmp byte [eax], 0x5c
jne 0x10009f5e
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10009f5e
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10009f4b
mov dl, byte [ecx]
cmp dl, 0x28
je 0x10009f5c
cmp dl, 0x29
je 0x10009f5c
test bl, 0x10
jne 0x10009f5e
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10009f5c
cmp dl, 0x7d
jne 0x10009f5e
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x1000a2e3
cmp eax, 0x5c
jne 0x1000a084
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10009fad
cmp byte [eax], 0x5c
jne 0x10009faa
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10009faa
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10009f97
mov dl, byte [ecx]
cmp dl, 0x28
je 0x10009fa8
cmp dl, 0x29
je 0x10009fa8
test bl, 0x10
jne 0x10009faa
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10009fa8
cmp dl, 0x7d
jne 0x10009faa
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1000cb50
test byte [esi + 0x50], 0x80
je 0x1000a078
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x1000a019
push 4
lea ecx, [esi + 0x24]
call fcn.1000c640
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000a00d
cmp byte [eax], 0x5c
jne 0x1000a00a
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1000a00a
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10009ff7
mov dl, byte [ecx]
cmp dl, 0x28
je 0x1000a008
cmp dl, 0x29
je 0x1000a008
test bl, 0x10
jne 0x1000a00a
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1000a008
cmp dl, 0x7d
jne 0x1000a00a
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1000cb50
jmp 0x1000a2f4
cmp al, 0x42
jne 0x1000a078
push 4
lea ecx, [esi + 0x24]
call fcn.1000c640
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000a06c
cmp byte [eax], 0x5c
jne 0x1000a069
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1000a069
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1000a056
mov al, byte [ecx]
cmp al, 0x28
je 0x1000a067
cmp al, 0x29
je 0x1000a067
mov eax, dword [esi]
test dl, 0x10
jne 0x1000a069
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1000a067
cmp dl, 0x7d
jne 0x1000a069
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1000cb50
jmp 0x1000a2f4
mov ecx, esi
call fcn.1000a330
jmp 0x1000a2ea
cmp eax, 0x5b
jne 0x1000a12e
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000a0cb
cmp byte [eax], 0x5c
jne 0x1000a0c8
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1000a0c8
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1000a0b5
mov al, byte [ecx]
cmp al, 0x28
je 0x1000a0c6
cmp al, 0x29
je 0x1000a0c6
mov eax, dword [esi]
test dl, 0x10
jne 0x1000a0c8
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1000a0c6
cmp dl, 0x7d
jne 0x1000a0c8
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1000cb50
lea ecx, [esi + 0x24]
call fcn.10009730
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x1000a0f3
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.1000c6b0
mov eax, dword [esi + 0x4c]
test dword [esi + 0x50], 0x20000000
je 0x1000a111
cmp eax, 0x5d
jne 0x1000a111
push eax
lea ecx, [esi + 0x24]
call fcn.100096c0
mov ecx, esi
call fcn.1000c6b0
mov ecx, esi
call fcn.1000abf0
cmp dword [esi + 0x4c], 0x5d
jne 0x1000a323
mov ecx, esi
call fcn.1000c6b0
jmp 0x1000a2ea
cmp eax, 0x28
jne 0x1000a19f
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000a171
cmp byte [eax], 0x5c
jne 0x1000a16e
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1000a16e
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1000a15b
mov al, byte [ecx]
cmp al, 0x28
je 0x1000a16c
cmp al, 0x29
je 0x1000a16c
mov eax, dword [esi]
test dl, 0x10
jne 0x1000a16e
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1000a16c
cmp dl, 0x7d
jne 0x1000a16e
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1000cb50
mov ecx, esi
call fcn.1000cd90
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x1000a311
mov ecx, esi
call fcn.1000c6b0
test bl, bl
je 0x1000a2f4
jmp 0x1000a2ea
cmp eax, 0x5e
jne 0x1000a1f8
push 2
lea ecx, [esi + 0x24]
call fcn.1000c640
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000a1ec
cmp byte [eax], 0x5c
jne 0x1000a1e9
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1000a1e9
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1000a1d6
mov al, byte [ecx]
cmp al, 0x28
je 0x1000a1e7
cmp al, 0x29
je 0x1000a1e7
mov eax, dword [esi]
test dl, 0x10
jne 0x1000a1e9
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1000a1e7
cmp dl, 0x7d
jne 0x1000a1e9
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1000cb50
jmp 0x1000a2f4
cmp eax, 0x24
jne 0x1000a251
push 3
lea ecx, [esi + 0x24]
call fcn.1000c640
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000a245
cmp byte [eax], 0x5c
jne 0x1000a242
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1000a242
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1000a22f
mov al, byte [ecx]
cmp al, 0x28
je 0x1000a240
cmp al, 0x29
je 0x1000a240
mov eax, dword [esi]
test dl, 0x10
jne 0x1000a242
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1000a240
cmp dl, 0x7d
jne 0x1000a242
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1000cb50
jmp 0x1000a2f4
cmp eax, 0x2a
je 0x1000a308
cmp eax, 0x2b
je 0x1000a308
cmp eax, 0x3f
je 0x1000a308
cmp eax, 0x7b
je 0x1000a308
cmp eax, 0x7d
jne 0x1000a289
test dword [esi + 0x50], 0x10000000
je 0x1000a31a
jmp 0x1000a29b
cmp eax, 0x5d
jne 0x1000a29b
test dword [esi + 0x50], 0x10000000
je 0x1000a323
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.10009510
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1000a2e3
cmp byte [eax], 0x5c
jne 0x1000a2e1
inc eax
cmp eax, ecx
je 0x1000a2e1
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1000a2ce
mov dl, byte [eax]
cmp dl, 0x28
je 0x1000a2df
cmp dl, 0x29
je 0x1000a2df
test cl, 0x10
jne 0x1000a2e1
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1000a2df
cmp cl, 0x7d
jne 0x1000a2e1
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1000cb50
mov ecx, esi
call fcn.1000c710
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x10009ee6
pop ebx
pop edi
mov al, cl
pop esi
ret
push 0xa
mov ecx, esi
call fcn.1000ba40
push 5
mov ecx, esi
call fcn.1000ba40
push 6
mov ecx, esi
call fcn.1000ba40
push 4
mov ecx, esi
call fcn.1000ba40
int3