Function at 0x406a30
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, ecx
xor cl, cl
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x406c90
push ebx
push edi
cmp eax, 0x7c
je 0x406c8e
cmp eax, 0x29
jne 0x406a71
cmp dword [esi + 0x10], 0
jne 0x406c8e
cmp eax, eax
jne 0x406a71
test dword [esi + 0x50], 0x10000000
je 0x406c9d
jmp 0x406c47
cmp eax, 0x2e
jne 0x406ad0
push 5
lea ecx, [esi + 0x24]
call fcn.004099d0
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x406ac4
cmp word [eax], 0x5c
jne 0x406abf
lea ecx, [eax + 2]
cmp ecx, edx
je 0x406abf
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x406aab
movzx edi, word [ecx]
cmp edi, 0x28
je 0x406abd
cmp edi, 0x29
je 0x406abd
test dl, 0x10
jne 0x406abf
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x406abd
cmp edx, 0x7d
jne 0x406abf
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0040a0b0
jmp 0x406c79
cmp eax, 0x5c
jne 0x406b2f
mov ecx, esi
call fcn.00409a40
test byte [esi + 0x50], 0x80
je 0x406b23
movzx eax, word [esi + 0x48]
cmp eax, 0x62
jne 0x406b01
push 4
lea ecx, [esi + 0x24]
call fcn.004099d0
mov ecx, esi
call fcn.00409a40
jmp 0x406c80
cmp eax, 0x42
jne 0x406b23
push 4
lea ecx, [esi + 0x24]
call fcn.004099d0
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.00409a40
jmp 0x406c80
mov ecx, esi
call fcn.00406cc0
jmp 0x406c79
cmp eax, 0x5b
jne 0x406bd9
mov ecx, esi
call fcn.00409a40
lea ecx, [esi + 0x24]
call fcn.00405fe0
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x406ba4
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x406b9a
cmp word [eax], 0x5c
jne 0x406b95
lea ecx, [eax + 2]
cmp ecx, edx
je 0x406b95
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x406b81
movzx edi, word [ecx]
cmp edi, 0x28
je 0x406b93
cmp edi, 0x29
je 0x406b93
test dl, 0x10
jne 0x406b95
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x406b93
cmp edx, 0x7d
jne 0x406b95
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0040a0b0
mov eax, dword [esi + 0x4c]
test dword [esi + 0x50], 0x20000000
je 0x406bc2
cmp eax, 0x5d
jne 0x406bc2
push eax
lea ecx, [esi + 0x24]
call fcn.00405f60
mov ecx, esi
call fcn.00409a40
mov ecx, esi
call fcn.004077e0
push 4
push 0x5d
mov ecx, esi
call fcn.00408fe0
jmp 0x406c79
cmp eax, 0x28
jne 0x406c03
mov ecx, esi
call fcn.00409a40
mov ecx, esi
call fcn.0040a2c0
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.00408fe0
test bl, bl
je 0x406c80
jmp 0x406c79
cmp eax, 0x5e
jne 0x406c1b
push 2
lea ecx, [esi + 0x24]
call fcn.004099d0
mov ecx, esi
call fcn.00409a40
jmp 0x406c80
cmp eax, 0x24
jne 0x406c33
push 3
lea ecx, [esi + 0x24]
call fcn.004099d0
mov ecx, esi
call fcn.00409a40
jmp 0x406c80
cmp eax, 0x2a
je 0x406c94
cmp eax, 0x2b
je 0x406c94
cmp eax, 0x3f
je 0x406c94
cmp eax, 0x7b
je 0x406c94
cmp eax, 0x7d
jne 0x406c57
test dword [esi + 0x50], 0x10000000
je 0x406ca6
jmp 0x406c65
cmp eax, 0x5d
jne 0x406c65
test dword [esi + 0x50], 0x10000000
je 0x406caf
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00405db0
mov ecx, esi
call fcn.00409a40
mov ecx, esi
call fcn.00409b10
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x406a43
pop edi
pop ebx
mov al, cl
pop esi
ret
push 0xa
mov ecx, esi
call fcn.00408fd0
push 5
mov ecx, esi
call fcn.00408fd0
push 6
mov ecx, esi
call fcn.00408fd0
push 4
mov ecx, esi
call fcn.00408fd0
int3