Function at 0x40a9fe
Capabilities:
Parse credit card information

Disassembly:
push pe_nt_image_headers32
mov eax, 0x4424a4
call fcn.0041f7fc
mov edi, ecx
mov dword [ebp - 0x78], edi
xor edx, edx
lea esi, [edi + 0x1c]
inc dword [edi + 0x28]
mov dword [edi + 0x2c], edx
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x40aa27
mov dword [esi + 4], eax
mov ecx, dword [edi]
lea ebx, [edi + 4]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
test byte [eax + ecx + 0xc], 1
je 0x40aa77
xor edi, edi
mov ecx, ebx
push edx
inc edi
push edi
call fcn.00407c66
cmp dword [ebx + 0x14], 0xf
jbe 0x40aa4c
mov ebx, dword [ebx]
or dword [ebp - 0x8c], 0xffffffff
lea eax, [ebp - 0x8c]
and dword [ebp - 0x88], 0
mov ecx, esi
push eax
mov byte [ebx], 0xff
mov dword [ebp - 0x84], edi
call fcn.004096ca
call fcn.0041f7ab
ret
push ebx
push ecx
call fcn.004099eb
push 0xa
mov ecx, ebx
call fcn.00404e7c
mov ecx, dword [ebp - 0x78]
mov eax, dword [edi + 0x14]
xor edi, edi
add dword [0x460724], eax
cmp dword [ecx + 0x14], edi
jbe 0x40af89
cmp dword [ebx + 0x14], 0xf
mov eax, ebx
jbe 0x40aaa8
mov eax, dword [ebx]
movsx esi, byte [eax + edi]
mov eax, edi
push 0xa
pop edx
mov dword [ebp - 0x74], eax
cmp esi, edx
jne 0x40aad6
inc edi
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x8c], edx
lea eax, [ebp - 0x8c]
mov dword [ebp - 0x84], edi
jmp 0x40af74
push esi
call fcn.00427d80
pop ecx
test eax, eax
je 0x40aae7
inc edi
jmp 0x40af7d
cmp esi, 0x3b
jne 0x40ab03
inc edi
mov eax, ebx
cmp dword [ebx + 0x14], 0xf
jbe 0x40aaf7
mov eax, dword [ebx]
cmp byte [eax + edi], 0xa
je 0x40af7d
jmp 0x40aaec
cmp esi, 0x2e
jne 0x40ab65
cmp dword [ebx + 0x14], 0xf
mov eax, ebx
jbe 0x40ab12
mov eax, dword [ebx]
movsx eax, byte [eax + edi + 1]
push eax
call fcn.00427c60
pop ecx
test eax, eax
je 0x40ab65
add edi, 2
cmp dword [ebx + 0x14], 0xf
mov eax, ebx
jbe 0x40ab2f
mov eax, dword [ebx]
movsx eax, byte [eax + edi]
push eax
call fcn.00427c60
pop ecx
test eax, eax
je 0x40ab41
inc edi
jmp 0x40ab25
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0x98], 0x8045
mov dword [ebp - 0x90], edi
jmp 0x40af71
push esi
call fcn.00427c60
pop ecx
test eax, eax
je 0x40ac00
inc edi
mov eax, ebx
cmp dword [ebx + 0x14], 0xf
jbe 0x40ab7f
mov eax, dword [ebx]
movsx eax, byte [eax + edi]
push eax
call fcn.00427c60
pop ecx
test eax, eax
jne 0x40ab74
cmp dword [ebx + 0x14], 0xf
mov eax, ebx
jbe 0x40ab98
mov eax, dword [ebx]
cmp byte [eax + edi], 0x2e
jne 0x40abdc
inc edi
mov eax, ebx
cmp dword [ebx + 0x14], 0xf
jbe 0x40aba9
mov eax, dword [ebx]
movsx eax, byte [eax + edi]
push eax
call fcn.00427c60
pop ecx
test eax, eax
jne 0x40ab9e
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0xa4]
mov dword [ebp - 0xa4], 0x8045
mov dword [ebp - 0x9c], edi
jmp 0x40af71
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xac], eax
lea eax, [ebp - 0xb0]
mov dword [ebp - 0xb0], 0x8042
mov dword [ebp - 0xa8], edi
jmp 0x40af71
cmp esi, 0x25
jne 0x40ac74
mov ecx, dword [ebx + 0x14]
mov eax, ebx
cmp ecx, 0xf
jbe 0x40ac11
mov eax, dword [ebx]
cmp byte [eax + edi + 1], 0x30
je 0x40ac2c
mov eax, ebx
cmp ecx, 0xf
jbe 0x40ac21
mov eax, dword [ebx]
cmp byte [eax + edi + 1], 0x31
jne 0x40acd6
add edi, 2
mov eax, ebx
cmp ecx, 0xf
jbe 0x40ac38
mov eax, dword [ebx]
cmp byte [eax + edi], 0x30
je 0x40ac4d
mov eax, ebx
cmp ecx, 0xf
jbe 0x40ac47
mov eax, dword [ebx]
cmp byte [eax + edi], 0x31
jne 0x40ac50
inc edi
jmp 0x40ac2f
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0xbc]
mov dword [ebp - 0xbc], 0x8043
mov dword [ebp - 0xb4], edi
jmp 0x40af71
cmp esi, 0x24
jne 0x40acd6
cmp dword [ebx + 0x14], 0xf
mov eax, ebx
jbe 0x40ac83
mov eax, dword [ebx]
movsx eax, byte [eax + edi + 1]
push eax
call fcn.00427ea0
pop ecx
test eax, eax
je 0x40acd6
add edi, 2
cmp dword [ebx + 0x14], 0xf
mov eax, ebx
jbe 0x40aca0
mov eax, dword [ebx]
movsx eax, byte [eax + edi]
push eax
call fcn.00427ea0
pop ecx
test eax, eax
je 0x40acb2
inc edi
jmp 0x40ac96
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xc4], eax
lea eax, [ebp - 0xc8]
mov dword [ebp - 0xc8], 0x8044
mov dword [ebp - 0xc0], edi
jmp 0x40af71
push esi
call fcn.00427bd0
pop ecx
test eax, eax
je 0x40aeb1
inc edi
mov eax, ebx
cmp dword [ebx + 0x14], 0xf
jbe 0x40acf0
mov eax, dword [ebx]
movsx eax, byte [eax + edi]
push eax
call fcn.00427b40
pop ecx
test eax, eax
jne 0x40ace5
cmp dword [ebx + 0x14], 0xf
mov eax, ebx
jbe 0x40ad09
mov eax, dword [ebx]
cmp byte [eax + edi], 0x5f
je 0x40ace5
mov esi, dword [ebp - 0x74]
lea eax, [ebp - 0x79]
push eax
mov eax, edi
lea ecx, [ebp - 0x58]
sub eax, esi
push eax
push esi
push ebx
call fcn.00401ffa
and dword [ebp - 4], 0
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0041e6a6
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 2
call fcn.0040372f
cmp dword [ebx + 0x14], 0xf
mov eax, ebx
jbe 0x40ad4c
mov eax, dword [ebx]
cmp byte [eax + edi], 0x20
jne 0x40ae0f
cmp dword [ebx + 0x14], 0xf
mov eax, ebx
jbe 0x40ad60
mov eax, dword [ebx]
movsx eax, byte [eax + edi + 1]
push eax
call fcn.00427bd0
pop ecx
test eax, eax
je 0x40ae0f
lea esi, [edi + 2]
cmp dword [ebx + 0x14], 0xf
mov eax, ebx
jbe 0x40ad81
mov eax, dword [ebx]
movsx eax, byte [eax + esi]
push eax
call fcn.00427b40
pop ecx
test eax, eax
jne 0x40ada0
cmp dword [ebx + 0x14], 0xf
mov eax, ebx
jbe 0x40ad9a
mov eax, dword [ebx]
cmp byte [eax + esi], 0x5f
jne 0x40ada3
inc esi
jmp 0x40ad77
mov ecx, dword [ebp - 0x74]
lea eax, [ebp - 0x79]
push eax
mov eax, esi
mov dword [ebp - 0x80], esi
sub eax, ecx
push eax
push ecx
push ebx
lea ecx, [ebp - 0x70]
call fcn.00401ffa
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0041e6a6
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 5
call fcn.0040372f
mov esi, dword [0x460730]
lea eax, [ebp - 0x40]
push eax
mov ecx, 0x460730
call fcn.004097a4
cmp eax, esi
je 0x40ae00
mov edi, dword [ebp - 0x80]
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x28]
call fcn.00402897
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 2
call fcn.0040372f
mov esi, dword [ebp - 0x74]
lea eax, [ebp - 0x28]
mov ecx, 0x460730
push eax
call fcn.004097a4
cmp eax, dword [0x460730]
jne 0x40ae94
mov eax, dword [ebp - 0x74]
cmp eax, edi
jge 0x40ae5b
cmp dword [ebx + 0x14], 0xf
jbe 0x40ae3d
mov eax, dword [ebx]
mov ecx, dword [ebx]
add eax, esi
mov dword [ebp - 0x80], ecx
jmp 0x40ae43
lea eax, [ebx + esi]
mov dword [ebp - 0x80], ebx
movsx eax, byte [eax]
push eax
call fcn.0042866f
pop ecx
mov ecx, dword [ebp - 0x80]
mov byte [ecx + esi], al
inc esi
cmp esi, edi
jl 0x40ae2c
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xd0], eax
lea eax, [ebp - 0xd4]
mov dword [ebp - 0xd4], 0x8041
mov dword [ebp - 0xcc], edi
mov ecx, dword [ebp - 0x78]
push eax
lea ecx, [ecx + 0x1c]
call fcn.004096ca
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.0040372f
jmp 0x40af7d
mov eax, dword [eax + 0x28]
mov dword [ebp - 0xe0], eax
lea eax, [ebp - 0xe0]
mov dword [ebp - 0xdc], esi
mov dword [ebp - 0xd8], edi
jmp 0x40ae77
cmp esi, 0x22
jne 0x40af09
inc edi
mov eax, ebx
cmp dword [ebx + 0x14], 0xf
jbe 0x40aec1
mov eax, dword [ebx]
cmp byte [eax + edi], 0x22
je 0x40aed7
cmp dword [ebx + 0x14], 0xf
mov eax, ebx
jbe 0x40aed1
mov eax, dword [ebx]
cmp byte [eax + edi], 0xa
jne 0x40aeb6
cmp dword [ebx + 0x14], 0xf
mov eax, ebx
jbe 0x40aee1
mov eax, dword [ebx]
cmp byte [eax + edi], 0x22
jne 0x40aee8
inc edi
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xe8], eax
lea eax, [ebp - 0xec]
mov dword [ebp - 0xec], 0x8046
mov dword [ebp - 0xe4], edi
jmp 0x40af71
cmp dword [ebx + 0x14], 0xf
mov eax, ebx
jbe 0x40af13
mov eax, dword [ebx]
mov al, byte [eax + edi + 1]
cmp esi, 0x3c
jne 0x40af20
cmp al, 0x3e
je 0x40af29
cmp esi, 0x3e
jne 0x40af9e
cmp al, 0x3c
jne 0x40af4d
mov eax, dword [ebp - 0x74]
add edi, 2
mov dword [ebp - 0xf4], eax
lea eax, [ebp - 0xf8]
mov dword [ebp - 0xf8], 0x8040
mov dword [ebp - 0xf0], edi
jmp 0x40af71
cmp al, 0x3d
je 0x40afdc
mov eax, dword [ebp - 0x74]
inc edi
mov dword [ebp - 0x118], eax
lea eax, [ebp - 0x11c]
mov dword [ebp - 0x11c], esi
mov dword [ebp - 0x114], edi
mov ecx, dword [ebp - 0x78]
push eax
lea ecx, [ecx + 0x1c]
call fcn.004096ca
mov ecx, dword [ebp - 0x78]
cmp edi, dword [ecx + 0x14]
jb 0x40aa9e
mov eax, dword [ecx + 0x20]
sub eax, dword [ecx + 0x1c]
push 0xc
cdq
pop ecx
idiv ecx
test eax, eax
je 0x40b003
jmp 0x40aa71
cmp esi, 0x3c
jne 0x40afa7
cmp al, 0x3d
je 0x40afb0
cmp esi, 0x3d
jne 0x40af55
cmp al, 0x3c
jne 0x40afd4
mov eax, dword [ebp - 0x74]
add edi, 2
mov dword [ebp - 0x100], eax
lea eax, [ebp - 0x104]
mov dword [ebp - 0x104], 0x803e
mov dword [ebp - 0xfc], edi
jmp 0x40af71
cmp al, 0x3e
jne 0x40af55
mov eax, dword [ebp - 0x74]
add edi, 2
mov dword [ebp - 0x10c], eax
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 0x803f
mov dword [ebp - 0x108], edi
jmp 0x40af71
push 0
call fcn.00428464
int3