Function at 0x41f250
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 0x41f30d
cmp ecx, 0x7c
je 0x41f30d
cmp ecx, 0x29
jne 0x41f314
cmp dword [esi + 0x10], 0
jne 0x41f30d
cmp ecx, ecx
jne 0x41f314
test dword [esi + 0x50], 0x10000000
je 0x41f7c2
lea edi, [esi + 0x50]
cmp ecx, 0x5d
jne 0x41f2ab
test dword [edi], 0x10000000
je 0x41f7c9
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00420860
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41f2f1
cmp byte [eax], 0x5c
jne 0x41f2ef
inc eax
cmp eax, ecx
je 0x41f2ef
mov edx, dword [edi]
test dl, 8
jne 0x41f2de
mov cl, byte [eax]
cmp cl, 0x28
je 0x41f2ed
cmp cl, 0x29
je 0x41f2ed
test dl, 0x10
jne 0x41f2ef
mov al, byte [eax]
cmp al, 0x7b
je 0x41f2ed
cmp al, 0x7d
jne 0x41f2ef
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0041de60
mov ecx, esi
call fcn.00420640
mov ecx, dword [esi + 0x4c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x41f266
pop edi
pop esi
pop ebx
add esp, 8
ret
cmp ecx, 0x2e
jne 0x41f3d1
push 0x14
call fcn.0046b473
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 0x41f36b
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 0x41f2f1
cmp byte [eax], 0x5c
jne 0x41f3c9
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x41f3c7
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x41f3a7
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x41f3bc
cmp cl, 0x29
je 0x41f3bc
mov ecx, eax
test bl, 0x10
jne 0x41f3c7
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x41f3bc
mov edx, ecx
cmp bl, 0x7d
jne 0x41f3c7
lea eax, [edx + 1]
inc eax
mov dword [esi], eax
jmp 0x41f2f1
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x41f2f1
cmp ecx, 0x5c
jne 0x41f580
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x41f427
cmp byte [eax], cl
jne 0x41f424
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x41f422
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x41f408
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x41f41d
cmp cl, 0x29
je 0x41f41d
mov ecx, eax
test bl, 0x10
jne 0x41f422
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x41f41d
mov edx, ecx
cmp bl, 0x7d
jne 0x41f422
lea eax, [edx + 1]
jmp 0x41f424
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041de60
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x41f508
cmp byte [esi + 0x48], 0x62
jne 0x41f508
push 0x14
call fcn.0046b473
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 0x41f494
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 0x41f77a
cmp byte [eax], 0x5c
jne 0x41f4f9
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x41f4f7
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x41f4d0
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x41f4e5
cmp cl, 0x29
je 0x41f4e5
mov ecx, eax
test bl, 0x10
jne 0x41f4f7
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x41f4e5
mov edx, ecx
cmp bl, 0x7d
jne 0x41f4f7
lea eax, [edx + 1]
mov ecx, esi
inc eax
mov dword [esi], eax
call fcn.0041de60
jmp 0x41f2ff
mov eax, ecx
inc eax
mov ecx, esi
mov dword [esi], eax
call fcn.0041de60
jmp 0x41f2ff
test eax, eax
je 0x41f574
cmp byte [esi + 0x48], 0x42
jne 0x41f574
push 0x14
call fcn.0046b473
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 0x41f560
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 0x41f740
mov ecx, esi
call fcn.00420320
jmp 0x41f2f8
cmp ecx, 0x5b
jne 0x41f61e
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41f5c3
cmp byte [eax], 0x5c
jne 0x41f5c1
inc eax
cmp eax, ecx
je 0x41f5c1
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x41f5b0
mov cl, byte [eax]
cmp cl, 0x28
je 0x41f5bf
cmp cl, 0x29
je 0x41f5bf
test dl, 0x10
jne 0x41f5c1
mov al, byte [eax]
cmp al, 0x7b
je 0x41f5bf
cmp al, 0x7d
jne 0x41f5c1
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0041de60
mov ecx, esi
call fcn.004201f0
cmp dword [esi + 0x4c], 0x5d
jne 0x41f7c9
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41f2f1
cmp byte [eax], 0x5c
jne 0x41f2ef
inc eax
cmp eax, ecx
je 0x41f2ef
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41f616
mov dl, byte [eax]
cmp dl, 0x28
je 0x41f2ed
cmp dl, 0x29
je 0x41f2ed
test cl, 0x10
jmp 0x41f2e1
cmp ecx, 0x28
jne 0x41f6c9
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41f661
cmp byte [eax], 0x5c
jne 0x41f65f
inc eax
cmp eax, ecx
je 0x41f65f
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41f64e
mov dl, byte [eax]
cmp dl, 0x28
je 0x41f65d
cmp dl, 0x29
je 0x41f65d
test cl, 0x10
jne 0x41f65f
mov al, byte [eax]
cmp al, 0x7b
je 0x41f65d
cmp al, 0x7d
jne 0x41f65f
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0041de60
mov ecx, esi
call fcn.00420460
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x41f7c2
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41f6b5
cmp byte [eax], 0x5c
jne 0x41f6b3
inc eax
cmp eax, ecx
je 0x41f6b3
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41f6a2
mov dl, byte [eax]
cmp dl, 0x28
je 0x41f6b1
cmp dl, 0x29
je 0x41f6b1
test cl, 0x10
jne 0x41f6b3
mov al, byte [eax]
cmp al, 0x7b
je 0x41f6b1
cmp al, 0x7d
jne 0x41f6b3
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0041de60
test bl, bl
je 0x41f2ff
jmp 0x41f2f8
cmp ecx, 0x5e
jne 0x41f6e0
push 0x14
call fcn.0046b473
mov ecx, eax
mov dword [ecx + 4], 2
jmp 0x41f6f9
cmp ecx, 0x24
jne 0x41f786
push 0x14
call fcn.0046b473
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 0x41f737
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 0x41f77a
cmp byte [eax], 0x5c
jne 0x41f778
inc eax
cmp eax, ecx
je 0x41f778
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41f767
mov dl, byte [eax]
cmp dl, 0x28
je 0x41f776
cmp dl, 0x29
je 0x41f776
test cl, 0x10
jne 0x41f778
mov al, byte [eax]
cmp al, 0x7b
je 0x41f776
cmp al, 0x7d
jne 0x41f778
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0041de60
jmp 0x41f2ff
cmp ecx, 0x2a
je 0x41f7b4
cmp ecx, 0x2b
je 0x41f7b4
cmp ecx, 0x3f
je 0x41f7b4
cmp ecx, 0x7b
je 0x41f7b4
cmp ecx, 0x7d
jne 0x41f297
test dword [esi + 0x50], 0x10000000
lea edi, [esi + 0x50]
je 0x41f7bb
jmp 0x41f2ab
push 0xa
call fcn.0041de50
push 6
call fcn.0041de50
push 5
call fcn.0041de50
push 4
call fcn.0041de50
int3