Function at 0x408623
Capabilities:
Parse credit card information

Disassembly:
push 0x20
mov eax, 0x460aae
call fcn.004497b9
and dword [ebp - 4], 0
call fcn.00421f68
push eax
lea ecx, [ebp - 0x10]
call fcn.00401abe
and dword [ebp - 0x14], 0
xor ebx, ebx
inc ebx
mov byte [ebp - 4], bl
cmp dword [0x4813f4], ebx
mov eax, ebx
mov dword [ebp - 0x20], ebx
jle 0x4089bd
mov ecx, dword [0x4813f8]
mov esi, dword [ecx + eax*4]
mov al, byte [esi]
cmp al, 0x2d
jne 0x408676
cmp byte [esi + 1], al
jne 0x408676
cmp byte [esi + 2], 0
je 0x408685
cmp al, 0x2f
jne 0x40868d
cmp byte [esi + 1], al
jne 0x40868d
cmp byte [esi + 2], 0
jne 0x40868d
mov dword [ebp - 0x14], ebx
jmp 0x4089aa
xor edx, edx
cmp dword [ebp - 0x14], edx
jne 0x408990
cmp al, 0x2d
je 0x4086a4
cmp al, 0x2f
jne 0x408990
mov al, byte [esi + 1]
cmp al, 0x69
je 0x408988
cmp al, 0x49
je 0x408988
cmp al, 0x77
je 0x408980
cmp al, 0x57
je 0x408980
cmp al, 0x62
je 0x408978
cmp al, 0x42
je 0x408978
cmp al, 0x6c
je 0x408970
cmp al, 0x4c
je 0x408970
cmp al, 0x65
je 0x408968
cmp al, 0x45
je 0x408968
cmp al, 0x74
je 0x408960
cmp al, 0x54
je 0x408960
cmp al, 0x68
je 0x408959
cmp al, 0x48
je 0x408959
cmp al, 0x3f
je 0x408959
cmp al, 0x6e
je 0x408951
cmp al, 0x4e
je 0x408951
cmp al, 0x73
je 0x408737
cmp al, 0x53
jne 0x40874c
mov cl, byte [esi + 2]
cmp cl, 0x64
je 0x408949
cmp cl, 0x44
je 0x408949
cmp al, 0x64
je 0x408941
cmp al, 0x44
je 0x408941
push str.__random_pos
push esi
call fcn.00444fc2
pop ecx
pop ecx
test eax, eax
jne 0x408778
mov dword [edi + 0xf0], ebx
jmp 0x4089aa
push str.__no_history
push esi
call fcn.00444fc2
pop ecx
pop ecx
test eax, eax
jne 0x408794
mov dword [edi + 0x110], ebx
jmp 0x4089aa
push str.__left_display_name:
push esi
call fcn.00446ed0
pop ecx
pop ecx
cmp esi, eax
jne 0x4087f9
push esi
lea ecx, [ebp - 0x10]
call fcn.00401d0f
push str._left_display_name:
lea ecx, [ebp - 0x18]
call fcn.00401a7a
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x18]
mov eax, dword [eax - 0xc]
inc eax
push eax
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x10]
call fcn.00409f9a
lea ecx, [edi + 0x180]
push eax
mov byte [ebp - 4], 3
call fcn.004017c8
mov ecx, dword [ebp - 0x24]
add ecx, 0xfffffff0
call fcn.00401b3a
mov byte [ebp - 4], bl
mov ecx, dword [ebp - 0x18]
jmp 0x408937
push str.__right_display_name:
push esi
call fcn.00446ed0
pop ecx
pop ecx
cmp esi, eax
jne 0x40885e
push esi
lea ecx, [ebp - 0x10]
call fcn.00401d0f
push str._right_display_name:
lea ecx, [ebp - 0x1c]
call fcn.00401a7a
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax - 0xc]
inc eax
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x10]
call fcn.00409f9a
lea ecx, [edi + 0x184]
push eax
mov byte [ebp - 4], 5
call fcn.004017c8
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffff0
call fcn.00401b3a
mov byte [ebp - 4], bl
mov ecx, dword [ebp - 0x1c]
jmp 0x408937
mov al, byte [esi + 1]
cmp al, 0x61
je 0x408910
cmp al, 0x41
je 0x408910
cmp al, 0x21
jne 0x4089c1
mov al, byte [esi + 2]
cmp al, 0x69
je 0x408904
cmp al, 0x49
je 0x408904
cmp al, 0x77
je 0x4088f8
cmp al, 0x57
je 0x4088f8
cmp al, 0x62
je 0x4088ec
cmp al, 0x42
je 0x4088ec
cmp al, 0x6c
je 0x4088e0
cmp al, 0x4c
je 0x4088e0
cmp al, 0x65
je 0x4088d4
cmp al, 0x45
je 0x4088d4
cmp al, 0x74
je 0x4088c8
cmp al, 0x54
je 0x4088c8
cmp al, 0x64
je 0x4088bc
cmp al, 0x44
jne 0x4089aa
and dword [edi + 0xe8], 0
jmp 0x4089aa
and dword [edi + 0xd8], 0
jmp 0x4089aa
and dword [edi + 0xd0], 0
jmp 0x4089aa
and dword [edi + 0xcc], 0
jmp 0x4089aa
and dword [edi + 0xc8], 0
jmp 0x4089aa
and dword [edi + 0xc4], 0
jmp 0x4089aa
and dword [edi + 0xd4], 0
jmp 0x4089aa
push esi
lea ecx, [ebp - 0x10]
call fcn.00401d0f
push 2
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x10]
call fcn.00409f9a
push dword [eax]
call fcn.00446f6c
pop ecx
mov ecx, dword [ebp + 0x18]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x2c]
add ecx, 0xfffffff0
call fcn.00401b3a
jmp 0x4089aa
mov dword [edi + 0xe8], ebx
jmp 0x4089aa
mov dword [edi + 0xe0], ebx
jmp 0x4089aa
mov dword [edi + 0xdc], ebx
jmp 0x4089aa
mov eax, dword [ebp + 0x14]
mov dword [eax], ebx
jmp 0x4089aa
mov dword [edi + 0xd8], ebx
jmp 0x4089aa
mov dword [edi + 0xd0], ebx
jmp 0x4089aa
mov dword [edi + 0xcc], ebx
jmp 0x4089aa
mov dword [edi + 0xc8], ebx
jmp 0x4089aa
mov dword [edi + 0xc4], ebx
jmp 0x4089aa
mov dword [edi + 0xd4], ebx
jmp 0x4089aa
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
cmp dword [eax - 0xc], edx
je 0x4089a4
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx]
cmp dword [eax - 0xc], edx
jne 0x4089ea
push esi
call fcn.00401d0f
mov eax, dword [ebp - 0x20]
inc eax
cmp eax, dword [0x4813f4]
mov dword [ebp - 0x20], eax
jl 0x40865c
mov esi, ebx
jmp 0x4089f5
mov ecx, dword [ebp + 0x1c]
push esi
call fcn.00401d0f
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401b3a
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.00401b3a
xor eax, eax
call fcn.00449891
ret 0x18
mov ecx, dword [ebp + 0x1c]
push esi
call fcn.00401d0f
xor esi, esi
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401b3a
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.00401b3a
mov eax, esi
jmp 0x4089e2