Function at 0x1002c260
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, ecx
xor al, al
push edi
mov ecx, dword [esi + 0x4c]
cmp ecx, 0xffffffff
je 0x1002c79b
cmp ecx, 0x7c
je 0x1002c79b
cmp ecx, 0x29
jne 0x1002c2a8
cmp dword [esi + 0x10], 0
jne 0x1002c79b
cmp ecx, ecx
jne 0x1002c2a8
test dword [esi + 0x50], 0x10000000
lea edi, [esi + 0x50]
je 0x1002c7a9
jmp 0x1002c709
lea edi, [esi + 0x50]
cmp ecx, 0x2e
jne 0x1002c35d
push 0x14
call fcn.1004d1de
mov ecx, eax
add esp, 4
mov dword [ebp - 4], ecx
mov dword [ecx + 0x10], 0
mov dword [ecx], vtable.std::_Node_base.0
mov dword [ecx + 4], 5
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x1002c301
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x28]
mov dword [eax + 0xc], ecx
mov dword [esi + 0x28], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x1002c77f
cmp word [ecx], 0x5c
jne 0x1002c353
lea edx, [ecx + 2]
cmp edx, eax
je 0x1002c353
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1002c33d
movzx eax, word [edx]
mov ecx, eax
cmp eax, 0x28
je 0x1002c351
cmp ecx, 0x29
je 0x1002c351
mov ecx, dword [esi]
test bl, 0x10
jne 0x1002c353
movzx eax, word [edx]
mov edi, eax
cmp eax, 0x7b
je 0x1002c351
cmp edi, 0x7d
jne 0x1002c353
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esi], eax
jmp 0x1002c77f
cmp ecx, 0x5c
jne 0x1002c4f6
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x1002c3b0
cmp word [ecx], 0x5c
jne 0x1002c3ab
lea edx, [ecx + 2]
cmp edx, eax
je 0x1002c3ab
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1002c395
movzx eax, word [edx]
mov ecx, eax
cmp eax, 0x28
je 0x1002c3a9
cmp ecx, 0x29
je 0x1002c3a9
mov ecx, dword [esi]
test bl, 0x10
jne 0x1002c3ab
movzx eax, word [edx]
mov ebx, eax
cmp eax, 0x7b
je 0x1002c3a9
cmp ebx, 0x7d
jne 0x1002c3ab
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esi], eax
mov ecx, esi
call fcn.1002a0f0
mov eax, dword [edi]
and eax, 0x80
je 0x1002c47e
cmp word [esi + 0x48], 0x62
jne 0x1002c47e
push 0x14
call fcn.1004d1de
mov ecx, eax
add esp, 4
mov dword [ebp - 4], ecx
mov dword [ecx + 0x10], 0
mov dword [ecx], vtable.std::_Node_base.0
mov dword [ecx + 4], 4
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x1002c41c
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x28]
mov dword [eax + 0xc], ecx
mov dword [esi + 0x28], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x1002c6d9
cmp word [ecx], 0x5c
jne 0x1002c46d
lea edx, [ecx + 2]
cmp edx, eax
je 0x1002c46d
mov ebx, dword [edi]
test bl, 8
jne 0x1002c457
movzx eax, word [edx]
mov ecx, eax
cmp eax, 0x28
je 0x1002c46b
cmp ecx, 0x29
je 0x1002c46b
mov ecx, dword [esi]
test bl, 0x10
jne 0x1002c46d
movzx eax, word [edx]
mov edi, eax
cmp eax, 0x7b
je 0x1002c46b
cmp edi, 0x7d
jne 0x1002c46d
mov ecx, edx
lea eax, [ecx + 2]
mov ecx, esi
mov dword [esi], eax
call fcn.1002a0f0
jmp 0x1002c78d
test eax, eax
je 0x1002c4ea
cmp word [esi + 0x48], 0x42
jne 0x1002c4ea
push 0x14
call fcn.1004d1de
mov ecx, eax
add esp, 4
mov dword [ebp - 4], ecx
mov dword [ecx + 0x10], 0
mov dword [ecx], vtable.std::_Node_base.0
mov dword [ecx + 4], 4
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x1002c4d6
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x28]
mov dword [eax + 0xc], ecx
mov eax, ecx
mov dword [esi + 0x28], ecx
xor dword [eax + 8], 1
jmp 0x1002c694
mov ecx, esi
call fcn.1002e420
jmp 0x1002c786
cmp ecx, 0x5b
jne 0x1002c55d
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x1002c540
cmp word [ecx], 0x5c
jne 0x1002c53d
add ecx, 2
cmp ecx, eax
je 0x1002c53d
mov edx, dword [edi]
test dl, 8
jne 0x1002c527
movzx eax, word [ecx]
mov ebx, eax
cmp eax, 0x28
je 0x1002c53b
cmp ebx, 0x29
je 0x1002c53b
test dl, 0x10
jne 0x1002c53d
movzx eax, word [ecx]
mov edx, eax
cmp eax, 0x7b
je 0x1002c53b
cmp edx, 0x7d
jne 0x1002c53d
mov dword [esi], ecx
add dword [esi], 2
mov ecx, esi
call fcn.1002a0f0
mov ecx, esi
call fcn.1002e2d0
cmp dword [esi + 0x4c], 0x5d
jne 0x1002c7b0
jmp 0x1002c73a
cmp ecx, 0x28
jne 0x1002c61e
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x1002c5ab
cmp word [ecx], 0x5c
jne 0x1002c5a8
add ecx, 2
cmp ecx, eax
je 0x1002c5a8
mov edx, dword [edi]
test dl, 8
jne 0x1002c592
movzx eax, word [ecx]
mov ebx, eax
cmp eax, 0x28
je 0x1002c5a6
cmp ebx, 0x29
je 0x1002c5a6
test dl, 0x10
jne 0x1002c5a8
movzx eax, word [ecx]
mov edx, eax
cmp eax, 0x7b
je 0x1002c5a6
cmp edx, 0x7d
jne 0x1002c5a8
mov dword [esi], ecx
add dword [esi], 2
mov ecx, esi
call fcn.1002a0f0
mov ecx, esi
call fcn.1002e570
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x1002c7a9
mov ecx, dword [esi]
mov edx, dword [esi + 8]
cmp ecx, edx
je 0x1002c60a
cmp word [ecx], 0x5c
jne 0x1002c607
add ecx, 2
cmp ecx, edx
je 0x1002c607
mov edx, dword [edi]
test dl, 8
jne 0x1002c5f1
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x1002c605
cmp edi, 0x29
je 0x1002c605
test dl, 0x10
jne 0x1002c607
movzx eax, word [ecx]
mov edx, eax
cmp eax, 0x7b
je 0x1002c605
cmp edx, 0x7d
jne 0x1002c607
mov dword [esi], ecx
add dword [esi], 2
mov ecx, esi
call fcn.1002a0f0
test bl, bl
je 0x1002c78d
jmp 0x1002c786
cmp ecx, 0x5e
jne 0x1002c635
push 0x14
call fcn.1004d1de
mov ecx, eax
mov dword [ecx + 4], 2
jmp 0x1002c64e
cmp ecx, 0x24
jne 0x1002c6e5
push 0x14
call fcn.1004d1de
mov ecx, eax
mov dword [ecx + 4], 3
mov dword [ecx], vtable.std::_Node_base.0
add esp, 4
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov dword [ebp - 4], ecx
mov eax, dword [eax + 0xc]
test eax, eax
je 0x1002c68b
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x28]
mov dword [eax + 0xc], ecx
mov dword [esi + 0x28], ecx
mov eax, dword [esi + 8]
mov ecx, dword [esi]
cmp ecx, eax
je 0x1002c6d9
cmp word [ecx], 0x5c
jne 0x1002c6d6
add ecx, 2
cmp ecx, eax
je 0x1002c6d6
mov edx, dword [edi]
test dl, 8
jne 0x1002c6c0
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x1002c6d4
cmp edi, 0x29
je 0x1002c6d4
test dl, 0x10
jne 0x1002c6d6
movzx eax, word [ecx]
mov edx, eax
cmp eax, 0x7b
je 0x1002c6d4
cmp edx, 0x7d
jne 0x1002c6d6
mov dword [esi], ecx
add dword [esi], 2
mov ecx, esi
call fcn.1002a0f0
jmp 0x1002c78d
cmp ecx, 0x2a
je 0x1002c7a2
cmp ecx, 0x2b
je 0x1002c7a2
cmp ecx, 0x3f
je 0x1002c7a2
cmp ecx, 0x7b
je 0x1002c7a2
cmp ecx, 0x7d
jne 0x1002c71c
test dword [edi], 0x10000000
je 0x1002c7b7
jmp 0x1002c72d
cmp ecx, 0x5d
jne 0x1002c72d
test dword [edi], 0x10000000
je 0x1002c7b0
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.1002e920
mov eax, dword [esi + 8]
mov ecx, dword [esi]
cmp ecx, eax
je 0x1002c77f
cmp word [ecx], 0x5c
jne 0x1002c77c
add ecx, 2
cmp ecx, eax
je 0x1002c77c
mov edx, dword [edi]
test dl, 8
jne 0x1002c766
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x1002c77a
cmp edi, 0x29
je 0x1002c77a
test dl, 0x10
jne 0x1002c77c
movzx eax, word [ecx]
mov edx, eax
cmp eax, 0x7b
je 0x1002c77a
cmp edx, 0x7d
jne 0x1002c77c
mov dword [esi], ecx
add dword [esi], 2
mov ecx, esi
call fcn.1002a0f0
mov ecx, esi
call fcn.1002e6f0
mov ecx, dword [esi + 0x4c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x1002c277
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa
call fcn.1002a0e0
push 5
call fcn.1002a0e0
push 4
call fcn.1002a0e0
push 6
call fcn.1002a0e0
int3