Function at 0x100af500
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100d8eeb
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push esi
push edi
mov eax, dword [0x1010e07c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
xor edi, edi
xor al, al
cmp dword [esi + 0x40], 0xffffffff
je 0x100af84f
jmp 0x100af540
mov ecx, dword [esi + 0x40]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x100af84f
cmp ecx, 0x29
jne 0x100af573
cmp dword [esi + 0x10], edi
jne 0x100af84f
test dword [esi + 0x44], edx
jne 0x100af573
push 5
call fcn.100b23d8
add esp, 4
jmp 0x100af83c
cmp ecx, 0x2e
jne 0x100af61d
push 0x14
call fcn.100b3d5d
add esp, 4
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], edi
cmp eax, edi
je 0x100af5a8
mov dword [eax], vtable.std::tr1::_Node_base.0
mov dword [eax + 4], 5
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], edi
jmp 0x100af5aa
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [esi + 0x1c]
mov dword [eax + 0x10], ecx
mov edx, dword [esi + 0x1c]
mov ecx, dword [edx + 0xc]
cmp ecx, edi
je 0x100af5cd
mov dword [eax + 0xc], ecx
mov ecx, dword [esi + 0x1c]
mov edx, dword [ecx + 0xc]
mov dword [edx + 0x10], eax
mov ecx, dword [esi + 0x1c]
mov dword [ecx + 0xc], eax
mov dword [esi + 0x1c], eax
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100af611
cmp byte [eax], 0x5c
jne 0x100af60f
inc eax
cmp eax, ecx
je 0x100af5fb
test byte [esi + 0x44], 8
jne 0x100af5fb
mov cl, byte [eax]
cmp cl, 0x28
je 0x100af60d
cmp cl, 0x29
je 0x100af60d
test byte [esi + 0x44], 0x10
jne 0x100af60f
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100af60d
cmp cl, 0x7d
jne 0x100af60f
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100a8ad0
jmp 0x100af83c
cmp ecx, 0x5c
jne 0x100af737
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100af661
cmp byte [eax], 0x5c
jne 0x100af65f
inc eax
cmp eax, ecx
je 0x100af64b
test byte [esi + 0x44], 8
jne 0x100af64b
mov cl, byte [eax]
cmp cl, 0x28
je 0x100af65d
cmp cl, 0x29
je 0x100af65d
test byte [esi + 0x44], 0x10
jne 0x100af65f
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100af65d
cmp cl, 0x7d
jne 0x100af65f
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100a8ad0
mov eax, dword [esi + 0x44]
and eax, 0x80
je 0x100af6c9
cmp byte [esi + 0x3e], 0x62
jne 0x100af6c9
lea ecx, [esi + 0x18]
push 4
call fcn.100a75e0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100af6bd
cmp byte [eax], 0x5c
jne 0x100af6bb
inc eax
cmp eax, ecx
je 0x100af6a7
test byte [esi + 0x44], 8
jne 0x100af6a7
mov cl, byte [eax]
cmp cl, 0x28
je 0x100af6b9
cmp cl, 0x29
je 0x100af6b9
test byte [esi + 0x44], 0x10
jne 0x100af6bb
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100af6b9
cmp cl, 0x7d
jne 0x100af6bb
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100a8ad0
jmp 0x100af843
cmp eax, edi
je 0x100af72b
cmp byte [esi + 0x3e], 0x42
jne 0x100af72b
lea ecx, [esi + 0x18]
push 4
call fcn.100a75e0
mov eax, dword [esi + 0x1c]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100af71f
cmp byte [eax], 0x5c
jne 0x100af71d
inc eax
cmp eax, ecx
je 0x100af709
test byte [esi + 0x44], 8
jne 0x100af709
mov cl, byte [eax]
cmp cl, 0x28
je 0x100af71b
cmp cl, 0x29
je 0x100af71b
test byte [esi + 0x44], 0x10
jne 0x100af71d
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100af71b
cmp cl, 0x7d
jne 0x100af71d
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100a8ad0
jmp 0x100af843
mov ecx, esi
call fcn.100acb30
jmp 0x100af83c
cmp ecx, 0x5b
jne 0x100af7dd
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100af77b
cmp byte [eax], 0x5c
jne 0x100af779
inc eax
cmp eax, ecx
je 0x100af765
test byte [esi + 0x44], 8
jne 0x100af765
mov cl, byte [eax]
cmp cl, 0x28
je 0x100af777
cmp cl, 0x29
je 0x100af777
test byte [esi + 0x44], 0x10
jne 0x100af779
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100af777
cmp cl, 0x7d
jne 0x100af779
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100a8ad0
mov ecx, esi
call fcn.100af200
cmp dword [esi + 0x40], 0x5d
je 0x100af799
push 4
call fcn.100b23d8
add esp, 4
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100af7d4
cmp byte [eax], 0x5c
jne 0x100af7d2
inc eax
cmp eax, ecx
je 0x100af7be
test byte [esi + 0x44], 8
jne 0x100af7be
mov cl, byte [eax]
cmp cl, 0x28
je 0x100af7d0
cmp cl, 0x29
je 0x100af7d0
test byte [esi + 0x44], 0x10
jne 0x100af7d2
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100af7d0
cmp cl, 0x7d
jne 0x100af7d2
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100a8ad0
jmp 0x100af83c
cmp ecx, 0x28
jne 0x100af861
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100af81d
cmp byte [eax], 0x5c
jne 0x100af81b
inc eax
cmp eax, ecx
je 0x100af807
test byte [esi + 0x44], 8
jne 0x100af807
mov cl, byte [eax]
cmp cl, 0x28
je 0x100af819
cmp cl, 0x29
je 0x100af819
test byte [esi + 0x44], 0x10
jne 0x100af81b
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100af819
cmp cl, 0x7d
jne 0x100af81b
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100a8ad0
mov ecx, esi
call fcn.100a8e10
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.100a8da0
test bl, bl
je 0x100af843
mov ecx, esi
call fcn.100acbe0
cmp dword [esi + 0x40], 0xffffffff
mov al, 1
jne 0x100af540
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp ecx, 0x5e
jne 0x100af879
lea ecx, [esi + 0x18]
push 2
call fcn.100a75e0
mov ecx, esi
call fcn.100a8c80
jmp 0x100af843
cmp ecx, 0x24
jne 0x100af891
lea ecx, [esi + 0x18]
push 3
call fcn.100a75e0
mov ecx, esi
call fcn.100a8c80
jmp 0x100af843
cmp ecx, 0x2a
je 0x100af8ed
cmp ecx, 0x2b
je 0x100af8ed
cmp ecx, 0x3f
je 0x100af8ed
cmp ecx, 0x7b
je 0x100af8ed
cmp ecx, 0x7d
jne 0x100af8bb
test dword [esi + 0x44], edx
jne 0x100af8bb
push 6
call fcn.100b23d8
add esp, 4
jmp 0x100af83c
cmp ecx, 0x5d
jne 0x100af8d4
test dword [esi + 0x44], edx
jne 0x100af8d4
push 4
call fcn.100b23d8
add esp, 4
jmp 0x100af83c
movzx edx, byte [esi + 0x3e]
lea ecx, [esi + 0x18]
push edx
call fcn.100abf50
mov ecx, esi
call fcn.100a8c80
jmp 0x100af83c
push 0xa
call fcn.100b23d8
add esp, 4
jmp 0x100af83c