Function at 0x100a2760
Capabilities:
Parse credit card information

Disassembly:
push ecx
push ebx
push esi
mov esi, ecx
xor cl, cl
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x100a2df2
cmp eax, 0x7c
je 0x100a2df2
cmp eax, 0x29
jne 0x100a2798
cmp dword [esi + 0x10], 0
jne 0x100a2df2
test dword [esi + 0x50], 0x10000000
je 0x100a2dff
cmp eax, 0x2e
jne 0x100a2853
push 0x14
call fcn.100a690e
mov ecx, eax
add esp, 4
mov dword [ecx + 0x10], 0
mov dword [ecx], 0x100df8dc
mov dword [ecx + 4], 5
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x100a27ee
mov dword [ecx + 0xc], edx
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x28]
mov dword [eax + 0xc], ecx
mov dword [esi + 0x28], ecx
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100a2dd6
cmp byte [eax], 0x5c
jne 0x100a2dd4
inc eax
cmp eax, ecx
je 0x100a2dcc
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100a282f
mov dl, byte [eax]
cmp dl, 0x28
je 0x100a2dc8
cmp dl, 0x29
je 0x100a2dc8
test cl, 0x10
jne 0x100a2dcc
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100a2dc8
cmp cl, 0x7d
jne 0x100a2dcc
mov cl, 1
jmp 0x100a2dce
cmp eax, 0x5c
jne 0x100a2a49
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100a28a2
cmp byte [eax], 0x5c
jne 0x100a28a0
inc eax
cmp eax, ecx
je 0x100a2898
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100a2883
mov dl, byte [eax]
cmp dl, 0x28
je 0x100a2894
cmp dl, 0x29
je 0x100a2894
test cl, 0x10
jne 0x100a2898
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100a2894
cmp cl, 0x7d
jne 0x100a2898
mov cl, 1
jmp 0x100a289a
xor cl, cl
test cl, cl
je 0x100a28a0
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100a16b0
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x100a2973
cmp byte [esi + 0x48], 0x62
jne 0x100a2973
push 0x14
call fcn.100a690e
mov ecx, eax
add esp, 4
mov dword [ecx + 0x10], 0
mov dword [ecx], 0x100df8dc
mov dword [ecx + 4], 4
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x100a290e
mov dword [ecx + 0xc], edx
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x28]
mov dword [eax + 0xc], ecx
mov dword [esi + 0x28], ecx
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100a2d2f
cmp byte [eax], 0x5c
jne 0x100a2d2d
inc eax
cmp eax, ecx
je 0x100a2d25
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x100a294f
mov cl, byte [eax]
cmp cl, 0x28
je 0x100a2d21
cmp cl, 0x29
je 0x100a2d21
test dl, 0x10
jne 0x100a2d25
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100a2d21
cmp cl, 0x7d
jne 0x100a2d25
mov cl, 1
jmp 0x100a2d27
test eax, eax
je 0x100a2a3d
cmp byte [esi + 0x48], 0x42
jne 0x100a2a3d
push 0x14
call fcn.100a690e
mov ecx, eax
add esp, 4
mov dword [ecx + 0x10], 0
mov dword [ecx], 0x100df8dc
mov dword [ecx + 4], 4
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x100a29d2
mov dword [ecx + 0xc], edx
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x28]
mov dword [eax + 0xc], ecx
mov eax, ecx
mov dword [esi + 0x28], ecx
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100a2d2f
cmp byte [eax], 0x5c
jne 0x100a2d2d
inc eax
cmp eax, ecx
je 0x100a2d25
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x100a2a19
mov cl, byte [eax]
cmp cl, 0x28
je 0x100a2d21
cmp cl, 0x29
je 0x100a2d21
test dl, 0x10
jne 0x100a2d25
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100a2d21
cmp cl, 0x7d
jne 0x100a2d25
mov cl, 1
jmp 0x100a2d27
mov ecx, esi
call fcn.100a3a40
jmp 0x100a2ddd
cmp eax, 0x5b
jne 0x100a2b0f
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100a2a98
cmp byte [eax], 0x5c
jne 0x100a2a96
inc eax
cmp eax, ecx
je 0x100a2a8e
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100a2a79
mov dl, byte [eax]
cmp dl, 0x28
je 0x100a2a8a
cmp dl, 0x29
je 0x100a2a8a
test cl, 0x10
jne 0x100a2a8e
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100a2a8a
cmp cl, 0x7d
jne 0x100a2a8e
mov cl, 1
jmp 0x100a2a90
xor cl, cl
test cl, cl
je 0x100a2a96
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100a16b0
mov ecx, esi
call fcn.100a3910
cmp dword [esi + 0x4c], 0x5d
jne 0x100a2e06
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100a2dd6
cmp byte [eax], 0x5c
jne 0x100a2dd4
inc eax
cmp eax, ecx
je 0x100a2dcc
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100a2aeb
mov dl, byte [eax]
cmp dl, 0x28
je 0x100a2dc8
cmp dl, 0x29
je 0x100a2dc8
test cl, 0x10
jne 0x100a2dcc
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100a2dc8
cmp cl, 0x7d
jne 0x100a2dcc
mov cl, 1
jmp 0x100a2dce
cmp eax, 0x28
jne 0x100a2bd2
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100a2b5e
cmp byte [eax], 0x5c
jne 0x100a2b5c
inc eax
cmp eax, ecx
je 0x100a2b54
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100a2b3f
mov dl, byte [eax]
cmp dl, 0x28
je 0x100a2b50
cmp dl, 0x29
je 0x100a2b50
test cl, 0x10
jne 0x100a2b54
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100a2b50
cmp cl, 0x7d
jne 0x100a2b54
mov cl, 1
jmp 0x100a2b56
xor cl, cl
test cl, cl
je 0x100a2b5c
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100a16b0
mov ecx, esi
call fcn.100a3b80
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x100a2dff
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100a2bbe
cmp byte [eax], 0x5c
jne 0x100a2bbc
inc eax
cmp eax, ecx
je 0x100a2bb4
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100a2b9f
mov dl, byte [eax]
cmp dl, 0x28
je 0x100a2bb0
cmp dl, 0x29
je 0x100a2bb0
test cl, 0x10
jne 0x100a2bb4
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100a2bb0
cmp cl, 0x7d
jne 0x100a2bb4
mov cl, 1
jmp 0x100a2bb6
xor cl, cl
test cl, cl
je 0x100a2bbc
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100a16b0
test bl, bl
je 0x100a2de4
jmp 0x100a2ddd
cmp eax, 0x5e
jne 0x100a2c8d
push 0x14
call fcn.100a690e
mov ecx, eax
add esp, 4
mov dword [ecx + 0x10], 0
mov dword [ecx], 0x100df8dc
mov dword [ecx + 4], 2
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x100a2c28
mov dword [ecx + 0xc], edx
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x28]
mov dword [eax + 0xc], ecx
mov dword [esi + 0x28], ecx
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100a2d2f
cmp byte [eax], 0x5c
jne 0x100a2d2d
inc eax
cmp eax, ecx
je 0x100a2d25
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100a2c69
mov dl, byte [eax]
cmp dl, 0x28
je 0x100a2d21
cmp dl, 0x29
je 0x100a2d21
test cl, 0x10
jne 0x100a2d25
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100a2d21
cmp cl, 0x7d
jne 0x100a2d25
mov cl, 1
jmp 0x100a2d27
cmp eax, 0x24
jne 0x100a2d3b
push 0x14
call fcn.100a690e
mov ecx, eax
add esp, 4
mov dword [ecx + 0x10], 0
mov dword [ecx], 0x100df8dc
mov dword [ecx + 4], 3
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x100a2ce3
mov dword [ecx + 0xc], edx
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x28]
mov dword [eax + 0xc], ecx
mov dword [esi + 0x28], ecx
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100a2d2f
cmp byte [eax], 0x5c
jne 0x100a2d2d
inc eax
cmp eax, ecx
je 0x100a2d25
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100a2d10
mov dl, byte [eax]
cmp dl, 0x28
je 0x100a2d21
cmp dl, 0x29
je 0x100a2d21
test cl, 0x10
jne 0x100a2d25
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100a2d21
cmp cl, 0x7d
jne 0x100a2d25
mov cl, 1
jmp 0x100a2d27
xor cl, cl
test cl, cl
je 0x100a2d2d
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100a16b0
jmp 0x100a2de4
cmp eax, 0x2a
je 0x100a2df8
cmp eax, 0x2b
je 0x100a2df8
cmp eax, 0x3f
je 0x100a2df8
cmp eax, 0x7b
je 0x100a2df8
cmp eax, 0x7d
jne 0x100a2d71
test dword [esi + 0x50], 0x10000000
je 0x100a2e0d
cmp eax, 0x5d
jne 0x100a2d83
test dword [esi + 0x50], 0x10000000
je 0x100a2e06
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.100a3f40
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100a2dd6
cmp byte [eax], 0x5c
jne 0x100a2dd4
inc eax
cmp eax, ecx
je 0x100a2dcc
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100a2db7
mov dl, byte [eax]
cmp dl, 0x28
je 0x100a2dc8
cmp dl, 0x29
je 0x100a2dc8
test cl, 0x10
jne 0x100a2dcc
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100a2dc8
cmp cl, 0x7d
jne 0x100a2dcc
mov cl, 1
jmp 0x100a2dce
xor cl, cl
test cl, cl
je 0x100a2dd4
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100a16b0
mov ecx, esi
call fcn.100a3d10
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x100a2773
pop esi
mov al, cl
pop ebx
pop ecx
ret
push 0xa
call fcn.100a16a0
push 5
call fcn.100a16a0
push 4
call fcn.100a16a0
push 6
call fcn.100a16a0
int3