Function at 0x41d0d0
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 0x41d18d
cmp ecx, 0x7c
je 0x41d18d
cmp ecx, 0x29
jne 0x41d194
cmp dword [esi + 0x10], 0
jne 0x41d18d
cmp ecx, ecx
jne 0x41d194
test dword [esi + 0x50], 0x10000000
je 0x41d642
lea edi, [esi + 0x50]
cmp ecx, 0x5d
jne 0x41d12b
test dword [edi], 0x10000000
je 0x41d649
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0041e250
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41d171
cmp byte [eax], 0x5c
jne 0x41d16f
inc eax
cmp eax, ecx
je 0x41d16f
mov edx, dword [edi]
test dl, 8
jne 0x41d15e
mov cl, byte [eax]
cmp cl, 0x28
je 0x41d16d
cmp cl, 0x29
je 0x41d16d
test dl, 0x10
jne 0x41d16f
mov al, byte [eax]
cmp al, 0x7b
je 0x41d16d
cmp al, 0x7d
jne 0x41d16f
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0041c6f0
mov ecx, esi
call fcn.0041e030
mov ecx, dword [esi + 0x4c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x41d0e6
pop edi
pop esi
pop ebx
add esp, 8
ret
cmp ecx, 0x2e
jne 0x41d251
push 0x14
call fcn.00468477
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 0x41d1eb
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 0x41d171
cmp byte [eax], 0x5c
jne 0x41d249
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x41d247
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x41d227
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x41d23c
cmp cl, 0x29
je 0x41d23c
mov ecx, eax
test bl, 0x10
jne 0x41d247
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x41d23c
mov edx, ecx
cmp bl, 0x7d
jne 0x41d247
lea eax, [edx + 1]
inc eax
mov dword [esi], eax
jmp 0x41d171
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x41d171
cmp ecx, 0x5c
jne 0x41d400
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x41d2a7
cmp byte [eax], cl
jne 0x41d2a4
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x41d2a2
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x41d288
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x41d29d
cmp cl, 0x29
je 0x41d29d
mov ecx, eax
test bl, 0x10
jne 0x41d2a2
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x41d29d
mov edx, ecx
cmp bl, 0x7d
jne 0x41d2a2
lea eax, [edx + 1]
jmp 0x41d2a4
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041c6f0
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x41d388
cmp byte [esi + 0x48], 0x62
jne 0x41d388
push 0x14
call fcn.00468477
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 0x41d314
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 0x41d5fa
cmp byte [eax], 0x5c
jne 0x41d379
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x41d377
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x41d350
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x41d365
cmp cl, 0x29
je 0x41d365
mov ecx, eax
test bl, 0x10
jne 0x41d377
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x41d365
mov edx, ecx
cmp bl, 0x7d
jne 0x41d377
lea eax, [edx + 1]
mov ecx, esi
inc eax
mov dword [esi], eax
call fcn.0041c6f0
jmp 0x41d17f
mov eax, ecx
inc eax
mov ecx, esi
mov dword [esi], eax
call fcn.0041c6f0
jmp 0x41d17f
test eax, eax
je 0x41d3f4
cmp byte [esi + 0x48], 0x42
jne 0x41d3f4
push 0x14
call fcn.00468477
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 0x41d3e0
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 0x41d5c0
mov ecx, esi
call fcn.0041dd00
jmp 0x41d178
cmp ecx, 0x5b
jne 0x41d49e
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41d443
cmp byte [eax], 0x5c
jne 0x41d441
inc eax
cmp eax, ecx
je 0x41d441
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x41d430
mov cl, byte [eax]
cmp cl, 0x28
je 0x41d43f
cmp cl, 0x29
je 0x41d43f
test dl, 0x10
jne 0x41d441
mov al, byte [eax]
cmp al, 0x7b
je 0x41d43f
cmp al, 0x7d
jne 0x41d441
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0041c6f0
mov ecx, esi
call fcn.0041dbd0
cmp dword [esi + 0x4c], 0x5d
jne 0x41d649
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41d171
cmp byte [eax], 0x5c
jne 0x41d16f
inc eax
cmp eax, ecx
je 0x41d16f
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41d496
mov dl, byte [eax]
cmp dl, 0x28
je 0x41d16d
cmp dl, 0x29
je 0x41d16d
test cl, 0x10
jmp 0x41d161
cmp ecx, 0x28
jne 0x41d549
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41d4e1
cmp byte [eax], 0x5c
jne 0x41d4df
inc eax
cmp eax, ecx
je 0x41d4df
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41d4ce
mov dl, byte [eax]
cmp dl, 0x28
je 0x41d4dd
cmp dl, 0x29
je 0x41d4dd
test cl, 0x10
jne 0x41d4df
mov al, byte [eax]
cmp al, 0x7b
je 0x41d4dd
cmp al, 0x7d
jne 0x41d4df
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0041c6f0
mov ecx, esi
call fcn.0041de40
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x41d642
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41d535
cmp byte [eax], 0x5c
jne 0x41d533
inc eax
cmp eax, ecx
je 0x41d533
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41d522
mov dl, byte [eax]
cmp dl, 0x28
je 0x41d531
cmp dl, 0x29
je 0x41d531
test cl, 0x10
jne 0x41d533
mov al, byte [eax]
cmp al, 0x7b
je 0x41d531
cmp al, 0x7d
jne 0x41d533
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0041c6f0
test bl, bl
je 0x41d17f
jmp 0x41d178
cmp ecx, 0x5e
jne 0x41d560
push 0x14
call fcn.00468477
mov ecx, eax
mov dword [ecx + 4], 2
jmp 0x41d579
cmp ecx, 0x24
jne 0x41d606
push 0x14
call fcn.00468477
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 0x41d5b7
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 0x41d5fa
cmp byte [eax], 0x5c
jne 0x41d5f8
inc eax
cmp eax, ecx
je 0x41d5f8
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41d5e7
mov dl, byte [eax]
cmp dl, 0x28
je 0x41d5f6
cmp dl, 0x29
je 0x41d5f6
test cl, 0x10
jne 0x41d5f8
mov al, byte [eax]
cmp al, 0x7b
je 0x41d5f6
cmp al, 0x7d
jne 0x41d5f8
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0041c6f0
jmp 0x41d17f
cmp ecx, 0x2a
je 0x41d634
cmp ecx, 0x2b
je 0x41d634
cmp ecx, 0x3f
je 0x41d634
cmp ecx, 0x7b
je 0x41d634
cmp ecx, 0x7d
jne 0x41d117
test dword [esi + 0x50], 0x10000000
lea edi, [esi + 0x50]
je 0x41d63b
jmp 0x41d12b
push 0xa
call fcn.0041c6e0
push 6
call fcn.0041c6e0
push 5
call fcn.0041c6e0
push 4
call fcn.0041c6e0
int3