Function at 0x41d3d0
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], 0xffff
je 0x41d6dd
jmp 0x41d3f2
xor ebx, ebx
mov ecx, dword [edi + 0x40]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x41d6dd
cmp ecx, 0x29
jne 0x41d425
cmp dword [edi + 0x10], ebx
jne 0x41d6dd
test dword [edi + 0x44], edx
jne 0x41d425
push 5
call fcn.00422314
add esp, 4
jmp 0x41d6c7
cmp ecx, 0x2e
jne 0x41d4c8
push 0x14
call fcn.0042336c
add esp, 4
cmp eax, ebx
je 0x41d454
mov dword [eax], vtable.std::tr1::_Node_base.0
mov dword [eax + 4], 5
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
jmp 0x41d456
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 0x41d472
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 0x41d4bc
cmp word [eax], 0x5c
jne 0x41d4b9
add eax, 2
cmp eax, ecx
je 0x41d4a4
test byte [edi + 0x44], 8
jne 0x41d4a4
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x41d4b7
cmp ecx, 0x29
je 0x41d4b7
test byte [edi + 0x44], 0x10
jne 0x41d4b9
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41d4b7
cmp ecx, 0x7d
jne 0x41d4b9
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.0041c280
jmp 0x41d6c7
cmp ecx, 0x5c
jne 0x41d5b1
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x41d512
cmp word [eax], 0x5c
jne 0x41d50f
add eax, 2
cmp eax, ecx
je 0x41d4fa
test byte [edi + 0x44], 8
jne 0x41d4fa
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x41d50d
cmp ecx, 0x29
je 0x41d50d
test byte [edi + 0x44], 0x10
jne 0x41d50f
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41d50d
cmp ecx, 0x7d
jne 0x41d50f
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.0041c280
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x41d57f
cmp word [edi + 0x3e], 0x62
jne 0x41d57f
lea esi, [edi + 0x18]
call fcn.0041e700
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x41d573
cmp word [eax], 0x5c
jne 0x41d570
add eax, 2
cmp eax, ecx
je 0x41d55b
test byte [edi + 0x44], 8
jne 0x41d55b
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x41d56e
cmp ecx, 0x29
je 0x41d56e
test byte [edi + 0x44], 0x10
jne 0x41d570
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41d56e
cmp ecx, 0x7d
jne 0x41d570
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.0041c280
jmp 0x41d6ce
cmp eax, ebx
je 0x41d5a5
cmp word [edi + 0x3e], 0x42
jne 0x41d5a5
lea esi, [edi + 0x18]
call fcn.0041e700
mov eax, dword [edi + 0x1c]
xor dword [eax + 8], 1
mov eax, edi
call fcn.0041d380
jmp 0x41d6ce
mov eax, edi
call fcn.0041e3a0
jmp 0x41d6c7
cmp ecx, 0x5b
jne 0x41d65f
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x41d5fb
cmp word [eax], 0x5c
jne 0x41d5f8
add eax, 2
cmp eax, ecx
je 0x41d5e3
test byte [edi + 0x44], 8
jne 0x41d5e3
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x41d5f6
cmp ecx, 0x29
je 0x41d5f6
test byte [edi + 0x44], 0x10
jne 0x41d5f8
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41d5f6
cmp ecx, 0x7d
jne 0x41d5f8
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.0041c280
call fcn.0041e2f0
cmp dword [edi + 0x40], 0x5d
je 0x41d617
push 4
call fcn.00422314
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x41d658
cmp word [eax], 0x5c
jne 0x41d655
add eax, 2
cmp eax, ecx
je 0x41d640
test byte [edi + 0x44], 8
jne 0x41d640
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x41d653
cmp ecx, 0x29
je 0x41d653
test byte [edi + 0x44], 0x10
jne 0x41d655
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41d653
cmp ecx, 0x7d
jne 0x41d655
mov dword [edi], eax
add dword [edi], 2
call fcn.0041c280
jmp 0x41d6c7
cmp ecx, 0x28
jne 0x41d6e1
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x41d6a5
cmp word [eax], 0x5c
jne 0x41d6a2
add eax, 2
cmp eax, ecx
je 0x41d68d
test byte [edi + 0x44], 8
jne 0x41d68d
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x41d6a0
cmp ecx, 0x29
je 0x41d6a0
test byte [edi + 0x44], 0x10
jne 0x41d6a2
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41d6a0
cmp ecx, 0x7d
jne 0x41d6a2
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.0041c280
mov eax, edi
call fcn.0041e470
mov bl, al
push 0x29
mov ecx, 5
mov eax, edi
call fcn.0041e280
test bl, bl
je 0x41d6ce
mov eax, edi
call fcn.0041e520
cmp dword [edi + 0x40], 0xffff
mov al, 1
jne 0x41d3f0
pop edi
pop esi
pop ebx
ret
cmp ecx, 0x5e
jne 0x41d6f7
lea esi, [edi + 0x18]
call fcn.0041e660
mov eax, edi
call fcn.0041d380
jmp 0x41d6ce
cmp ecx, 0x24
jne 0x41d70d
lea esi, [edi + 0x18]
call fcn.0041e6b0
mov eax, edi
call fcn.0041d380
jmp 0x41d6ce
cmp ecx, 0x2a
je 0x41d769
cmp ecx, 0x2b
je 0x41d769
cmp ecx, 0x3f
je 0x41d769
cmp ecx, 0x7b
je 0x41d769
cmp ecx, 0x7d
jne 0x41d737
test dword [edi + 0x44], edx
jne 0x41d737
push 6
call fcn.00422314
add esp, 4
jmp 0x41d6c7
cmp ecx, 0x5d
jne 0x41d750
test dword [edi + 0x44], edx
jne 0x41d750
push 4
call fcn.00422314
add esp, 4
jmp 0x41d6c7
movzx edx, word [edi + 0x3e]
lea eax, [edi + 0x18]
push edx
call fcn.0041e750
mov eax, edi
call fcn.0041d380
jmp 0x41d6c7
push 0xa
call fcn.00422314
add esp, 4
jmp 0x41d6c7