Function at 0x4c82d0
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 0x4c85b5
push ebx
push edi
jmp 0x4c82f0
mov ecx, dword [esi + 0x40]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x4c85b3
cmp ecx, 0x29
jne 0x4c8323
cmp dword [esi + 0x10], ebp
jne 0x4c85b3
test dword [esi + 0x44], edx
jne 0x4c8323
push 5
call fcn.0055bd04
add esp, 4
jmp 0x4c859d
cmp ecx, 0x2e
jne 0x4c83ca
push 0x14
call fcn.004ff930
add esp, 4
cmp eax, ebp
je 0x4c8352
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 0x4c8354
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 0x4c8370
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 0x4c83be
cmp word [eax], 0x5c
jne 0x4c83bb
add eax, 2
cmp eax, ecx
je 0x4c83a4
test byte [esi + 0x44], 8
jne 0x4c83a4
movzx ecx, word [eax]
cmp cx, 0x28
je 0x4c83b9
cmp cx, 0x29
je 0x4c83b9
test byte [esi + 0x44], 0x10
jne 0x4c83bb
movzx ecx, word [eax]
cmp cx, 0x7b
je 0x4c83b9
cmp cx, 0x7d
jne 0x4c83bb
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004c0210
jmp 0x4c859d
cmp ecx, 0x5c
jne 0x4c84bd
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4c8418
cmp word [eax], 0x5c
jne 0x4c8415
add eax, 2
cmp eax, ecx
je 0x4c83fe
test byte [esi + 0x44], 8
jne 0x4c83fe
movzx ecx, word [eax]
cmp cx, 0x28
je 0x4c8413
cmp cx, 0x29
je 0x4c8413
test byte [esi + 0x44], 0x10
jne 0x4c8415
movzx ecx, word [eax]
cmp cx, 0x7b
je 0x4c8413
cmp cx, 0x7d
jne 0x4c8415
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004c0210
mov eax, dword [esi + 0x44]
and eax, 0x80
je 0x4c8466
cmp word [esi + 0x3e], 0x62
jne 0x4c8466
push 4
lea ecx, [esi + 0x18]
call fcn.004bf730
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x4c845a
cmp word [edi], 0x5c
jne 0x4c8457
mov ecx, esi
call fcn.004be970
test al, al
je 0x4c8457
add edi, 2
mov dword [esi], edi
add dword [esi], 2
mov ecx, esi
call fcn.004c0210
jmp 0x4c85a4
cmp eax, ebp
je 0x4c84b1
cmp word [esi + 0x3e], 0x42
jne 0x4c84b1
push 4
lea ecx, [esi + 0x18]
call fcn.004bf730
mov eax, dword [esi + 0x1c]
or dword [eax + 8], 1
mov edi, dword [esi]
add eax, 8
cmp edi, dword [esi + 8]
je 0x4c84a5
cmp word [edi], 0x5c
jne 0x4c84a2
mov ecx, esi
call fcn.004be970
test al, al
je 0x4c84a2
add edi, 2
mov dword [esi], edi
add dword [esi], 2
mov ecx, esi
call fcn.004c0210
jmp 0x4c85a4
mov ecx, esi
call fcn.004c5ce0
jmp 0x4c859d
cmp ecx, 0x5b
jne 0x4c8529
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x4c84e2
cmp word [edi], 0x5c
jne 0x4c84df
mov ecx, esi
call fcn.004be970
test al, al
je 0x4c84df
add edi, 2
mov dword [esi], edi
add dword [esi], 2
mov ecx, esi
call fcn.004c0210
mov ecx, esi
call fcn.004c8220
cmp dword [esi + 0x40], 0x5d
je 0x4c8500
push 4
call fcn.0055bd04
add esp, 4
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x4c8520
cmp word [edi], 0x5c
jne 0x4c851d
mov ecx, esi
call fcn.004be970
test al, al
je 0x4c851d
add edi, 2
mov dword [esi], edi
add dword [esi], 2
mov ecx, esi
call fcn.004c0210
jmp 0x4c859d
cmp ecx, 0x28
jne 0x4c85b8
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x4c8552
cmp word [edi], 0x5c
jne 0x4c854f
mov ecx, esi
call fcn.004be970
test al, al
je 0x4c854f
add edi, 2
mov dword [esi], edi
add dword [esi], 2
mov ecx, esi
call fcn.004c0210
mov ecx, esi
call fcn.004c1620
cmp dword [esi + 0x40], 0x29
mov bl, al
je 0x4c8572
push 5
call fcn.0055bd04
add esp, 4
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x4c8592
cmp word [edi], 0x5c
jne 0x4c858f
mov ecx, esi
call fcn.004be970
test al, al
je 0x4c858f
add edi, 2
mov dword [esi], edi
add dword [esi], 2
mov ecx, esi
call fcn.004c0210
test bl, bl
je 0x4c85a4
mov ecx, esi
call fcn.004c5460
cmp dword [esi + 0x40], 0xffff
mov al, 1
jne 0x4c82f0
pop edi
pop ebx
pop esi
pop ebp
ret
cmp ecx, 0x5e
jne 0x4c85f0
push 2
lea ecx, [esi + 0x18]
call fcn.004bf730
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x4c85e7
cmp word [edi], 0x5c
jne 0x4c85e4
mov ecx, esi
call fcn.004be970
test al, al
je 0x4c85e4
add edi, 2
mov dword [esi], edi
add dword [esi], 2
mov ecx, esi
call fcn.004c0210
jmp 0x4c85a4
cmp ecx, 0x24
jne 0x4c8608
push 3
lea ecx, [esi + 0x18]
call fcn.004bf730
mov ecx, esi
call fcn.004c0410
jmp 0x4c85a4
cmp ecx, 0x2a
je 0x4c8667
cmp ecx, 0x2b
je 0x4c8667
cmp ecx, 0x3f
je 0x4c8667
cmp ecx, 0x7b
je 0x4c8667
cmp ecx, 0x7d
jne 0x4c8635
test dword [esi + 0x44], edx
jne 0x4c8635
push 6
call fcn.0055bd04
add esp, 4
jmp 0x4c859d
cmp ecx, 0x5d
jne 0x4c864e
test dword [esi + 0x44], edx
jne 0x4c864e
push 4
call fcn.0055bd04
add esp, 4
jmp 0x4c859d
movzx edx, word [esi + 0x3e]
push edx
lea ecx, [esi + 0x18]
call fcn.004c4b40
mov ecx, esi
call fcn.004c0410
jmp 0x4c859d
push 0xa
call fcn.0055bd04
add esp, 4
jmp 0x4c859d