Function at 0x4be7a0
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
push edi
mov edi, eax
xor al, al
cmp dword [edi + 0x40], 0xffffffff
je 0x4be9c4
mov ecx, dword [edi + 0x40]
cmp ecx, 0x7c
je 0x4be9c4
xor ebx, ebx
cmp ecx, 0x29
jne 0x4be7e6
cmp dword [edi + 0x10], ebx
jne 0x4be9c4
mov eax, 0x10000000
test dword [edi + 0x44], eax
jne 0x4be7eb
push 5
call fcn.00527e08
add esp, 4
jmp 0x4be9b1
mov eax, 0x10000000
cmp ecx, 0x2e
jne 0x4be888
push 0x14
call fcn.0050a753
add esp, 4
cmp eax, ebx
je 0x4be81a
mov dword [eax], vtable.std::tr1::_Node_base.0
mov dword [eax + 4], 5
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
jmp 0x4be81c
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, ebx
je 0x4be838
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 0x4be87c
cmp byte [eax], 0x5c
jne 0x4be87a
inc eax
cmp eax, ecx
je 0x4be866
test byte [edi + 0x44], 8
jne 0x4be866
mov cl, byte [eax]
cmp cl, 0x28
je 0x4be878
cmp cl, 0x29
je 0x4be878
test byte [edi + 0x44], 0x10
jne 0x4be87a
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4be878
cmp cl, 0x7d
jne 0x4be87a
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.004bdcb0
jmp 0x4be9b1
cmp ecx, 0x5c
jne 0x4be92f
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x4be8cc
cmp byte [eax], 0x5c
jne 0x4be8ca
inc eax
cmp eax, ecx
je 0x4be8b6
test byte [edi + 0x44], 8
jne 0x4be8b6
mov cl, byte [eax]
cmp cl, 0x28
je 0x4be8c8
cmp cl, 0x29
je 0x4be8c8
test byte [edi + 0x44], 0x10
jne 0x4be8ca
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4be8c8
cmp cl, 0x7d
jne 0x4be8ca
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.004bdcb0
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x4be8f9
cmp byte [edi + 0x3e], 0x62
jne 0x4be8f9
push 4
lea esi, [edi + 0x18]
call fcn.004bebe0
mov eax, edi
call fcn.004be750
jmp 0x4be9b8
cmp eax, ebx
je 0x4be923
cmp byte [edi + 0x3e], 0x42
jne 0x4be923
push 4
lea esi, [edi + 0x18]
call fcn.004bebe0
mov eax, dword [edi + 0x1c]
or dword [eax + 8], 1
add eax, 8
mov eax, edi
call fcn.004be750
jmp 0x4be9b8
mov eax, edi
call fcn.004bf660
jmp 0x4be9b1
cmp ecx, 0x5b
jne 0x4be98b
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x4be96f
cmp byte [eax], 0x5c
jne 0x4be96d
inc eax
cmp eax, ecx
je 0x4be959
test byte [edi + 0x44], 8
jne 0x4be959
mov cl, byte [eax]
cmp cl, 0x28
je 0x4be96b
cmp cl, 0x29
je 0x4be96b
test byte [edi + 0x44], 0x10
jne 0x4be96d
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4be96b
cmp cl, 0x7d
jne 0x4be96d
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.004bdcb0
call fcn.004bf5f0
push 0x5d
mov ecx, 4
mov eax, edi
call fcn.004bf590
jmp 0x4be9b1
cmp ecx, 0x28
jne 0x4be9c8
mov eax, edi
call fcn.004be750
push edi
call fcn.004bf710
mov bl, al
push 0x29
mov ecx, 5
mov eax, edi
call fcn.004bf590
test bl, bl
je 0x4be9b8
mov eax, edi
call fcn.004bf800
cmp dword [edi + 0x40], 0xffffffff
mov al, 1
jne 0x4be7b1
pop edi
pop esi
pop ebx
ret
cmp ecx, 0x5e
jne 0x4be9e0
push 2
lea esi, [edi + 0x18]
call fcn.004bebe0
mov eax, edi
call fcn.004be750
jmp 0x4be9b8
cmp ecx, 0x24
jne 0x4be9f8
push 3
lea esi, [edi + 0x18]
call fcn.004bebe0
mov eax, edi
call fcn.004be750
jmp 0x4be9b8
cmp ecx, 0x2a
je 0x4bea54
cmp ecx, 0x2b
je 0x4bea54
cmp ecx, 0x3f
je 0x4bea54
cmp ecx, 0x7b
je 0x4bea54
cmp ecx, 0x7d
jne 0x4bea22
test dword [edi + 0x44], eax
jne 0x4bea22
push 6
call fcn.00527e08
add esp, 4
jmp 0x4be9b1
cmp ecx, 0x5d
jne 0x4bea3b
test dword [edi + 0x44], eax
jne 0x4bea3b
push 4
call fcn.00527e08
add esp, 4
jmp 0x4be9b1
movzx edx, byte [edi + 0x3e]
push edx
lea eax, [edi + 0x18]
call fcn.004bf930
mov eax, edi
call fcn.004be750
jmp 0x4be9b1
push 0xa
call fcn.00527e08
add esp, 4
jmp 0x4be9b1