Function at 0x481410
Capabilities:
Parse credit card information

Disassembly:
push ecx
push ebx
push ebp
push esi
push edi
mov edi, eax
xor ebp, ebp
xor al, al
cmp dword [edi + 0x40], 0xffffffff
je 0x4816ea
mov ecx, dword [edi + 0x40]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x4816ea
cmp ecx, 0x29
jne 0x481458
cmp dword [edi + 0x10], ebp
jne 0x4816ea
test dword [edi + 0x44], edx
jne 0x481458
push 5
call fcn.00490a3b
add esp, 4
jmp 0x4816d7
cmp ecx, 0x2e
jne 0x4814f5
push 0x14
call fcn.00491198
add esp, 4
cmp eax, ebp
je 0x481487
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 0x481489
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, ebp
je 0x4814a5
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 0x4814e9
cmp byte [eax], 0x5c
jne 0x4814e7
inc eax
cmp eax, ecx
je 0x4814d3
test byte [edi + 0x44], 8
jne 0x4814d3
mov cl, byte [eax]
cmp cl, 0x28
je 0x4814e5
cmp cl, 0x29
je 0x4814e5
test byte [edi + 0x44], 0x10
jne 0x4814e7
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4814e5
cmp cl, 0x7d
jne 0x4814e7
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.0047fd80
jmp 0x4816d7
cmp ecx, 0x5c
jne 0x4815d3
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x481539
cmp byte [eax], 0x5c
jne 0x481537
inc eax
cmp eax, ecx
je 0x481523
test byte [edi + 0x44], 8
jne 0x481523
mov cl, byte [eax]
cmp cl, 0x28
je 0x481535
cmp cl, 0x29
je 0x481535
test byte [edi + 0x44], 0x10
jne 0x481537
mov cl, byte [eax]
cmp cl, 0x7b
je 0x481535
cmp cl, 0x7d
jne 0x481537
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.0047fd80
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x48159f
cmp byte [edi + 0x3e], 0x62
jne 0x48159f
lea esi, [edi + 0x18]
call fcn.00482880
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x481593
cmp byte [eax], 0x5c
jne 0x481591
inc eax
cmp eax, ecx
je 0x48157d
test byte [edi + 0x44], 8
jne 0x48157d
mov cl, byte [eax]
cmp cl, 0x28
je 0x48158f
cmp cl, 0x29
je 0x48158f
test byte [edi + 0x44], 0x10
jne 0x481591
mov cl, byte [eax]
cmp cl, 0x7b
je 0x48158f
cmp cl, 0x7d
jne 0x481591
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.0047fd80
jmp 0x4816de
cmp eax, ebp
je 0x4815c7
cmp byte [edi + 0x3e], 0x42
jne 0x4815c7
lea esi, [edi + 0x18]
call fcn.00482880
mov eax, dword [edi + 0x1c]
or dword [eax + 8], 1
add eax, 8
mov eax, edi
call fcn.004813c0
jmp 0x4816de
mov eax, edi
call fcn.00482550
jmp 0x4816d7
cmp ecx, 0x5b
jne 0x481675
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x481617
cmp byte [eax], 0x5c
jne 0x481615
inc eax
cmp eax, ecx
je 0x481601
test byte [edi + 0x44], 8
jne 0x481601
mov cl, byte [eax]
cmp cl, 0x28
je 0x481613
cmp cl, 0x29
je 0x481613
test byte [edi + 0x44], 0x10
jne 0x481615
mov cl, byte [eax]
cmp cl, 0x7b
je 0x481613
cmp cl, 0x7d
jne 0x481615
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.0047fd80
call fcn.004824a0
cmp dword [edi + 0x40], 0x5d
je 0x481633
push 4
call fcn.00490a3b
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x48166e
cmp byte [eax], 0x5c
jne 0x48166c
inc eax
cmp eax, ecx
je 0x481658
test byte [edi + 0x44], 8
jne 0x481658
mov cl, byte [eax]
cmp cl, 0x28
je 0x48166a
cmp cl, 0x29
je 0x48166a
test byte [edi + 0x44], 0x10
jne 0x48166c
mov cl, byte [eax]
cmp cl, 0x7b
je 0x48166a
cmp cl, 0x7d
jne 0x48166c
mov dword [edi], eax
inc dword [edi]
call fcn.0047fd80
jmp 0x4816d7
cmp ecx, 0x28
jne 0x4816f0
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x4816b5
cmp byte [eax], 0x5c
jne 0x4816b3
inc eax
cmp eax, ecx
je 0x48169f
test byte [edi + 0x44], 8
jne 0x48169f
mov cl, byte [eax]
cmp cl, 0x28
je 0x4816b1
cmp cl, 0x29
je 0x4816b1
test byte [edi + 0x44], 0x10
jne 0x4816b3
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4816b1
cmp cl, 0x7d
jne 0x4816b3
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.0047fd80
mov eax, edi
call fcn.00482600
mov bl, al
push 0x29
mov ecx, 5
mov eax, edi
call fcn.00482440
test bl, bl
je 0x4816de
mov eax, edi
call fcn.004826b0
cmp dword [edi + 0x40], 0xffffffff
mov al, 1
jne 0x481425
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
cmp ecx, 0x5e
jne 0x481706
lea esi, [edi + 0x18]
call fcn.004827e0
mov eax, edi
call fcn.004813c0
jmp 0x4816de
cmp ecx, 0x24
jne 0x48171c
lea esi, [edi + 0x18]
call fcn.00482830
mov eax, edi
call fcn.004813c0
jmp 0x4816de
cmp ecx, 0x2a
je 0x481778
cmp ecx, 0x2b
je 0x481778
cmp ecx, 0x3f
je 0x481778
cmp ecx, 0x7b
je 0x481778
cmp ecx, 0x7d
jne 0x481746
test dword [edi + 0x44], edx
jne 0x481746
push 6
call fcn.00490a3b
add esp, 4
jmp 0x4816d7
cmp ecx, 0x5d
jne 0x48175f
test dword [edi + 0x44], edx
jne 0x48175f
push 4
call fcn.00490a3b
add esp, 4
jmp 0x4816d7
movzx edx, byte [edi + 0x3e]
push edx
lea eax, [edi + 0x18]
call fcn.004828d0
mov eax, edi
call fcn.004813c0
jmp 0x4816d7
push 0xa
call fcn.00490a3b
add esp, 4
jmp 0x4816d7