Function at 0x1000e8b0
Capabilities:
Parse credit card information

Disassembly:
push ecx
push ebx
push ebp
push esi
mov esi, ecx
xor al, al
push edi
mov ecx, dword [esi + 0x4c]
cmp ecx, 0xffffffff
je 0x1000ed81
cmp ecx, 0x7c
je 0x1000ed81
cmp ecx, 0x29
jne 0x1000e8f6
cmp dword [esi + 0x10], 0
jne 0x1000ed81
cmp ecx, ecx
jne 0x1000e8f6
test dword [esi + 0x50], 0x10000000
lea edi, [esi + 0x50]
je 0x1000ed8e
jmp 0x1000ecef
lea edi, [esi + 0x50]
cmp ecx, 0x2e
jne 0x1000e9ac
push 0x14
call fcn.1001fad7
mov ecx, eax
add esp, 4
mov dword [esp + 0x10], 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 0x1000e950
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 0x1000ed65
cmp word [ecx], 0x5c
jne 0x1000e9a2
lea edx, [ecx + 2]
cmp edx, eax
je 0x1000e9a2
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1000e98c
movzx eax, word [edx]
mov ecx, eax
cmp eax, 0x28
je 0x1000e9a0
cmp ecx, 0x29
je 0x1000e9a0
mov ecx, dword [esi]
test bl, 0x10
jne 0x1000e9a2
movzx eax, word [edx]
mov edi, eax
cmp eax, 0x7b
je 0x1000e9a0
cmp edi, 0x7d
jne 0x1000e9a2
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esi], eax
jmp 0x1000ed65
cmp ecx, 0x5c
jne 0x1000eaa2
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x1000e9ff
cmp word [ecx], 0x5c
jne 0x1000e9fa
lea edx, [ecx + 2]
cmp edx, eax
je 0x1000e9fa
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1000e9e4
movzx eax, word [edx]
mov ecx, eax
cmp eax, 0x28
je 0x1000e9f8
cmp ecx, 0x29
je 0x1000e9f8
mov ecx, dword [esi]
test bl, 0x10
jne 0x1000e9fa
movzx eax, word [edx]
mov ebx, eax
cmp eax, 0x7b
je 0x1000e9f8
cmp ebx, 0x7d
jne 0x1000e9fa
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esi], eax
mov ecx, esi
call fcn.1000d900
mov eax, dword [edi]
and eax, 0x80
je 0x1000ea77
cmp word [esi + 0x48], 0x62
jne 0x1000ea77
lea ecx, [esi + 0x24]
call fcn.1000f9f0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x1000ecbf
cmp word [ecx], 0x5c
jne 0x1000ea66
lea edx, [ecx + 2]
cmp edx, eax
je 0x1000ea66
mov ebx, dword [edi]
test bl, 8
jne 0x1000ea50
movzx eax, word [edx]
mov ecx, eax
cmp eax, 0x28
je 0x1000ea64
cmp ecx, 0x29
je 0x1000ea64
mov ecx, dword [esi]
test bl, 0x10
jne 0x1000ea66
movzx eax, word [edx]
mov edi, eax
cmp eax, 0x7b
je 0x1000ea64
cmp edi, 0x7d
jne 0x1000ea66
mov ecx, edx
lea eax, [ecx + 2]
mov ecx, esi
mov dword [esi], eax
call fcn.1000d900
jmp 0x1000ed73
test eax, eax
je 0x1000ea96
cmp word [esi + 0x48], 0x42
jne 0x1000ea96
lea ecx, [esi + 0x24]
call fcn.1000f9f0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
jmp 0x1000ec7a
mov ecx, esi
call fcn.1000f620
jmp 0x1000ed6c
cmp ecx, 0x5b
jne 0x1000eb91
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x1000eaf0
cmp word [ecx], 0x5c
jne 0x1000eaed
add ecx, 2
cmp ecx, eax
je 0x1000eaed
mov edx, dword [edi]
test dl, 8
jne 0x1000ead7
movzx eax, word [ecx]
mov ebx, eax
cmp eax, 0x28
je 0x1000eaeb
cmp ebx, 0x29
je 0x1000eaeb
test dl, 0x10
jne 0x1000eaed
movzx eax, word [ecx]
mov edx, eax
cmp eax, 0x7b
je 0x1000eaeb
cmp edx, 0x7d
jne 0x1000eaed
mov dword [esi], ecx
add dword [esi], 2
mov ecx, esi
call fcn.1000d900
lea ecx, [esi + 0x24]
call fcn.10010d80
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x1000eb5d
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x1000eb53
cmp word [ecx], 0x5c
jne 0x1000eb50
add ecx, 2
cmp ecx, eax
je 0x1000eb50
mov edx, dword [edi]
test dl, 8
jne 0x1000eb3a
movzx eax, word [ecx]
mov ebx, eax
cmp eax, 0x28
je 0x1000eb4e
cmp ebx, 0x29
je 0x1000eb4e
test dl, 0x10
jne 0x1000eb50
movzx eax, word [ecx]
mov edx, eax
cmp eax, 0x7b
je 0x1000eb4e
cmp edx, 0x7d
jne 0x1000eb50
mov dword [esi], ecx
add dword [esi], 2
mov ecx, esi
call fcn.1000d900
mov eax, dword [esi + 0x4c]
test dword [edi], 0x20000000
je 0x1000eb7a
cmp eax, 0x5d
jne 0x1000eb7a
push eax
lea ecx, [esi + 0x24]
call fcn.10010e10
mov ecx, esi
call fcn.1000e860
mov ecx, esi
call fcn.100108e0
push 4
push 0x5d
mov ecx, esi
call fcn.1000f5c0
jmp 0x1000ed6c
cmp ecx, 0x28
jne 0x1000ec03
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x1000ebdb
cmp word [ecx], 0x5c
jne 0x1000ebd8
add ecx, 2
cmp ecx, eax
je 0x1000ebd8
mov edx, dword [edi]
test dl, 8
jne 0x1000ebc2
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x1000ebd6
cmp edi, 0x29
je 0x1000ebd6
test dl, 0x10
jne 0x1000ebd8
movzx eax, word [ecx]
mov edx, eax
cmp eax, 0x7b
je 0x1000ebd6
cmp edx, 0x7d
jne 0x1000ebd8
mov dword [esi], ecx
add dword [esi], 2
mov ecx, esi
call fcn.1000d900
mov ecx, esi
call fcn.1000f760
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.1000f5c0
test bl, bl
je 0x1000ed73
jmp 0x1000ed6c
cmp ecx, 0x5e
jne 0x1000ec1a
push 0x14
call fcn.1001fad7
mov ecx, eax
mov dword [ecx + 4], 2
jmp 0x1000ec33
cmp ecx, 0x24
jne 0x1000eccb
push 0x14
call fcn.1001fad7
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 [esp + 0x10], ecx
mov eax, dword [eax + 0xc]
test eax, eax
je 0x1000ec71
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 0x1000ecbf
cmp word [ecx], 0x5c
jne 0x1000ecbc
add ecx, 2
cmp ecx, eax
je 0x1000ecbc
mov edx, dword [edi]
test dl, 8
jne 0x1000eca6
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x1000ecba
cmp edi, 0x29
je 0x1000ecba
test dl, 0x10
jne 0x1000ecbc
movzx eax, word [ecx]
mov edx, eax
cmp eax, 0x7b
je 0x1000ecba
cmp edx, 0x7d
jne 0x1000ecbc
mov dword [esi], ecx
add dword [esi], 2
mov ecx, esi
call fcn.1000d900
jmp 0x1000ed73
cmp ecx, 0x2a
je 0x1000ed87
cmp ecx, 0x2b
je 0x1000ed87
cmp ecx, 0x3f
je 0x1000ed87
cmp ecx, 0x7b
je 0x1000ed87
cmp ecx, 0x7d
jne 0x1000ed02
test dword [edi], 0x10000000
je 0x1000ed95
jmp 0x1000ed13
cmp ecx, 0x5d
jne 0x1000ed13
test dword [edi], 0x10000000
je 0x1000ed9c
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.1000fa50
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x1000ed65
cmp word [ecx], 0x5c
jne 0x1000ed62
add ecx, 2
cmp ecx, eax
je 0x1000ed62
mov edx, dword [edi]
test dl, 8
jne 0x1000ed4c
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x1000ed60
cmp edi, 0x29
je 0x1000ed60
test dl, 0x10
jne 0x1000ed62
movzx eax, word [ecx]
mov edx, eax
cmp eax, 0x7b
je 0x1000ed60
cmp edx, 0x7d
jne 0x1000ed62
mov dword [esi], ecx
add dword [esi], 2
mov ecx, esi
call fcn.1000d900
mov ecx, esi
call fcn.1000f860
mov ecx, dword [esi + 0x4c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x1000e8c5
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
push 0xa
call fcn.1000d8f0
push 5
call fcn.1000d8f0
push 6
call fcn.1000d8f0
push 4
call fcn.1000d8f0
int3