Function at 0x465820
Capabilities:
Parse credit card information

Disassembly:
push ecx
push ebx
push ebp
push esi
push edi
mov edi, eax
xor ebp, ebp
xor al, al
cmp dword [edi + 0x40], 0xffff
je 0x465b00
jmp 0x465840
mov ecx, dword [edi + 0x40]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x465b00
cmp ecx, 0x29
jne 0x465873
cmp dword [edi + 0x10], ebp
jne 0x465b00
test dword [edi + 0x44], edx
jne 0x465873
push 5
call fcn.004f2c15
add esp, 4
jmp 0x465aea
cmp ecx, 0x2e
jne 0x46591a
push 0x14
call fcn.00501e17
add esp, 4
cmp eax, ebp
je 0x4658a2
mov dword [eax], 0x54f2e8
mov dword [eax + 4], 5
mov dword [eax + 8], ebp
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], ebp
jmp 0x4658a4
xor eax, eax
mov ecx, dword [edi + 0x1c]
mov dword [eax + 0x10], ecx
mov edx, dword [edi + 0x1c]
mov ecx, dword [edx + 0xc]
cmp ecx, ebp
je 0x4658c0
mov dword [eax + 0xc], ecx
mov ecx, dword [edi + 0x1c]
mov edx, dword [ecx + 0xc]
mov dword [edx + 0x10], eax
mov ecx, dword [edi + 0x1c]
mov dword [ecx + 0xc], eax
mov dword [edi + 0x1c], eax
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x46590e
cmp word [eax], 0x5c
jne 0x46590b
add eax, 2
cmp eax, ecx
je 0x4658f4
test byte [edi + 0x44], 8
jne 0x4658f4
movzx ecx, word [eax]
cmp cx, 0x28
je 0x465909
cmp cx, 0x29
je 0x465909
test byte [edi + 0x44], 0x10
jne 0x46590b
movzx ecx, word [eax]
cmp cx, 0x7b
je 0x465909
cmp cx, 0x7d
jne 0x46590b
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00464820
jmp 0x465aea
cmp ecx, 0x5c
jne 0x465a0d
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x465968
cmp word [eax], 0x5c
jne 0x465965
add eax, 2
cmp eax, ecx
je 0x46594e
test byte [edi + 0x44], 8
jne 0x46594e
movzx ecx, word [eax]
cmp cx, 0x28
je 0x465963
cmp cx, 0x29
je 0x465963
test byte [edi + 0x44], 0x10
jne 0x465965
movzx ecx, word [eax]
cmp cx, 0x7b
je 0x465963
cmp cx, 0x7d
jne 0x465965
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00464820
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x4659b6
cmp word [edi + 0x3e], 0x62
jne 0x4659b6
push 4
lea esi, [edi + 0x18]
call fcn.00465d40
mov esi, dword [edi]
cmp esi, dword [edi + 8]
je 0x4659aa
cmp word [esi], 0x5c
jne 0x4659a7
mov edx, edi
call fcn.004657b0
test al, al
je 0x4659a7
add esi, 2
mov dword [edi], esi
add dword [edi], 2
mov esi, edi
call fcn.00464820
jmp 0x465af1
cmp eax, ebp
je 0x465a01
cmp word [edi + 0x3e], 0x42
jne 0x465a01
push 4
lea esi, [edi + 0x18]
call fcn.00465d40
mov eax, dword [edi + 0x1c]
or dword [eax + 8], 1
mov esi, dword [edi]
add eax, 8
cmp esi, dword [edi + 8]
je 0x4659f5
cmp word [esi], 0x5c
jne 0x4659f2
mov edx, edi
call fcn.004657b0
test al, al
je 0x4659f2
add esi, 2
mov dword [edi], esi
add dword [edi], 2
mov esi, edi
call fcn.00464820
jmp 0x465af1
mov eax, edi
call fcn.00466750
jmp 0x465aea
cmp ecx, 0x5b
jne 0x465a77
mov esi, dword [edi]
cmp esi, dword [edi + 8]
je 0x465a32
cmp word [esi], 0x5c
jne 0x465a2f
mov edx, edi
call fcn.004657b0
test al, al
je 0x465a2f
add esi, 2
mov dword [edi], esi
add dword [edi], 2
mov esi, edi
call fcn.00464820
call fcn.004666b0
cmp dword [edi + 0x40], 0x5d
je 0x465a4e
push 4
call fcn.004f2c15
add esp, 4
mov esi, dword [edi]
cmp esi, dword [edi + 8]
je 0x465a6e
cmp word [esi], 0x5c
jne 0x465a6b
mov edx, edi
call fcn.004657b0
test al, al
je 0x465a6b
add esi, 2
mov dword [edi], esi
add dword [edi], 2
mov esi, edi
call fcn.00464820
jmp 0x465aea
cmp ecx, 0x28
jne 0x465b06
mov esi, dword [edi]
cmp esi, dword [edi + 8]
je 0x465aa0
cmp word [esi], 0x5c
jne 0x465a9d
mov edx, edi
call fcn.004657b0
test al, al
je 0x465a9d
add esi, 2
mov dword [edi], esi
add dword [edi], 2
mov esi, edi
call fcn.00464820
push edi
call fcn.00466820
cmp dword [edi + 0x40], 0x29
mov bl, al
je 0x465abf
push 5
call fcn.004f2c15
add esp, 4
mov esi, dword [edi]
cmp esi, dword [edi + 8]
je 0x465adf
cmp word [esi], 0x5c
jne 0x465adc
mov edx, edi
call fcn.004657b0
test al, al
je 0x465adc
add esi, 2
mov dword [edi], esi
add dword [edi], 2
mov esi, edi
call fcn.00464820
test bl, bl
je 0x465af1
mov eax, edi
call fcn.00466960
cmp dword [edi + 0x40], 0xffff
mov al, 1
jne 0x465840
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
cmp ecx, 0x5e
jne 0x465b3e
push 2
lea esi, [edi + 0x18]
call fcn.00465d40
mov esi, dword [edi]
cmp esi, dword [edi + 8]
je 0x465b35
cmp word [esi], 0x5c
jne 0x465b32
mov edx, edi
call fcn.004657b0
test al, al
je 0x465b32
add esi, 2
mov dword [edi], esi
add dword [edi], 2
mov esi, edi
call fcn.00464820
jmp 0x465af1
cmp ecx, 0x24
jne 0x465b56
push 3
lea esi, [edi + 0x18]
call fcn.00465d40
mov eax, edi
call fcn.004657f0
jmp 0x465af1
cmp ecx, 0x2a
je 0x465bb5
cmp ecx, 0x2b
je 0x465bb5
cmp ecx, 0x3f
je 0x465bb5
cmp ecx, 0x7b
je 0x465bb5
cmp ecx, 0x7d
jne 0x465b83
test dword [edi + 0x44], edx
jne 0x465b83
push 6
call fcn.004f2c15
add esp, 4
jmp 0x465aea
cmp ecx, 0x5d
jne 0x465b9c
test dword [edi + 0x44], edx
jne 0x465b9c
push 4
call fcn.004f2c15
add esp, 4
jmp 0x465aea
movzx edx, word [edi + 0x3e]
push edx
lea eax, [edi + 0x18]
call fcn.00466aa0
mov eax, edi
call fcn.004657f0
jmp 0x465aea
push 0xa
call fcn.004f2c15
add esp, 4
jmp 0x465aea