Function at 0x4950d0
Capabilities:
Parse credit card information

Disassembly:
push esi
push edi
mov esi, ecx
xor edi, edi
xor al, al
cmp dword [esi + 0x40], 0xffffffff
je 0x4953e2
push ebx
mov ecx, dword [esi + 0x40]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x4953e1
cmp ecx, 0x29
jne 0x495116
cmp dword [esi + 0x10], edi
jne 0x4953e1
test dword [esi + 0x44], edx
jne 0x495116
push 5
call fcn.00556db4
add esp, 4
jmp 0x4953ce
cmp ecx, 0x2e
jne 0x4951b3
push 0x14
call fcn.0042bfa0
add esp, 4
cmp eax, edi
je 0x495145
mov dword [eax], vtable.std::tr1::_Node_base.0
mov dword [eax + 4], 5
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], edi
jmp 0x495147
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, edi
je 0x495163
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 0x4951a7
cmp byte [eax], 0x5c
jne 0x4951a5
inc eax
cmp eax, ecx
je 0x495191
test byte [esi + 0x44], 8
jne 0x495191
mov cl, byte [eax]
cmp cl, 0x28
je 0x4951a3
cmp cl, 0x29
je 0x4951a3
test byte [esi + 0x44], 0x10
jne 0x4951a5
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4951a3
cmp cl, 0x7d
jne 0x4951a5
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0048c200
jmp 0x4953ce
cmp ecx, 0x5c
jne 0x4952c9
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4951f7
cmp byte [eax], 0x5c
jne 0x4951f5
inc eax
cmp eax, ecx
je 0x4951e1
test byte [esi + 0x44], 8
jne 0x4951e1
mov cl, byte [eax]
cmp cl, 0x28
je 0x4951f3
cmp cl, 0x29
je 0x4951f3
test byte [esi + 0x44], 0x10
jne 0x4951f5
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4951f3
cmp cl, 0x7d
jne 0x4951f5
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0048c200
mov eax, dword [esi + 0x44]
and eax, 0x80
je 0x49525d
cmp byte [esi + 0x3e], 0x62
jne 0x49525d
lea ecx, [esi + 0x18]
call fcn.0046b660
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x495251
cmp byte [eax], 0x5c
jne 0x49524f
inc eax
cmp eax, ecx
je 0x49523b
test byte [esi + 0x44], 8
jne 0x49523b
mov cl, byte [eax]
cmp cl, 0x28
je 0x49524d
cmp cl, 0x29
je 0x49524d
test byte [esi + 0x44], 0x10
jne 0x49524f
mov cl, byte [eax]
cmp cl, 0x7b
je 0x49524d
cmp cl, 0x7d
jne 0x49524f
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0048c200
jmp 0x4953d5
cmp eax, edi
je 0x4952bd
cmp byte [esi + 0x3e], 0x42
jne 0x4952bd
lea ecx, [esi + 0x18]
call fcn.0046b660
mov eax, dword [esi + 0x1c]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4952b1
cmp byte [eax], 0x5c
jne 0x4952af
inc eax
cmp eax, ecx
je 0x49529b
test byte [esi + 0x44], 8
jne 0x49529b
mov cl, byte [eax]
cmp cl, 0x28
je 0x4952ad
cmp cl, 0x29
je 0x4952ad
test byte [esi + 0x44], 0x10
jne 0x4952af
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4952ad
cmp cl, 0x7d
jne 0x4952af
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0048c200
jmp 0x4953d5
mov ecx, esi
call fcn.004919f0
jmp 0x4953ce
cmp ecx, 0x5b
jne 0x49536f
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x49530d
cmp byte [eax], 0x5c
jne 0x49530b
inc eax
cmp eax, ecx
je 0x4952f7
test byte [esi + 0x44], 8
jne 0x4952f7
mov cl, byte [eax]
cmp cl, 0x28
je 0x495309
cmp cl, 0x29
je 0x495309
test byte [esi + 0x44], 0x10
jne 0x49530b
mov cl, byte [eax]
cmp cl, 0x7b
je 0x495309
cmp cl, 0x7d
jne 0x49530b
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0048c200
mov ecx, esi
call fcn.00494e70
cmp dword [esi + 0x40], 0x5d
je 0x49532b
push 4
call fcn.00556db4
add esp, 4
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x495366
cmp byte [eax], 0x5c
jne 0x495364
inc eax
cmp eax, ecx
je 0x495350
test byte [esi + 0x44], 8
jne 0x495350
mov cl, byte [eax]
cmp cl, 0x28
je 0x495362
cmp cl, 0x29
je 0x495362
test byte [esi + 0x44], 0x10
jne 0x495364
mov cl, byte [eax]
cmp cl, 0x7b
je 0x495362
cmp cl, 0x7d
jne 0x495364
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0048c200
jmp 0x4953ce
cmp ecx, 0x28
jne 0x4953e5
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4953af
cmp byte [eax], 0x5c
jne 0x4953ad
inc eax
cmp eax, ecx
je 0x495399
test byte [esi + 0x44], 8
jne 0x495399
mov cl, byte [eax]
cmp cl, 0x28
je 0x4953ab
cmp cl, 0x29
je 0x4953ab
test byte [esi + 0x44], 0x10
jne 0x4953ad
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4953ab
cmp cl, 0x7d
jne 0x4953ad
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0048c200
mov ecx, esi
call fcn.0048c5a0
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.0048c530
test bl, bl
je 0x4953d5
mov ecx, esi
call fcn.00491aa0
cmp dword [esi + 0x40], 0xffffffff
mov al, 1
jne 0x4950e3
pop ebx
pop edi
pop esi
ret
cmp ecx, 0x5e
jne 0x4953fb
lea ecx, [esi + 0x18]
call fcn.0048b7d0
mov ecx, esi
call fcn.0048c3b0
jmp 0x4953d5
cmp ecx, 0x24
jne 0x495411
lea ecx, [esi + 0x18]
call fcn.0046b600
mov ecx, esi
call fcn.0048c3b0
jmp 0x4953d5
cmp ecx, 0x2a
je 0x49546d
cmp ecx, 0x2b
je 0x49546d
cmp ecx, 0x3f
je 0x49546d
cmp ecx, 0x7b
je 0x49546d
cmp ecx, 0x7d
jne 0x49543b
test dword [esi + 0x44], edx
jne 0x49543b
push 6
call fcn.00556db4
add esp, 4
jmp 0x4953ce
cmp ecx, 0x5d
jne 0x495454
test dword [esi + 0x44], edx
jne 0x495454
push 4
call fcn.00556db4
add esp, 4
jmp 0x4953ce
movzx edx, byte [esi + 0x3e]
lea ecx, [esi + 0x18]
push edx
call fcn.00491390
mov ecx, esi
call fcn.0048c3b0
jmp 0x4953ce
push 0xa
call fcn.00556db4
add esp, 4
jmp 0x4953ce