Function at 0x40b830
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 0x40bb84
cmp eax, 0x7c
je 0x40bb84
cmp eax, 0x29
jne 0x40b86d
cmp dword [esi + 0x10], 0
jne 0x40bb84
test dword [esi + 0x50], 0x10000000
je 0x40bb91
jmp 0x40bb1a
cmp eax, 0x2e
jne 0x40b881
push 5
lea ecx, [esi + 0x24]
call fcn.0040bbb0
jmp 0x40bb27
cmp eax, 0x5c
jne 0x40b953
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x40b8cb
cmp byte [eax], 0x5c
jne 0x40b8c8
lea ecx, [eax + 1]
mov eax, ecx
cmp ecx, edx
je 0x40b8c6
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x40b8b5
mov bl, byte [ecx]
cmp bl, 0x28
je 0x40b8c8
cmp bl, 0x29
je 0x40b8c8
test dl, 0x10
jne 0x40b8c6
mov cl, byte [ecx]
cmp cl, 0x7b
je 0x40b8c8
cmp cl, 0x7d
je 0x40b8c8
mov eax, dword [esi]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0040aa10
test byte [esi + 0x50], 0x80
je 0x40b947
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x40b930
push 4
lea ecx, [esi + 0x24]
call fcn.0040bbb0
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x40bac8
cmp byte [eax], 0x5c
jne 0x40bac5
lea ecx, [eax + 1]
mov eax, ecx
cmp ecx, edx
je 0x40bac3
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x40b928
mov dl, byte [ecx]
cmp dl, 0x28
je 0x40bac5
cmp dl, 0x29
je 0x40bac5
test bl, 0x10
jmp 0x40bab5
cmp al, 0x42
jne 0x40b947
push 4
lea ecx, [esi + 0x24]
call fcn.0040bbb0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
jmp 0x40b8e9
mov ecx, esi
call fcn.0040c850
jmp 0x40bb6f
cmp eax, 0x5b
jne 0x40b9b6
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x40b999
cmp byte [eax], 0x5c
jne 0x40b996
lea ecx, [eax + 1]
mov eax, ecx
cmp ecx, edx
je 0x40b994
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x40b983
mov bl, byte [ecx]
cmp bl, 0x28
je 0x40b996
cmp bl, 0x29
je 0x40b996
test dl, 0x10
jne 0x40b994
mov cl, byte [ecx]
cmp cl, 0x7b
je 0x40b996
cmp cl, 0x7d
je 0x40b996
mov eax, dword [esi]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0040aa10
mov ecx, esi
call fcn.0040c730
cmp dword [esi + 0x4c], 0x5d
jne 0x40bb98
jmp 0x40bb27
cmp eax, 0x28
jne 0x40ba6f
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x40ba00
cmp byte [eax], 0x5c
jne 0x40b9fd
lea ecx, [eax + 1]
mov eax, ecx
cmp ecx, edx
je 0x40b9fb
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x40b9ea
mov bl, byte [ecx]
cmp bl, 0x28
je 0x40b9fd
cmp bl, 0x29
je 0x40b9fd
test dl, 0x10
jne 0x40b9fb
mov cl, byte [ecx]
cmp cl, 0x7b
je 0x40b9fd
cmp cl, 0x7d
je 0x40b9fd
mov eax, dword [esi]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0040aa10
mov ecx, esi
call fcn.0040c9a0
cmp dword [esi + 0x4c], 0x29
mov bh, al
jne 0x40bb91
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x40ba5b
cmp byte [eax], 0x5c
jne 0x40ba58
lea ecx, [eax + 1]
mov eax, ecx
cmp ecx, edx
je 0x40ba56
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x40ba45
mov bl, byte [ecx]
cmp bl, 0x28
je 0x40ba58
cmp bl, 0x29
je 0x40ba58
test dl, 0x10
jne 0x40ba56
mov cl, byte [ecx]
cmp cl, 0x7b
je 0x40ba58
cmp cl, 0x7d
je 0x40ba58
mov eax, dword [esi]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0040aa10
test bh, bh
je 0x40bb76
jmp 0x40bb6f
cmp eax, 0x5e
jne 0x40ba78
push 2
jmp 0x40ba7f
cmp eax, 0x24
jne 0x40bad4
push 3
lea ecx, [esi + 0x24]
call fcn.0040bbb0
mov edx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, edx
je 0x40bac8
cmp byte [eax], 0x5c
jne 0x40bac5
lea ecx, [eax + 1]
mov eax, ecx
cmp ecx, edx
je 0x40bac3
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x40bab2
mov bl, byte [ecx]
cmp bl, 0x28
je 0x40bac5
cmp bl, 0x29
je 0x40bac5
test dl, 0x10
jne 0x40bac3
mov cl, byte [ecx]
cmp cl, 0x7b
je 0x40bac5
cmp cl, 0x7d
je 0x40bac5
mov eax, dword [esi]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0040aa10
jmp 0x40bb76
cmp eax, 0x2a
je 0x40bb8a
cmp eax, 0x2b
je 0x40bb8a
cmp eax, 0x3f
je 0x40bb8a
cmp eax, 0x7b
je 0x40bb8a
cmp eax, 0x7d
jne 0x40bb0c
test dword [esi + 0x50], 0x10000000
je 0x40bb9f
jmp 0x40bb1a
cmp eax, 0x5d
jne 0x40bb1a
test dword [esi + 0x50], 0x10000000
je 0x40bb98
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0040cdc0
mov edx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, edx
je 0x40bb68
cmp byte [eax], 0x5c
jne 0x40bb65
lea ecx, [eax + 1]
mov eax, ecx
cmp ecx, edx
je 0x40bb63
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x40bb52
mov bl, byte [ecx]
cmp bl, 0x28
je 0x40bb65
cmp bl, 0x29
je 0x40bb65
test dl, 0x10
jne 0x40bb63
mov cl, byte [ecx]
cmp cl, 0x7b
je 0x40bb65
cmp cl, 0x7d
je 0x40bb65
mov eax, dword [esi]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0040aa10
mov ecx, esi
call fcn.0040cb90
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x40b843
pop esi
mov al, cl
pop ebx
pop ecx
ret
push 0xa
call fcn.0040aa00
push 5
call fcn.0040aa00
push 4
call fcn.0040aa00
push 6
call fcn.0040aa00
int3