Function at 0x10005e50
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 0x100061ad
jmp 0x10005e67
xor ebx, ebx
mov ecx, dword [edi + 0x40]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x100061ad
cmp ecx, 0x29
jne 0x10005e9a
cmp dword [edi + 0x10], ebx
jne 0x100061ad
test dword [edi + 0x44], edx
jne 0x10005e9a
push 5
call fcn.100102d4
add esp, 4
jmp 0x1000619a
cmp ecx, 0x2e
jne 0x10005f37
push 0x14
call fcn.10010d9c
add esp, 4
cmp eax, ebx
je 0x10005ec9
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 0x10005ecb
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 0x10005ee7
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 0x10005f2b
cmp byte [eax], 0x5c
jne 0x10005f29
inc eax
cmp eax, ecx
je 0x10005f15
test byte [edi + 0x44], 8
jne 0x10005f15
mov cl, byte [eax]
cmp cl, 0x28
je 0x10005f27
cmp cl, 0x29
je 0x10005f27
test byte [edi + 0x44], 0x10
jne 0x10005f29
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10005f27
cmp cl, 0x7d
jne 0x10005f29
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.10004c00
jmp 0x1000619a
cmp ecx, 0x5c
jne 0x1000604d
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x10005f7b
cmp byte [eax], 0x5c
jne 0x10005f79
inc eax
cmp eax, ecx
je 0x10005f65
test byte [edi + 0x44], 8
jne 0x10005f65
mov cl, byte [eax]
cmp cl, 0x28
je 0x10005f77
cmp cl, 0x29
je 0x10005f77
test byte [edi + 0x44], 0x10
jne 0x10005f79
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10005f77
cmp cl, 0x7d
jne 0x10005f79
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.10004c00
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x10005fe1
cmp byte [edi + 0x3e], 0x62
jne 0x10005fe1
lea esi, [edi + 0x18]
call fcn.100073d0
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x10005fd5
cmp byte [eax], 0x5c
jne 0x10005fd3
inc eax
cmp eax, ecx
je 0x10005fbf
test byte [edi + 0x44], 8
jne 0x10005fbf
mov cl, byte [eax]
cmp cl, 0x28
je 0x10005fd1
cmp cl, 0x29
je 0x10005fd1
test byte [edi + 0x44], 0x10
jne 0x10005fd3
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10005fd1
cmp cl, 0x7d
jne 0x10005fd3
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.10004c00
jmp 0x100061a1
cmp eax, ebx
je 0x10006041
cmp byte [edi + 0x3e], 0x42
jne 0x10006041
lea esi, [edi + 0x18]
call fcn.100073d0
mov eax, dword [edi + 0x1c]
xor dword [eax + 8], 1
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x10006035
cmp byte [eax], 0x5c
jne 0x10006033
inc eax
cmp eax, ecx
je 0x1000601f
test byte [edi + 0x44], 8
jne 0x1000601f
mov cl, byte [eax]
cmp cl, 0x28
je 0x10006031
cmp cl, 0x29
je 0x10006031
test byte [edi + 0x44], 0x10
jne 0x10006033
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10006031
cmp cl, 0x7d
jne 0x10006033
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.10004c00
jmp 0x100061a1
mov eax, edi
call fcn.10007090
jmp 0x1000619a
cmp ecx, 0x5b
jne 0x100060f2
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x10006091
cmp byte [eax], 0x5c
jne 0x1000608f
inc eax
cmp eax, ecx
je 0x1000607b
test byte [edi + 0x44], 8
jne 0x1000607b
mov cl, byte [eax]
cmp cl, 0x28
je 0x1000608d
cmp cl, 0x29
je 0x1000608d
test byte [edi + 0x44], 0x10
jne 0x1000608f
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1000608d
cmp cl, 0x7d
jne 0x1000608f
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.10004c00
call fcn.10006fe0
cmp dword [edi + 0x40], 0x5d
je 0x100060ad
push 4
call fcn.100102d4
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x100060e8
cmp byte [eax], 0x5c
jne 0x100060e6
inc eax
cmp eax, ecx
je 0x100060d2
test byte [edi + 0x44], 8
jne 0x100060d2
mov cl, byte [eax]
cmp cl, 0x28
je 0x100060e4
cmp cl, 0x29
je 0x100060e4
test byte [edi + 0x44], 0x10
jne 0x100060e6
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100060e4
cmp cl, 0x7d
jne 0x100060e6
mov dword [edi], eax
inc dword [edi]
call fcn.10004c00
jmp 0x1000619a
cmp ecx, 0x28
jne 0x100061b1
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x10006136
cmp byte [eax], 0x5c
jne 0x10006134
inc eax
cmp eax, ecx
je 0x10006120
test byte [edi + 0x44], 8
jne 0x10006120
mov cl, byte [eax]
cmp cl, 0x28
je 0x10006132
cmp cl, 0x29
je 0x10006132
test byte [edi + 0x44], 0x10
jne 0x10006134
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10006132
cmp cl, 0x7d
jne 0x10006134
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.10004c00
mov eax, edi
call fcn.10007150
cmp dword [edi + 0x40], 0x29
mov bl, al
je 0x10006156
push 5
call fcn.100102d4
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x10006191
cmp byte [eax], 0x5c
jne 0x1000618f
inc eax
cmp eax, ecx
je 0x1000617b
test byte [edi + 0x44], 8
jne 0x1000617b
mov cl, byte [eax]
cmp cl, 0x28
je 0x1000618d
cmp cl, 0x29
je 0x1000618d
test byte [edi + 0x44], 0x10
jne 0x1000618f
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1000618d
cmp cl, 0x7d
jne 0x1000618f
mov dword [edi], eax
inc dword [edi]
call fcn.10004c00
test bl, bl
je 0x100061a1
mov eax, edi
call fcn.10007200
cmp dword [edi + 0x40], 0xffffffff
mov al, 1
jne 0x10005e65
pop edi
pop esi
pop ebx
ret
cmp ecx, 0x5e
jne 0x100061c7
lea esi, [edi + 0x18]
call fcn.10007330
mov eax, edi
call fcn.10005e00
jmp 0x100061a1
cmp ecx, 0x24
jne 0x100061dd
lea esi, [edi + 0x18]
call fcn.10007380
mov eax, edi
call fcn.10005e00
jmp 0x100061a1
cmp ecx, 0x2a
je 0x10006239
cmp ecx, 0x2b
je 0x10006239
cmp ecx, 0x3f
je 0x10006239
cmp ecx, 0x7b
je 0x10006239
cmp ecx, 0x7d
jne 0x10006207
test dword [edi + 0x44], edx
jne 0x10006207
push 6
call fcn.100102d4
add esp, 4
jmp 0x1000619a
cmp ecx, 0x5d
jne 0x10006220
test dword [edi + 0x44], edx
jne 0x10006220
push 4
call fcn.100102d4
add esp, 4
jmp 0x1000619a
movzx edx, byte [edi + 0x3e]
lea eax, [edi + 0x18]
push edx
call fcn.10007420
mov eax, edi
call fcn.10005e00
jmp 0x1000619a
push 0xa
call fcn.100102d4
add esp, 4
jmp 0x1000619a