Function at 0x40b9f7
Capabilities:
Parse credit card information

Disassembly:
or eax, 0x496520
dec ecx
add byte [ecx + 0x49654415], cl
add byte [ecx + 0x49654815], cl
add bh, al
add eax, 0x496550
sub byte [ecx + 0x48], bh
dec eax
add byte [ecx + 0x49656415], cl
add byte [ecx + 0x49656815], cl
add byte [ecx + 0x49656c15], cl
add bh, al
add eax, 0x496574
sbb byte [ecx + 0x48], bh
add byte [ecx + 0x4965843d], cl
add byte [ecx + 0x49658815], cl
add byte [ecx + 0x4965902d], cl
add bh, al
add eax, 0x496598
add byte [ecx + 0x48], bh
add byte [ecx + 0x4965a815], cl
add byte [ecx + 0x4965ac3d], cl
add byte [ecx + 0x4965b00d], cl
add byte [ecx + 0x4965b40d], cl
dec ecx
add bh, al
add eax, 0x4965bc
call 0x8940d772
adc eax, 0x4965cc
dec ecx
add byte [ecx + 0x4965d03d], cl
add byte [ecx + 0x4965d40d], cl
add byte [ecx + 0x4965d80d], cl
add bh, al
add eax, 0x4965e0
sar byte [eax + 0x48], 1
add byte [ecx + 0x4965f015], cl
add byte [ecx + 0x4965f43d], cl
add byte [ecx + 0x4965f80d], cl
add byte [ecx + 0x4965fc0d], cl
add bh, al
add eax, 0x496604
mov eax, 0x89004878
adc eax, 0x496614
sub esp, 0x18
push ebx
push ebp
mov ebp, dword [esp + 0x24]
push esi
mov esi, eax
mov al, byte [esi + 9]
mov ecx, dword [esi + 4]
push edi
test al, al
jne 0x40ba91
xchg esi, eax
add byte [eax], al
invalid
mov edx, ecx
mov edi, dword [edx]
test al, al
jne 0x40ba99
cmp byte [esi + 8], 0
je 0x42c4bb
mov byte [esi + 9], 1
dec dword [esi]
cmp edi, 0xa
je 0x42c9a3
cmp edi, 0x10
je 0x42c9a3
cmp edi, 0x11
je 0x42c9a3
mov ecx, dword [ebp + 4]
cmp ecx, 2
jl 0x42c4d6
cmp edi, 0xf
ja case.0x40ba43.10
jmp dword [edi*4 + 0x40bcc0]
cmp ecx, 1
je 0x42c511
cmp byte [ebp + 0xd], 0
jne 0x42c519
mov eax, dword [ebp + 8]
cmp ecx, 2
je 0x40bb84
cmp byte [ebp + 0xd], 0
mov ecx, dword [ebp + 8]
jne 0x42c524
mov esi, dword [ecx + 0x10]
call fcn.0040bf70
mov edi, ebp
call fcn.0040bd00
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 4
mov edx, dword [ecx + 4]
jmp 0x40b9fd
mov ebx, dword [ecx + 4]
push ecx
call fcn.004112ef
add esp, 4
mov dword [esi + 4], ebx
mov byte [esi + 9], 0
jmp 0x40ba07
cmp ecx, 1
je 0x42c4e0
cmp byte [ebp + 0xd], 0
mov eax, dword [ebp + 8]
je 0x40bac6
mov eax, dword [eax + 0x10]
cmp ecx, 2
jne 0x40bb6c
mov ecx, dword [ebp]
call fcn.0040b910
mov edi, ebp
call fcn.0040bd00
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 4
cmp ecx, 1
je 0x42c52f
cmp byte [ebp + 0xd], 0
cmp ecx, 1
je 0x42c54a
cmp byte [ebp + 0xd], 0
jne 0x42c552
mov edi, dword [ebp + 8]
cmp ecx, 2
jne 0x42c55d
mov esi, dword [ebp]
call fcn.0040c110
mov edi, ebp
call fcn.0040bd00
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 4
cmp byte [ebp + 0xd], 0
mov ecx, dword [ebp + 8]
je 0x42c4e8
mov edx, dword [ecx + 0x10]
mov ecx, dword [edx + 0x10]
jmp 0x40bad2
mov esi, dword [ebp]
jmp 0x40ba79
cmp ecx, 1
je 0x42c627
cmp byte [ebp + 0xd], 0
jne 0x42c62f
mov esi, dword [ebp + 8]
mov eax, ebp
call fcn.0040c600
mov ecx, eax
mov eax, esi
call fcn.0040cc10
test al, al
je 0x42c63a
mov eax, ebp
call fcn.0040c600
mov esi, eax
call fcn.004092c0
mov dword [esi + 8], 9
mov byte [esi], 1
mov edi, ebp
call fcn.0040bd00
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
mov eax, ebp
call fcn.0040d260
push eax
mov eax, ebp
call fcn.0040c600
mov ecx, eax
call fcn.0040cfc0
add esp, 4
test al, al
mov eax, ebp
je 0x42c60d
call fcn.0040c600
mov esi, eax
call fcn.004092c0
mov dword [esi + 8], 9
mov byte [esi], 1
invalid