Function at 0x1002e4d0
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 0x1002e59b
cmp ecx, 0x7c
je 0x1002e59b
cmp ecx, 0x29
jne 0x1002e5a2
cmp dword [esi + 0x10], 0
jne 0x1002e59b
cmp ecx, ecx
jne 0x1002e5a2
test dword [esi + 0x50], 0x10000000
je 0x1002ea8c
lea edi, [esi + 0x50]
cmp ecx, 0x5d
jne 0x1002e52c
test dword [edi], 0x10000000
je 0x1002ea93
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.1002fc10
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x1002e57f
cmp word [ecx], 0x5c
jne 0x1002e57c
add ecx, 2
cmp ecx, eax
je 0x1002e57c
mov edx, dword [edi]
test dl, 8
jne 0x1002e565
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x1002e579
cmp edi, 0x29
je 0x1002e579
test dl, 0x10
jne 0x1002e57c
movzx eax, word [ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x1002e579
cmp ecx, 0x7d
jne 0x1002e57c
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.1002cd20
mov ecx, esi
call fcn.1002f9e0
mov ecx, dword [esi + 0x4c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x1002e4e7
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp ecx, 0x2e
jne 0x1002e66a
push 0x14
call fcn.1005a8bb
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 0x1002e5f8
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 0x1002e57f
cmp word [ecx], 0x5c
jne 0x1002e660
lea ebx, [ecx + 2]
mov edx, ecx
cmp ebx, eax
je 0x1002e65e
mov eax, dword [esi + 0x50]
test al, 8
jne 0x1002e63a
movzx eax, word [ebx]
mov edi, ecx
mov edx, eax
cmp eax, 0x28
je 0x1002e651
cmp edx, 0x29
je 0x1002e651
mov eax, dword [esi + 0x50]
mov edx, ecx
test al, 0x10
jne 0x1002e65e
movzx eax, word [ebx]
mov edi, ecx
mov ebx, eax
cmp eax, 0x7b
je 0x1002e651
mov edi, edx
cmp ebx, 0x7d
jne 0x1002e65e
lea ecx, [edi + 2]
lea eax, [ecx + 2]
mov dword [esi], eax
jmp 0x1002e57f
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esi], eax
jmp 0x1002e57f
cmp ecx, 0x5c
jne 0x1002e830
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x1002e6cb
cmp word [ecx], 0x5c
jne 0x1002e6c6
lea ebx, [ecx + 2]
mov edx, ecx
cmp ebx, eax
je 0x1002e6c4
mov eax, dword [esi + 0x50]
test al, 8
jne 0x1002e6a8
movzx eax, word [ebx]
mov edi, ecx
mov edx, eax
cmp eax, 0x28
je 0x1002e6bf
cmp edx, 0x29
je 0x1002e6bf
mov eax, dword [esi + 0x50]
mov edx, ecx
test al, 0x10
jne 0x1002e6c4
movzx eax, word [ebx]
mov edi, ecx
mov ebx, eax
cmp eax, 0x7b
je 0x1002e6bf
mov edi, edx
cmp ebx, 0x7d
jne 0x1002e6c4
lea ecx, [edi + 2]
jmp 0x1002e6c6
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esi], eax
mov ecx, esi
call fcn.1002cd20
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x1002e7b8
cmp word [esi + 0x48], 0x62
jne 0x1002e7b8
push 0x14
call fcn.1005a8bb
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 0x1002e738
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 0x1002ea44
cmp word [ecx], 0x5c
jne 0x1002e7a7
lea ebx, [ecx + 2]
mov edx, ecx
cmp ebx, eax
je 0x1002e7a5
mov eax, dword [esi + 0x50]
test al, 8
jne 0x1002e77a
movzx eax, word [ebx]
mov edi, ecx
mov edx, eax
cmp eax, 0x28
je 0x1002e791
cmp edx, 0x29
je 0x1002e791
mov eax, dword [esi + 0x50]
mov edx, ecx
test al, 0x10
jne 0x1002e7a5
movzx eax, word [ebx]
mov edi, ecx
mov ebx, eax
cmp eax, 0x7b
je 0x1002e791
mov edi, edx
cmp ebx, 0x7d
jne 0x1002e7a5
lea ecx, [edi + 2]
lea eax, [ecx + 2]
mov ecx, esi
mov dword [esi], eax
call fcn.1002cd20
jmp 0x1002e58d
mov ecx, edx
lea eax, [ecx + 2]
mov ecx, esi
mov dword [esi], eax
call fcn.1002cd20
jmp 0x1002e58d
test eax, eax
je 0x1002e824
cmp word [esi + 0x48], 0x42
jne 0x1002e824
push 0x14
call fcn.1005a8bb
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 0x1002e810
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 0x1002e9fd
mov ecx, esi
call fcn.1002f620
jmp 0x1002e586
cmp ecx, 0x5b
jne 0x1002e8c2
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x1002e880
cmp word [ecx], 0x5c
jne 0x1002e87d
add ecx, 2
cmp ecx, eax
je 0x1002e87d
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1002e866
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x1002e87a
cmp edi, 0x29
je 0x1002e87a
test dl, 0x10
jne 0x1002e87d
movzx eax, word [ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x1002e87a
cmp ecx, 0x7d
jne 0x1002e87d
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.1002cd20
mov ecx, esi
call fcn.1002f4d0
cmp dword [esi + 0x4c], 0x5d
jne 0x1002ea93
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x1002e57f
cmp word [ecx], 0x5c
jne 0x1002e57c
add ecx, 2
cmp ecx, eax
je 0x1002e57c
mov edx, dword [esi + 0x50]
jmp 0x1002e551
cmp ecx, 0x28
jne 0x1002e987
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x1002e912
cmp word [ecx], 0x5c
jne 0x1002e90f
add ecx, 2
cmp ecx, eax
je 0x1002e90f
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1002e8f8
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x1002e90c
cmp edi, 0x29
je 0x1002e90c
test dl, 0x10
jne 0x1002e90f
movzx eax, word [ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x1002e90c
cmp ecx, 0x7d
jne 0x1002e90f
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.1002cd20
mov ecx, esi
call fcn.1002f770
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x1002ea8c
mov ecx, dword [esi]
mov edx, dword [esi + 8]
cmp ecx, edx
je 0x1002e973
cmp word [ecx], 0x5c
jne 0x1002e970
add ecx, 2
cmp ecx, edx
je 0x1002e970
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1002e959
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x1002e96d
cmp edi, 0x29
je 0x1002e96d
test dl, 0x10
jne 0x1002e970
movzx eax, word [ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x1002e96d
cmp ecx, 0x7d
jne 0x1002e970
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.1002cd20
test bl, bl
je 0x1002e58d
jmp 0x1002e586
cmp ecx, 0x5e
jne 0x1002e99e
push 0x14
call fcn.1005a8bb
mov ecx, eax
mov dword [ecx + 4], 2
jmp 0x1002e9b7
cmp ecx, 0x24
jne 0x1002ea50
push 0x14
call fcn.1005a8bb
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 0x1002e9f4
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 0x1002ea44
cmp word [ecx], 0x5c
jne 0x1002ea41
add ecx, 2
cmp ecx, eax
je 0x1002ea41
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1002ea2a
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x1002ea3e
cmp edi, 0x29
je 0x1002ea3e
test dl, 0x10
jne 0x1002ea41
movzx eax, word [ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x1002ea3e
cmp ecx, 0x7d
jne 0x1002ea41
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.1002cd20
jmp 0x1002e58d
cmp ecx, 0x2a
je 0x1002ea7e
cmp ecx, 0x2b
je 0x1002ea7e
cmp ecx, 0x3f
je 0x1002ea7e
cmp ecx, 0x7b
je 0x1002ea7e
cmp ecx, 0x7d
jne 0x1002e518
test dword [esi + 0x50], 0x10000000
lea edi, [esi + 0x50]
je 0x1002ea85
jmp 0x1002e52c
push 0xa
call fcn.1002cd10
push 6
call fcn.1002cd10
push 5
call fcn.1002cd10
push 4
call fcn.1002cd10
int3