Function at 0x41dee0
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 0x41df9d
cmp ecx, 0x7c
je 0x41df9d
cmp ecx, 0x29
jne 0x41dfa4
cmp dword [esi + 0x10], 0
jne 0x41df9d
cmp ecx, ecx
jne 0x41dfa4
test dword [esi + 0x50], 0x10000000
je 0x41e452
lea edi, [esi + 0x50]
cmp ecx, 0x5d
jne 0x41df3b
test dword [edi], 0x10000000
je 0x41e459
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0041f570
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41df81
cmp byte [eax], 0x5c
jne 0x41df7f
inc eax
cmp eax, ecx
je 0x41df7f
mov edx, dword [edi]
test dl, 8
jne 0x41df6e
mov cl, byte [eax]
cmp cl, 0x28
je 0x41df7d
cmp cl, 0x29
je 0x41df7d
test dl, 0x10
jne 0x41df7f
mov al, byte [eax]
cmp al, 0x7b
je 0x41df7d
cmp al, 0x7d
jne 0x41df7f
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0041cb00
mov ecx, esi
call fcn.0041f350
mov ecx, dword [esi + 0x4c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x41def6
pop edi
pop esi
pop ebx
add esp, 8
ret
cmp ecx, 0x2e
jne 0x41e061
push 0x14
call fcn.00467ee3
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 0x41dffb
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 0x41df81
cmp byte [eax], 0x5c
jne 0x41e059
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x41e057
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x41e037
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x41e04c
cmp cl, 0x29
je 0x41e04c
mov ecx, eax
test bl, 0x10
jne 0x41e057
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x41e04c
mov edx, ecx
cmp bl, 0x7d
jne 0x41e057
lea eax, [edx + 1]
inc eax
mov dword [esi], eax
jmp 0x41df81
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x41df81
cmp ecx, 0x5c
jne 0x41e210
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x41e0b7
cmp byte [eax], cl
jne 0x41e0b4
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x41e0b2
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x41e098
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x41e0ad
cmp cl, 0x29
je 0x41e0ad
mov ecx, eax
test bl, 0x10
jne 0x41e0b2
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x41e0ad
mov edx, ecx
cmp bl, 0x7d
jne 0x41e0b2
lea eax, [edx + 1]
jmp 0x41e0b4
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041cb00
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x41e198
cmp byte [esi + 0x48], 0x62
jne 0x41e198
push 0x14
call fcn.00467ee3
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 0x41e124
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 0x41e40a
cmp byte [eax], 0x5c
jne 0x41e189
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x41e187
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x41e160
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x41e175
cmp cl, 0x29
je 0x41e175
mov ecx, eax
test bl, 0x10
jne 0x41e187
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x41e175
mov edx, ecx
cmp bl, 0x7d
jne 0x41e187
lea eax, [edx + 1]
mov ecx, esi
inc eax
mov dword [esi], eax
call fcn.0041cb00
jmp 0x41df8f
mov eax, ecx
inc eax
mov ecx, esi
mov dword [esi], eax
call fcn.0041cb00
jmp 0x41df8f
test eax, eax
je 0x41e204
cmp byte [esi + 0x48], 0x42
jne 0x41e204
push 0x14
call fcn.00467ee3
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 0x41e1f0
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 0x41e3d0
mov ecx, esi
call fcn.0041f020
jmp 0x41df88
cmp ecx, 0x5b
jne 0x41e2ae
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41e253
cmp byte [eax], 0x5c
jne 0x41e251
inc eax
cmp eax, ecx
je 0x41e251
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x41e240
mov cl, byte [eax]
cmp cl, 0x28
je 0x41e24f
cmp cl, 0x29
je 0x41e24f
test dl, 0x10
jne 0x41e251
mov al, byte [eax]
cmp al, 0x7b
je 0x41e24f
cmp al, 0x7d
jne 0x41e251
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0041cb00
mov ecx, esi
call fcn.0041eef0
cmp dword [esi + 0x4c], 0x5d
jne 0x41e459
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41df81
cmp byte [eax], 0x5c
jne 0x41df7f
inc eax
cmp eax, ecx
je 0x41df7f
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41e2a6
mov dl, byte [eax]
cmp dl, 0x28
je 0x41df7d
cmp dl, 0x29
je 0x41df7d
test cl, 0x10
jmp 0x41df71
cmp ecx, 0x28
jne 0x41e359
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41e2f1
cmp byte [eax], 0x5c
jne 0x41e2ef
inc eax
cmp eax, ecx
je 0x41e2ef
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41e2de
mov dl, byte [eax]
cmp dl, 0x28
je 0x41e2ed
cmp dl, 0x29
je 0x41e2ed
test cl, 0x10
jne 0x41e2ef
mov al, byte [eax]
cmp al, 0x7b
je 0x41e2ed
cmp al, 0x7d
jne 0x41e2ef
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0041cb00
mov ecx, esi
call fcn.0041f160
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x41e452
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41e345
cmp byte [eax], 0x5c
jne 0x41e343
inc eax
cmp eax, ecx
je 0x41e343
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41e332
mov dl, byte [eax]
cmp dl, 0x28
je 0x41e341
cmp dl, 0x29
je 0x41e341
test cl, 0x10
jne 0x41e343
mov al, byte [eax]
cmp al, 0x7b
je 0x41e341
cmp al, 0x7d
jne 0x41e343
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0041cb00
test bl, bl
je 0x41df8f
jmp 0x41df88
cmp ecx, 0x5e
jne 0x41e370
push 0x14
call fcn.00467ee3
mov ecx, eax
mov dword [ecx + 4], 2
jmp 0x41e389
cmp ecx, 0x24
jne 0x41e416
push 0x14
call fcn.00467ee3
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 0x41e3c7
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 0x41e40a
cmp byte [eax], 0x5c
jne 0x41e408
inc eax
cmp eax, ecx
je 0x41e408
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41e3f7
mov dl, byte [eax]
cmp dl, 0x28
je 0x41e406
cmp dl, 0x29
je 0x41e406
test cl, 0x10
jne 0x41e408
mov al, byte [eax]
cmp al, 0x7b
je 0x41e406
cmp al, 0x7d
jne 0x41e408
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0041cb00
jmp 0x41df8f
cmp ecx, 0x2a
je 0x41e444
cmp ecx, 0x2b
je 0x41e444
cmp ecx, 0x3f
je 0x41e444
cmp ecx, 0x7b
je 0x41e444
cmp ecx, 0x7d
jne 0x41df27
test dword [esi + 0x50], 0x10000000
lea edi, [esi + 0x50]
je 0x41e44b
jmp 0x41df3b
push 0xa
call fcn.0041caf0
push 6
call fcn.0041caf0
push 5
call fcn.0041caf0
push 4
call fcn.0041caf0
int3