Function at 0x1000c030
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 0x1000c38b
jmp 0x1000c047
xor ebx, ebx
mov ecx, dword [edi + 0x40]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x1000c38b
cmp ecx, 0x29
jne 0x1000c07a
cmp dword [edi + 0x10], ebx
jne 0x1000c38b
test dword [edi + 0x44], edx
jne 0x1000c07a
push 5
call fcn.10011f98
add esp, 4
jmp 0x1000c378
cmp ecx, 0x2e
jne 0x1000c117
push 0x14
call fcn.10012fb5
add esp, 4
cmp eax, ebx
je 0x1000c0a9
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 0x1000c0ab
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 0x1000c0c7
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 0x1000c10b
cmp byte [eax], 0x5c
jne 0x1000c109
inc eax
cmp eax, ecx
je 0x1000c0f5
test byte [edi + 0x44], 8
jne 0x1000c0f5
mov cl, byte [eax]
cmp cl, 0x28
je 0x1000c107
cmp cl, 0x29
je 0x1000c107
test byte [edi + 0x44], 0x10
jne 0x1000c109
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1000c107
cmp cl, 0x7d
jne 0x1000c109
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.10009fe0
jmp 0x1000c378
cmp ecx, 0x5c
jne 0x1000c22d
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x1000c15b
cmp byte [eax], 0x5c
jne 0x1000c159
inc eax
cmp eax, ecx
je 0x1000c145
test byte [edi + 0x44], 8
jne 0x1000c145
mov cl, byte [eax]
cmp cl, 0x28
je 0x1000c157
cmp cl, 0x29
je 0x1000c157
test byte [edi + 0x44], 0x10
jne 0x1000c159
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1000c157
cmp cl, 0x7d
jne 0x1000c159
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.10009fe0
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x1000c1c1
cmp byte [edi + 0x3e], 0x62
jne 0x1000c1c1
lea esi, [edi + 0x18]
call fcn.1000ccb0
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x1000c1b5
cmp byte [eax], 0x5c
jne 0x1000c1b3
inc eax
cmp eax, ecx
je 0x1000c19f
test byte [edi + 0x44], 8
jne 0x1000c19f
mov cl, byte [eax]
cmp cl, 0x28
je 0x1000c1b1
cmp cl, 0x29
je 0x1000c1b1
test byte [edi + 0x44], 0x10
jne 0x1000c1b3
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1000c1b1
cmp cl, 0x7d
jne 0x1000c1b3
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.10009fe0
jmp 0x1000c37f
cmp eax, ebx
je 0x1000c221
cmp byte [edi + 0x3e], 0x42
jne 0x1000c221
lea esi, [edi + 0x18]
call fcn.1000ccb0
mov eax, dword [edi + 0x1c]
xor dword [eax + 8], 1
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x1000c215
cmp byte [eax], 0x5c
jne 0x1000c213
inc eax
cmp eax, ecx
je 0x1000c1ff
test byte [edi + 0x44], 8
jne 0x1000c1ff
mov cl, byte [eax]
cmp cl, 0x28
je 0x1000c211
cmp cl, 0x29
je 0x1000c211
test byte [edi + 0x44], 0x10
jne 0x1000c213
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1000c211
cmp cl, 0x7d
jne 0x1000c213
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.10009fe0
jmp 0x1000c37f
mov eax, edi
call fcn.1000d220
jmp 0x1000c378
cmp ecx, 0x5b
jne 0x1000c2d2
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x1000c271
cmp byte [eax], 0x5c
jne 0x1000c26f
inc eax
cmp eax, ecx
je 0x1000c25b
test byte [edi + 0x44], 8
jne 0x1000c25b
mov cl, byte [eax]
cmp cl, 0x28
je 0x1000c26d
cmp cl, 0x29
je 0x1000c26d
test byte [edi + 0x44], 0x10
jne 0x1000c26f
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1000c26d
cmp cl, 0x7d
jne 0x1000c26f
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.10009fe0
call fcn.1000d140
cmp dword [edi + 0x40], 0x5d
je 0x1000c28d
push 4
call fcn.10011f98
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x1000c2c8
cmp byte [eax], 0x5c
jne 0x1000c2c6
inc eax
cmp eax, ecx
je 0x1000c2b2
test byte [edi + 0x44], 8
jne 0x1000c2b2
mov cl, byte [eax]
cmp cl, 0x28
je 0x1000c2c4
cmp cl, 0x29
je 0x1000c2c4
test byte [edi + 0x44], 0x10
jne 0x1000c2c6
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1000c2c4
cmp cl, 0x7d
jne 0x1000c2c6
mov dword [edi], eax
inc dword [edi]
call fcn.10009fe0
jmp 0x1000c378
cmp ecx, 0x28
jne 0x1000c38f
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x1000c316
cmp byte [eax], 0x5c
jne 0x1000c314
inc eax
cmp eax, ecx
je 0x1000c300
test byte [edi + 0x44], 8
jne 0x1000c300
mov cl, byte [eax]
cmp cl, 0x28
je 0x1000c312
cmp cl, 0x29
je 0x1000c312
test byte [edi + 0x44], 0x10
jne 0x1000c314
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1000c312
cmp cl, 0x7d
jne 0x1000c314
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.10009fe0
call fcn.1000d2d0
cmp dword [edi + 0x40], 0x29
mov bl, al
je 0x1000c334
push 5
call fcn.10011f98
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x1000c36f
cmp byte [eax], 0x5c
jne 0x1000c36d
inc eax
cmp eax, ecx
je 0x1000c359
test byte [edi + 0x44], 8
jne 0x1000c359
mov cl, byte [eax]
cmp cl, 0x28
je 0x1000c36b
cmp cl, 0x29
je 0x1000c36b
test byte [edi + 0x44], 0x10
jne 0x1000c36d
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1000c36b
cmp cl, 0x7d
jne 0x1000c36d
mov dword [edi], eax
inc dword [edi]
call fcn.10009fe0
test bl, bl
je 0x1000c37f
mov eax, edi
call fcn.1000d380
cmp dword [edi + 0x40], 0xffffffff
mov al, 1
jne 0x1000c045
pop edi
pop esi
pop ebx
ret
cmp ecx, 0x5e
jne 0x1000c3a5
lea esi, [edi + 0x18]
call fcn.1000cc10
mov eax, edi
call fcn.1000b1e0
jmp 0x1000c37f
cmp ecx, 0x24
jne 0x1000c3bb
lea esi, [edi + 0x18]
call fcn.1000cc60
mov eax, edi
call fcn.1000b1e0
jmp 0x1000c37f
cmp ecx, 0x2a
je 0x1000c417
cmp ecx, 0x2b
je 0x1000c417
cmp ecx, 0x3f
je 0x1000c417
cmp ecx, 0x7b
je 0x1000c417
cmp ecx, 0x7d
jne 0x1000c3e5
test dword [edi + 0x44], edx
jne 0x1000c3e5
push 6
call fcn.10011f98
add esp, 4
jmp 0x1000c378
cmp ecx, 0x5d
jne 0x1000c3fe
test dword [edi + 0x44], edx
jne 0x1000c3fe
push 4
call fcn.10011f98
add esp, 4
jmp 0x1000c378
movzx edx, byte [edi + 0x3e]
lea ecx, [edi + 0x18]
push edx
call fcn.1000d4b0
mov eax, edi
call fcn.1000b1e0
jmp 0x1000c378
push 0xa
call fcn.10011f98
add esp, 4
jmp 0x1000c378