Function at 0x41abb0
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
push edi
mov edi, eax
xor ebx, ebx
xor al, al
cmp dword [edi + 0x40], 0xffffffff
je 0x41af0e
jmp 0x41abc7
xor ebx, ebx
mov ecx, dword [edi + 0x40]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x41af0e
cmp ecx, 0x29
jne 0x41abfa
cmp dword [edi + 0x10], ebx
jne 0x41af0e
test dword [edi + 0x44], edx
jne 0x41abfa
push 5
call fcn.004925d4
add esp, 4
jmp 0x41aefb
cmp ecx, 0x2e
jne 0x41ac98
push 0x14
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
cmp eax, ebx
je 0x41ac2a
mov dword [eax], 0x40c940
mov dword [eax + 4], 5
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
jmp 0x41ac2c
xor eax, eax
mov ecx, dword [edi + 0x1c]
mov dword [eax + 0x10], ecx
mov edx, dword [edi + 0x1c]
mov ecx, dword [edx + 0xc]
cmp ecx, ebx
je 0x41ac48
mov dword [eax + 0xc], ecx
mov ecx, dword [edi + 0x1c]
mov edx, dword [ecx + 0xc]
mov dword [edx + 0x10], eax
mov ecx, dword [edi + 0x1c]
mov dword [ecx + 0xc], eax
mov dword [edi + 0x1c], eax
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x41ac8c
cmp byte [eax], 0x5c
jne 0x41ac8a
inc eax
cmp eax, ecx
je 0x41ac76
test byte [edi + 0x44], 8
jne 0x41ac76
mov cl, byte [eax]
cmp cl, 0x28
je 0x41ac88
cmp cl, 0x29
je 0x41ac88
test byte [edi + 0x44], 0x10
jne 0x41ac8a
mov cl, byte [eax]
cmp cl, 0x7b
je 0x41ac88
cmp cl, 0x7d
jne 0x41ac8a
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.0041a780
jmp 0x41aefb
cmp ecx, 0x5c
jne 0x41adae
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x41acdc
cmp byte [eax], 0x5c
jne 0x41acda
inc eax
cmp eax, ecx
je 0x41acc6
test byte [edi + 0x44], 8
jne 0x41acc6
mov cl, byte [eax]
cmp cl, 0x28
je 0x41acd8
cmp cl, 0x29
je 0x41acd8
test byte [edi + 0x44], 0x10
jne 0x41acda
mov cl, byte [eax]
cmp cl, 0x7b
je 0x41acd8
cmp cl, 0x7d
jne 0x41acda
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.0041a780
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x41ad42
cmp byte [edi + 0x3e], 0x62
jne 0x41ad42
lea esi, [edi + 0x18]
call fcn.0041bbe0
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x41ad36
cmp byte [eax], 0x5c
jne 0x41ad34
inc eax
cmp eax, ecx
je 0x41ad20
test byte [edi + 0x44], 8
jne 0x41ad20
mov cl, byte [eax]
cmp cl, 0x28
je 0x41ad32
cmp cl, 0x29
je 0x41ad32
test byte [edi + 0x44], 0x10
jne 0x41ad34
mov cl, byte [eax]
cmp cl, 0x7b
je 0x41ad32
cmp cl, 0x7d
jne 0x41ad34
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.0041a780
jmp 0x41af02
cmp eax, ebx
je 0x41ada2
cmp byte [edi + 0x3e], 0x42
jne 0x41ada2
lea esi, [edi + 0x18]
call fcn.0041bbe0
mov eax, dword [edi + 0x1c]
xor dword [eax + 8], 1
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x41ad96
cmp byte [eax], 0x5c
jne 0x41ad94
inc eax
cmp eax, ecx
je 0x41ad80
test byte [edi + 0x44], 8
jne 0x41ad80
mov cl, byte [eax]
cmp cl, 0x28
je 0x41ad92
cmp cl, 0x29
je 0x41ad92
test byte [edi + 0x44], 0x10
jne 0x41ad94
mov cl, byte [eax]
cmp cl, 0x7b
je 0x41ad92
cmp cl, 0x7d
jne 0x41ad94
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.0041a780
jmp 0x41af02
mov eax, edi
call fcn.0041b880
jmp 0x41aefb
cmp ecx, 0x5b
jne 0x41ae53
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x41adf2
cmp byte [eax], 0x5c
jne 0x41adf0
inc eax
cmp eax, ecx
je 0x41addc
test byte [edi + 0x44], 8
jne 0x41addc
mov cl, byte [eax]
cmp cl, 0x28
je 0x41adee
cmp cl, 0x29
je 0x41adee
test byte [edi + 0x44], 0x10
jne 0x41adf0
mov cl, byte [eax]
cmp cl, 0x7b
je 0x41adee
cmp cl, 0x7d
jne 0x41adf0
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.0041a780
call fcn.0041b7d0
cmp dword [edi + 0x40], 0x5d
je 0x41ae0e
push 4
call fcn.004925d4
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x41ae49
cmp byte [eax], 0x5c
jne 0x41ae47
inc eax
cmp eax, ecx
je 0x41ae33
test byte [edi + 0x44], 8
jne 0x41ae33
mov cl, byte [eax]
cmp cl, 0x28
je 0x41ae45
cmp cl, 0x29
je 0x41ae45
test byte [edi + 0x44], 0x10
jne 0x41ae47
mov cl, byte [eax]
cmp cl, 0x7b
je 0x41ae45
cmp cl, 0x7d
jne 0x41ae47
mov dword [edi], eax
inc dword [edi]
call fcn.0041a780
jmp 0x41aefb
cmp ecx, 0x28
jne 0x41af12
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x41ae97
cmp byte [eax], 0x5c
jne 0x41ae95
inc eax
cmp eax, ecx
je 0x41ae81
test byte [edi + 0x44], 8
jne 0x41ae81
mov cl, byte [eax]
cmp cl, 0x28
je 0x41ae93
cmp cl, 0x29
je 0x41ae93
test byte [edi + 0x44], 0x10
jne 0x41ae95
mov cl, byte [eax]
cmp cl, 0x7b
je 0x41ae93
cmp cl, 0x7d
jne 0x41ae95
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.0041a780
mov eax, edi
call fcn.0041b940
cmp dword [edi + 0x40], 0x29
mov bl, al
je 0x41aeb7
push 5
call fcn.004925d4
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x41aef2
cmp byte [eax], 0x5c
jne 0x41aef0
inc eax
cmp eax, ecx
je 0x41aedc
test byte [edi + 0x44], 8
jne 0x41aedc
mov cl, byte [eax]
cmp cl, 0x28
je 0x41aeee
cmp cl, 0x29
je 0x41aeee
test byte [edi + 0x44], 0x10
jne 0x41aef0
mov cl, byte [eax]
cmp cl, 0x7b
je 0x41aeee
cmp cl, 0x7d
jne 0x41aef0
mov dword [edi], eax
inc dword [edi]
call fcn.0041a780
test bl, bl
je 0x41af02
mov eax, edi
call fcn.0041b9f0
cmp dword [edi + 0x40], 0xffffffff
mov al, 1
jne 0x41abc5
pop edi
pop esi
pop ebx
ret
cmp ecx, 0x5e
jne 0x41af28
lea esi, [edi + 0x18]
call fcn.0041bb20
mov eax, edi
call fcn.0041ab60
jmp 0x41af02
cmp ecx, 0x24
jne 0x41af3e
lea esi, [edi + 0x18]
call fcn.0041bb80
mov eax, edi
call fcn.0041ab60
jmp 0x41af02
cmp ecx, 0x2a
je 0x41af9a
cmp ecx, 0x2b
je 0x41af9a
cmp ecx, 0x3f
je 0x41af9a
cmp ecx, 0x7b
je 0x41af9a
cmp ecx, 0x7d
jne 0x41af68
test dword [edi + 0x44], edx
jne 0x41af68
push 6
call fcn.004925d4
add esp, 4
jmp 0x41aefb
cmp ecx, 0x5d
jne 0x41af81
test dword [edi + 0x44], edx
jne 0x41af81
push 4
call fcn.004925d4
add esp, 4
jmp 0x41aefb
movzx edx, byte [edi + 0x3e]
lea eax, [edi + 0x18]
push edx
call fcn.00423910
mov eax, edi
call fcn.0041ab60
jmp 0x41aefb
push 0xa
call fcn.004925d4
add esp, 4
jmp 0x41aefb