Function at 0x41d8e0
Capabilities:
Parse credit card information

Disassembly:
push ecx
push ebx
push esi
mov esi, ecx
xor cl, cl
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x41d999
cmp eax, 0x7c
je 0x41d999
cmp eax, 0x29
jne 0x41d99f
cmp dword [esi + 0x10], 0
jne 0x41d999
test dword [esi + 0x50], 0x10000000
je 0x41dd8e
cmp eax, 0x5d
jne 0x41d92e
test dword [esi + 0x50], 0x10000000
je 0x41dd80
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0041f280
mov ecx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, ecx
je 0x41d97d
cmp word [eax], 0x5c
jne 0x41d97a
add eax, 2
cmp eax, ecx
je 0x41d97a
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41d966
movzx edx, word [eax]
cmp edx, 0x28
je 0x41d978
cmp edx, 0x29
je 0x41d978
test cl, 0x10
jne 0x41d97a
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41d978
cmp ecx, 0x7d
jne 0x41d97a
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0041c570
mov ecx, esi
call fcn.0041f040
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x41d8f3
pop esi
mov al, cl
pop ebx
pop ecx
ret
cmp eax, 0x2e
jne 0x41d9fc
push 0x14
call fcn.0049786c
mov ecx, eax
add esp, 4
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 edx, dword [eax + 0xc]
test edx, edx
je 0x41d9f1
mov dword [ecx + 0xc], edx
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
jmp 0x41d93b
cmp eax, 0x5c
jne 0x41db6e
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41da47
cmp word [eax], 0x5c
jne 0x41da44
add eax, 2
cmp eax, ecx
je 0x41da44
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41da30
movzx edx, word [eax]
cmp edx, 0x28
je 0x41da42
cmp edx, 0x29
je 0x41da42
test cl, 0x10
jne 0x41da44
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41da42
cmp ecx, 0x7d
jne 0x41da44
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0041c570
test byte [esi + 0x50], 0x80
je 0x41db62
cmp word [esi + 0x48], 0x62
jne 0x41dafd
push 0x14
call fcn.0049786c
mov ecx, eax
add esp, 4
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 edx, dword [eax + 0xc]
test edx, edx
je 0x41dab0
mov dword [ecx + 0xc], edx
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]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41dd42
cmp word [eax], 0x5c
jne 0x41dd3f
add eax, 2
cmp eax, ecx
je 0x41dd3f
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x41daf5
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x41dd3d
cmp ecx, 0x29
je 0x41dd3d
test dl, 0x10
jmp 0x41dd2e
cmp word [esi + 0x48], 0x42
jne 0x41db62
push 0x14
call fcn.0049786c
mov ecx, eax
add esp, 4
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 edx, dword [eax + 0xc]
test edx, edx
je 0x41db51
mov dword [ecx + 0xc], edx
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 0x41dab6
mov ecx, esi
call fcn.0041ed10
jmp 0x41d984
cmp eax, 0x5b
jne 0x41dbd2
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41dbb5
cmp word [eax], 0x5c
jne 0x41dbb2
add eax, 2
cmp eax, ecx
je 0x41dbb2
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41db9e
movzx edx, word [eax]
cmp edx, 0x28
je 0x41dbb0
cmp edx, 0x29
je 0x41dbb0
test cl, 0x10
jne 0x41dbb2
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41dbb0
cmp ecx, 0x7d
jne 0x41dbb2
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0041c570
mov ecx, esi
call fcn.0041ebe0
cmp dword [esi + 0x4c], 0x5d
jne 0x41dd80
jmp 0x41d93b
cmp eax, 0x28
jne 0x41dc8d
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41dc1d
cmp word [eax], 0x5c
jne 0x41dc1a
add eax, 2
cmp eax, ecx
je 0x41dc1a
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41dc06
movzx edx, word [eax]
cmp edx, 0x28
je 0x41dc18
cmp edx, 0x29
je 0x41dc18
test cl, 0x10
jne 0x41dc1a
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41dc18
cmp ecx, 0x7d
jne 0x41dc1a
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0041c570
mov ecx, esi
call fcn.0041ee50
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x41dd8e
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41dc79
cmp word [eax], 0x5c
jne 0x41dc76
add eax, 2
cmp eax, ecx
je 0x41dc76
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41dc62
movzx edx, word [eax]
cmp edx, 0x28
je 0x41dc74
cmp edx, 0x29
je 0x41dc74
test cl, 0x10
jne 0x41dc76
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41dc74
cmp ecx, 0x7d
jne 0x41dc76
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0041c570
test bl, bl
je 0x41d98b
jmp 0x41d984
cmp eax, 0x5e
jne 0x41dca4
push 0x14
call fcn.0049786c
mov ecx, eax
mov dword [ecx + 4], 2
jmp 0x41dcbd
cmp eax, 0x24
jne 0x41dd4e
push 0x14
call fcn.0049786c
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 edx, dword [eax + 0xc]
test edx, edx
je 0x41dcfa
mov dword [ecx + 0xc], edx
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 + 8]
mov eax, dword [esi]
cmp eax, ecx
je 0x41dd42
cmp word [eax], 0x5c
jne 0x41dd3f
add eax, 2
cmp eax, ecx
je 0x41dd3f
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41dd2b
movzx edx, word [eax]
cmp edx, 0x28
je 0x41dd3d
cmp edx, 0x29
je 0x41dd3d
test cl, 0x10
jne 0x41dd3f
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41dd3d
cmp ecx, 0x7d
jne 0x41dd3f
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0041c570
jmp 0x41d98b
cmp eax, 0x2a
je 0x41dd79
cmp eax, 0x2b
je 0x41dd79
cmp eax, 0x3f
je 0x41dd79
cmp eax, 0x7b
je 0x41dd79
cmp eax, 0x7d
jne 0x41d91c
test dword [esi + 0x50], 0x10000000
je 0x41dd87
jmp 0x41d92e
push 0xa
call fcn.0041c560
push 4
call fcn.0041c560
push 6
call fcn.0041c560
push 5
call fcn.0041c560
int3