Function at 0x41f7d0
Capabilities:
Parse credit card information

Disassembly:
sub esp, 8
xor al, al
push ebx
push esi
mov esi, ecx
push edi
mov ecx, dword [esi + 0x4c]
cmp ecx, 0xffffffff
je 0x41f88d
cmp ecx, 0x7c
je 0x41f88d
cmp ecx, 0x29
jne 0x41f894
cmp dword [esi + 0x10], 0
jne 0x41f88d
cmp ecx, ecx
jne 0x41f894
test dword [esi + 0x50], 0x10000000
je 0x41fd42
lea edi, [esi + 0x50]
cmp ecx, 0x5d
jne 0x41f82b
test dword [edi], 0x10000000
je 0x41fd49
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00421180
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41f871
cmp byte [eax], 0x5c
jne 0x41f86f
inc eax
cmp eax, ecx
je 0x41f86f
mov edx, dword [edi]
test dl, 8
jne 0x41f85e
mov cl, byte [eax]
cmp cl, 0x28
je 0x41f86d
cmp cl, 0x29
je 0x41f86d
test dl, 0x10
jne 0x41f86f
mov al, byte [eax]
cmp al, 0x7b
je 0x41f86d
cmp al, 0x7d
jne 0x41f86f
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0041e200
mov ecx, esi
call fcn.00420f60
mov ecx, dword [esi + 0x4c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x41f7e6
pop edi
pop esi
pop ebx
add esp, 8
ret
cmp ecx, 0x2e
jne 0x41f951
push 0x14
call fcn.0046b287
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 0x41f8eb
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]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x41f871
cmp byte [eax], 0x5c
jne 0x41f949
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x41f947
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x41f927
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x41f93c
cmp cl, 0x29
je 0x41f93c
mov ecx, eax
test bl, 0x10
jne 0x41f947
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x41f93c
mov edx, ecx
cmp bl, 0x7d
jne 0x41f947
lea eax, [edx + 1]
inc eax
mov dword [esi], eax
jmp 0x41f871
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x41f871
cmp ecx, 0x5c
jne 0x41fb00
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x41f9a7
cmp byte [eax], cl
jne 0x41f9a4
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x41f9a2
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x41f988
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x41f99d
cmp cl, 0x29
je 0x41f99d
mov ecx, eax
test bl, 0x10
jne 0x41f9a2
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x41f99d
mov edx, ecx
cmp bl, 0x7d
jne 0x41f9a2
lea eax, [edx + 1]
jmp 0x41f9a4
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041e200
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x41fa88
cmp byte [esi + 0x48], 0x62
jne 0x41fa88
push 0x14
call fcn.0046b287
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], 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 0x41fa14
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]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x41fcfa
cmp byte [eax], 0x5c
jne 0x41fa79
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x41fa77
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x41fa50
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x41fa65
cmp cl, 0x29
je 0x41fa65
mov ecx, eax
test bl, 0x10
jne 0x41fa77
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x41fa65
mov edx, ecx
cmp bl, 0x7d
jne 0x41fa77
lea eax, [edx + 1]
mov ecx, esi
inc eax
mov dword [esi], eax
call fcn.0041e200
jmp 0x41f87f
mov eax, ecx
inc eax
mov ecx, esi
mov dword [esi], eax
call fcn.0041e200
jmp 0x41f87f
test eax, eax
je 0x41faf4
cmp byte [esi + 0x48], 0x42
jne 0x41faf4
push 0x14
call fcn.0046b287
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], 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 0x41fae0
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 0x41fcc0
mov ecx, esi
call fcn.00420c30
jmp 0x41f878
cmp ecx, 0x5b
jne 0x41fb9e
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41fb43
cmp byte [eax], 0x5c
jne 0x41fb41
inc eax
cmp eax, ecx
je 0x41fb41
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x41fb30
mov cl, byte [eax]
cmp cl, 0x28
je 0x41fb3f
cmp cl, 0x29
je 0x41fb3f
test dl, 0x10
jne 0x41fb41
mov al, byte [eax]
cmp al, 0x7b
je 0x41fb3f
cmp al, 0x7d
jne 0x41fb41
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0041e200
mov ecx, esi
call fcn.00420b00
cmp dword [esi + 0x4c], 0x5d
jne 0x41fd49
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41f871
cmp byte [eax], 0x5c
jne 0x41f86f
inc eax
cmp eax, ecx
je 0x41f86f
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41fb96
mov dl, byte [eax]
cmp dl, 0x28
je 0x41f86d
cmp dl, 0x29
je 0x41f86d
test cl, 0x10
jmp 0x41f861
cmp ecx, 0x28
jne 0x41fc49
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41fbe1
cmp byte [eax], 0x5c
jne 0x41fbdf
inc eax
cmp eax, ecx
je 0x41fbdf
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41fbce
mov dl, byte [eax]
cmp dl, 0x28
je 0x41fbdd
cmp dl, 0x29
je 0x41fbdd
test cl, 0x10
jne 0x41fbdf
mov al, byte [eax]
cmp al, 0x7b
je 0x41fbdd
cmp al, 0x7d
jne 0x41fbdf
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0041e200
mov ecx, esi
call fcn.00420d70
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x41fd42
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41fc35
cmp byte [eax], 0x5c
jne 0x41fc33
inc eax
cmp eax, ecx
je 0x41fc33
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41fc22
mov dl, byte [eax]
cmp dl, 0x28
je 0x41fc31
cmp dl, 0x29
je 0x41fc31
test cl, 0x10
jne 0x41fc33
mov al, byte [eax]
cmp al, 0x7b
je 0x41fc31
cmp al, 0x7d
jne 0x41fc33
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0041e200
test bl, bl
je 0x41f87f
jmp 0x41f878
cmp ecx, 0x5e
jne 0x41fc60
push 0x14
call fcn.0046b287
mov ecx, eax
mov dword [ecx + 4], 2
jmp 0x41fc79
cmp ecx, 0x24
jne 0x41fd06
push 0x14
call fcn.0046b287
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 0x41fcb7
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 + 8]
mov eax, dword [esi]
cmp eax, ecx
je 0x41fcfa
cmp byte [eax], 0x5c
jne 0x41fcf8
inc eax
cmp eax, ecx
je 0x41fcf8
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41fce7
mov dl, byte [eax]
cmp dl, 0x28
je 0x41fcf6
cmp dl, 0x29
je 0x41fcf6
test cl, 0x10
jne 0x41fcf8
mov al, byte [eax]
cmp al, 0x7b
je 0x41fcf6
cmp al, 0x7d
jne 0x41fcf8
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0041e200
jmp 0x41f87f
cmp ecx, 0x2a
je 0x41fd34
cmp ecx, 0x2b
je 0x41fd34
cmp ecx, 0x3f
je 0x41fd34
cmp ecx, 0x7b
je 0x41fd34
cmp ecx, 0x7d
jne 0x41f817
test dword [esi + 0x50], 0x10000000
lea edi, [esi + 0x50]
je 0x41fd3b
jmp 0x41f82b
push 0xa
call fcn.0041e1f0
push 6
call fcn.0041e1f0
push 5
call fcn.0041e1f0
push 4
call fcn.0041e1f0
int3