Function at 0x486cb0
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
push edi
mov edi, eax
xor ebx, ebx
xor al, al
cmp dword [edi + 0x40], 0xffffffff
je 0x486f89
jmp 0x486cc7
xor ebx, ebx
mov ecx, dword [edi + 0x40]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x486f89
cmp ecx, 0x29
jne 0x486cfa
cmp dword [edi + 0x10], ebx
jne 0x486f89
test dword [edi + 0x44], edx
jne 0x486cfa
push 5
call fcn.005c084d
add esp, 4
jmp 0x486f76
cmp ecx, 0x2e
jne 0x486d97
push 0x14
call fcn.0058d3f0
add esp, 4
cmp eax, ebx
je 0x486d29
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 0x486d2b
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 0x486d47
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 0x486d8b
cmp byte [eax], 0x5c
jne 0x486d89
inc eax
cmp eax, ecx
je 0x486d75
test byte [edi + 0x44], 8
jne 0x486d75
mov cl, byte [eax]
cmp cl, 0x28
je 0x486d87
cmp cl, 0x29
je 0x486d87
test byte [edi + 0x44], 0x10
jne 0x486d89
mov cl, byte [eax]
cmp cl, 0x7b
je 0x486d87
cmp cl, 0x7d
jne 0x486d89
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.00484ec0
jmp 0x486f76
cmp ecx, 0x5c
jne 0x486e72
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x486ddb
cmp byte [eax], 0x5c
jne 0x486dd9
inc eax
cmp eax, ecx
je 0x486dc5
test byte [edi + 0x44], 8
jne 0x486dc5
mov cl, byte [eax]
cmp cl, 0x28
je 0x486dd7
cmp cl, 0x29
je 0x486dd7
test byte [edi + 0x44], 0x10
jne 0x486dd9
mov cl, byte [eax]
cmp cl, 0x7b
je 0x486dd7
cmp cl, 0x7d
jne 0x486dd9
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.00484ec0
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x486e41
cmp byte [edi + 0x3e], 0x62
jne 0x486e41
lea esi, [edi + 0x18]
call fcn.00489540
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x486e35
cmp byte [eax], 0x5c
jne 0x486e33
inc eax
cmp eax, ecx
je 0x486e1f
test byte [edi + 0x44], 8
jne 0x486e1f
mov cl, byte [eax]
cmp cl, 0x28
je 0x486e31
cmp cl, 0x29
je 0x486e31
test byte [edi + 0x44], 0x10
jne 0x486e33
mov cl, byte [eax]
cmp cl, 0x7b
je 0x486e31
cmp cl, 0x7d
jne 0x486e33
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.00484ec0
jmp 0x486f7d
cmp eax, ebx
je 0x486e66
cmp byte [edi + 0x3e], 0x42
jne 0x486e66
lea esi, [edi + 0x18]
call fcn.00489540
mov eax, dword [edi + 0x1c]
xor dword [eax + 8], 1
mov eax, edi
call fcn.00486c60
jmp 0x486f7d
mov eax, edi
call fcn.004891e0
jmp 0x486f76
cmp ecx, 0x5b
jne 0x486f14
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x486eb6
cmp byte [eax], 0x5c
jne 0x486eb4
inc eax
cmp eax, ecx
je 0x486ea0
test byte [edi + 0x44], 8
jne 0x486ea0
mov cl, byte [eax]
cmp cl, 0x28
je 0x486eb2
cmp cl, 0x29
je 0x486eb2
test byte [edi + 0x44], 0x10
jne 0x486eb4
mov cl, byte [eax]
cmp cl, 0x7b
je 0x486eb2
cmp cl, 0x7d
jne 0x486eb4
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.00484ec0
call fcn.00489130
cmp dword [edi + 0x40], 0x5d
je 0x486ed2
push 4
call fcn.005c084d
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x486f0d
cmp byte [eax], 0x5c
jne 0x486f0b
inc eax
cmp eax, ecx
je 0x486ef7
test byte [edi + 0x44], 8
jne 0x486ef7
mov cl, byte [eax]
cmp cl, 0x28
je 0x486f09
cmp cl, 0x29
je 0x486f09
test byte [edi + 0x44], 0x10
jne 0x486f0b
mov cl, byte [eax]
cmp cl, 0x7b
je 0x486f09
cmp cl, 0x7d
jne 0x486f0b
mov dword [edi], eax
inc dword [edi]
call fcn.00484ec0
jmp 0x486f76
cmp ecx, 0x28
jne 0x486f8d
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x486f54
cmp byte [eax], 0x5c
jne 0x486f52
inc eax
cmp eax, ecx
je 0x486f3e
test byte [edi + 0x44], 8
jne 0x486f3e
mov cl, byte [eax]
cmp cl, 0x28
je 0x486f50
cmp cl, 0x29
je 0x486f50
test byte [edi + 0x44], 0x10
jne 0x486f52
mov cl, byte [eax]
cmp cl, 0x7b
je 0x486f50
cmp cl, 0x7d
jne 0x486f52
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.00484ec0
mov eax, edi
call fcn.004892a0
mov bl, al
push 0x29
mov ecx, 5
mov eax, edi
call fcn.004890d0
test bl, bl
je 0x486f7d
mov eax, edi
call fcn.00489350
cmp dword [edi + 0x40], 0xffffffff
mov al, 1
jne 0x486cc5
pop edi
pop esi
pop ebx
ret
cmp ecx, 0x5e
jne 0x486fa3
lea esi, [edi + 0x18]
call fcn.004894a0
mov eax, edi
call fcn.00486c60
jmp 0x486f7d
cmp ecx, 0x24
jne 0x486fb9
lea esi, [edi + 0x18]
call fcn.004894f0
mov eax, edi
call fcn.00486c60
jmp 0x486f7d
cmp ecx, 0x2a
je 0x487015
cmp ecx, 0x2b
je 0x487015
cmp ecx, 0x3f
je 0x487015
cmp ecx, 0x7b
je 0x487015
cmp ecx, 0x7d
jne 0x486fe3
test dword [edi + 0x44], edx
jne 0x486fe3
push 6
call fcn.005c084d
add esp, 4
jmp 0x486f76
cmp ecx, 0x5d
jne 0x486ffc
test dword [edi + 0x44], edx
jne 0x486ffc
push 4
call fcn.005c084d
add esp, 4
jmp 0x486f76
movzx edx, byte [edi + 0x3e]
lea ecx, [edi + 0x18]
push edx
call fcn.004895e0
mov eax, edi
call fcn.00486c60
jmp 0x486f76
push 0xa
call fcn.005c084d
add esp, 4
jmp 0x486f76