Function at 0x4c8d30
Capabilities:
Parse credit card information

Disassembly:
push ebp
push esi
mov esi, ecx
xor ebp, ebp
xor al, al
cmp dword [esi + 0x40], 0xffff
je 0x4c9015
push ebx
push edi
jmp 0x4c8d50
mov ecx, dword [esi + 0x40]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x4c9013
cmp ecx, 0x29
jne 0x4c8d83
cmp dword [esi + 0x10], ebp
jne 0x4c9013
test dword [esi + 0x44], edx
jne 0x4c8d83
push 5
call fcn.0055bd24
add esp, 4
jmp 0x4c8ffd
cmp ecx, 0x2e
jne 0x4c8e2a
push 0x14
call fcn.004ff238
add esp, 4
cmp eax, ebp
je 0x4c8db2
mov dword [eax], vtable.std::tr1::_Node_base.0
mov dword [eax + 4], 5
mov dword [eax + 8], ebp
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], ebp
jmp 0x4c8db4
xor eax, eax
mov ecx, dword [esi + 0x1c]
mov dword [eax + 0x10], ecx
mov edx, dword [esi + 0x1c]
mov ecx, dword [edx + 0xc]
cmp ecx, ebp
je 0x4c8dd0
mov dword [eax + 0xc], ecx
mov ecx, dword [esi + 0x1c]
mov edx, dword [ecx + 0xc]
mov dword [edx + 0x10], eax
mov ecx, dword [esi + 0x1c]
mov dword [ecx + 0xc], eax
mov dword [esi + 0x1c], eax
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4c8e1e
cmp word [eax], 0x5c
jne 0x4c8e1b
add eax, 2
cmp eax, ecx
je 0x4c8e04
test byte [esi + 0x44], 8
jne 0x4c8e04
movzx ecx, word [eax]
cmp cx, 0x28
je 0x4c8e19
cmp cx, 0x29
je 0x4c8e19
test byte [esi + 0x44], 0x10
jne 0x4c8e1b
movzx ecx, word [eax]
cmp cx, 0x7b
je 0x4c8e19
cmp cx, 0x7d
jne 0x4c8e1b
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004c0790
jmp 0x4c8ffd
cmp ecx, 0x5c
jne 0x4c8f1d
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4c8e78
cmp word [eax], 0x5c
jne 0x4c8e75
add eax, 2
cmp eax, ecx
je 0x4c8e5e
test byte [esi + 0x44], 8
jne 0x4c8e5e
movzx ecx, word [eax]
cmp cx, 0x28
je 0x4c8e73
cmp cx, 0x29
je 0x4c8e73
test byte [esi + 0x44], 0x10
jne 0x4c8e75
movzx ecx, word [eax]
cmp cx, 0x7b
je 0x4c8e73
cmp cx, 0x7d
jne 0x4c8e75
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004c0790
mov eax, dword [esi + 0x44]
and eax, 0x80
je 0x4c8ec6
cmp word [esi + 0x3e], 0x62
jne 0x4c8ec6
push 4
lea ecx, [esi + 0x18]
call fcn.004bf9e0
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x4c8eba
cmp word [edi], 0x5c
jne 0x4c8eb7
mov ecx, esi
call fcn.004be9d0
test al, al
je 0x4c8eb7
add edi, 2
mov dword [esi], edi
add dword [esi], 2
mov ecx, esi
call fcn.004c0790
jmp 0x4c9004
cmp eax, ebp
je 0x4c8f11
cmp word [esi + 0x3e], 0x42
jne 0x4c8f11
push 4
lea ecx, [esi + 0x18]
call fcn.004bf9e0
mov eax, dword [esi + 0x1c]
or dword [eax + 8], 1
mov edi, dword [esi]
add eax, 8
cmp edi, dword [esi + 8]
je 0x4c8f05
cmp word [edi], 0x5c
jne 0x4c8f02
mov ecx, esi
call fcn.004be9d0
test al, al
je 0x4c8f02
add edi, 2
mov dword [esi], edi
add dword [esi], 2
mov ecx, esi
call fcn.004c0790
jmp 0x4c9004
mov ecx, esi
call fcn.004c64f0
jmp 0x4c8ffd
cmp ecx, 0x5b
jne 0x4c8f89
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x4c8f42
cmp word [edi], 0x5c
jne 0x4c8f3f
mov ecx, esi
call fcn.004be9d0
test al, al
je 0x4c8f3f
add edi, 2
mov dword [esi], edi
add dword [esi], 2
mov ecx, esi
call fcn.004c0790
mov ecx, esi
call fcn.004c8b60
cmp dword [esi + 0x40], 0x5d
je 0x4c8f60
push 4
call fcn.0055bd24
add esp, 4
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x4c8f80
cmp word [edi], 0x5c
jne 0x4c8f7d
mov ecx, esi
call fcn.004be9d0
test al, al
je 0x4c8f7d
add edi, 2
mov dword [esi], edi
add dword [esi], 2
mov ecx, esi
call fcn.004c0790
jmp 0x4c8ffd
cmp ecx, 0x28
jne 0x4c9018
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x4c8fb2
cmp word [edi], 0x5c
jne 0x4c8faf
mov ecx, esi
call fcn.004be9d0
test al, al
je 0x4c8faf
add edi, 2
mov dword [esi], edi
add dword [esi], 2
mov ecx, esi
call fcn.004c0790
mov ecx, esi
call fcn.004c1da0
cmp dword [esi + 0x40], 0x29
mov bl, al
je 0x4c8fd2
push 5
call fcn.0055bd24
add esp, 4
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x4c8ff2
cmp word [edi], 0x5c
jne 0x4c8fef
mov ecx, esi
call fcn.004be9d0
test al, al
je 0x4c8fef
add edi, 2
mov dword [esi], edi
add dword [esi], 2
mov ecx, esi
call fcn.004c0790
test bl, bl
je 0x4c9004
mov ecx, esi
call fcn.004c5d70
cmp dword [esi + 0x40], 0xffff
mov al, 1
jne 0x4c8d50
pop edi
pop ebx
pop esi
pop ebp
ret
cmp ecx, 0x5e
jne 0x4c9050
push 2
lea ecx, [esi + 0x18]
call fcn.004bf9e0
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x4c9047
cmp word [edi], 0x5c
jne 0x4c9044
mov ecx, esi
call fcn.004be9d0
test al, al
je 0x4c9044
add edi, 2
mov dword [esi], edi
add dword [esi], 2
mov ecx, esi
call fcn.004c0790
jmp 0x4c9004
cmp ecx, 0x24
jne 0x4c9068
push 3
lea ecx, [esi + 0x18]
call fcn.004bf9e0
mov ecx, esi
call fcn.004c0ad0
jmp 0x4c9004
cmp ecx, 0x2a
je 0x4c90c7
cmp ecx, 0x2b
je 0x4c90c7
cmp ecx, 0x3f
je 0x4c90c7
cmp ecx, 0x7b
je 0x4c90c7
cmp ecx, 0x7d
jne 0x4c9095
test dword [esi + 0x44], edx
jne 0x4c9095
push 6
call fcn.0055bd24
add esp, 4
jmp 0x4c8ffd
cmp ecx, 0x5d
jne 0x4c90ae
test dword [esi + 0x44], edx
jne 0x4c90ae
push 4
call fcn.0055bd24
add esp, 4
jmp 0x4c8ffd
movzx edx, word [esi + 0x3e]
push edx
lea ecx, [esi + 0x18]
call fcn.004c5400
mov ecx, esi
call fcn.004c0ad0
jmp 0x4c8ffd
push 0xa
call fcn.0055bd24
add esp, 4
jmp 0x4c8ffd