Function at 0x410a10
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 0x410dad
jmp 0x410a32
xor ebx, ebx
mov ecx, dword [edi + 0x40]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x410dad
cmp ecx, 0x29
jne 0x410a65
cmp dword [edi + 0x10], ebx
jne 0x410dad
test dword [edi + 0x44], edx
jne 0x410a65
push 5
call fcn.00417c64
add esp, 4
jmp 0x410d97
cmp ecx, 0x2e
jne 0x410b08
push 0x14
call fcn.0041b190
add esp, 4
cmp eax, ebx
je 0x410a94
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 0x410a96
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 0x410ab2
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 0x410afc
cmp word [eax], 0x5c
jne 0x410af9
add eax, 2
cmp eax, ecx
je 0x410ae4
test byte [edi + 0x44], 8
jne 0x410ae4
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x410af7
cmp ecx, 0x29
je 0x410af7
test byte [edi + 0x44], 0x10
jne 0x410af9
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x410af7
cmp ecx, 0x7d
jne 0x410af9
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00410080
jmp 0x410d97
cmp ecx, 0x5c
jne 0x410c32
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x410b52
cmp word [eax], 0x5c
jne 0x410b4f
add eax, 2
cmp eax, ecx
je 0x410b3a
test byte [edi + 0x44], 8
jne 0x410b3a
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x410b4d
cmp ecx, 0x29
je 0x410b4d
test byte [edi + 0x44], 0x10
jne 0x410b4f
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x410b4d
cmp ecx, 0x7d
jne 0x410b4f
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00410080
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x410bbf
cmp word [edi + 0x3e], 0x62
jne 0x410bbf
lea esi, [edi + 0x18]
call fcn.00411960
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x410bb3
cmp word [eax], 0x5c
jne 0x410bb0
add eax, 2
cmp eax, ecx
je 0x410b9b
test byte [edi + 0x44], 8
jne 0x410b9b
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x410bae
cmp ecx, 0x29
je 0x410bae
test byte [edi + 0x44], 0x10
jne 0x410bb0
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x410bae
cmp ecx, 0x7d
jne 0x410bb0
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00410080
jmp 0x410d9e
cmp eax, ebx
je 0x410c26
cmp word [edi + 0x3e], 0x42
jne 0x410c26
lea esi, [edi + 0x18]
call fcn.00411960
mov eax, dword [edi + 0x1c]
xor dword [eax + 8], 1
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x410c1a
cmp word [eax], 0x5c
jne 0x410c17
add eax, 2
cmp eax, ecx
je 0x410c02
test byte [edi + 0x44], 8
jne 0x410c02
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x410c15
cmp ecx, 0x29
je 0x410c15
test byte [edi + 0x44], 0x10
jne 0x410c17
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x410c15
cmp ecx, 0x7d
jne 0x410c17
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00410080
jmp 0x410d9e
mov eax, edi
call fcn.00411600
jmp 0x410d97
cmp ecx, 0x5b
jne 0x410ce3
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x410c7c
cmp word [eax], 0x5c
jne 0x410c79
add eax, 2
cmp eax, ecx
je 0x410c64
test byte [edi + 0x44], 8
jne 0x410c64
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x410c77
cmp ecx, 0x29
je 0x410c77
test byte [edi + 0x44], 0x10
jne 0x410c79
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x410c77
cmp ecx, 0x7d
jne 0x410c79
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00410080
call fcn.00411550
cmp dword [edi + 0x40], 0x5d
je 0x410c98
push 4
call fcn.00417c64
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x410cd9
cmp word [eax], 0x5c
jne 0x410cd6
add eax, 2
cmp eax, ecx
je 0x410cc1
test byte [edi + 0x44], 8
jne 0x410cc1
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x410cd4
cmp ecx, 0x29
je 0x410cd4
test byte [edi + 0x44], 0x10
jne 0x410cd6
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x410cd4
cmp ecx, 0x7d
jne 0x410cd6
mov dword [edi], eax
add dword [edi], 2
call fcn.00410080
jmp 0x410d97
cmp ecx, 0x28
jne 0x410db1
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x410d2d
cmp word [eax], 0x5c
jne 0x410d2a
add eax, 2
cmp eax, ecx
je 0x410d15
test byte [edi + 0x44], 8
jne 0x410d15
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x410d28
cmp ecx, 0x29
je 0x410d28
test byte [edi + 0x44], 0x10
jne 0x410d2a
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x410d28
cmp ecx, 0x7d
jne 0x410d2a
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00410080
mov eax, edi
call fcn.004116d0
cmp dword [edi + 0x40], 0x29
mov bl, al
je 0x410d4d
push 5
call fcn.00417c64
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x410d8e
cmp word [eax], 0x5c
jne 0x410d8b
add eax, 2
cmp eax, ecx
je 0x410d76
test byte [edi + 0x44], 8
jne 0x410d76
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x410d89
cmp ecx, 0x29
je 0x410d89
test byte [edi + 0x44], 0x10
jne 0x410d8b
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x410d89
cmp ecx, 0x7d
jne 0x410d8b
mov dword [edi], eax
add dword [edi], 2
call fcn.00410080
test bl, bl
je 0x410d9e
mov eax, edi
call fcn.00411780
cmp dword [edi + 0x40], 0xffff
mov al, 1
jne 0x410a30
pop edi
pop esi
pop ebx
ret
cmp ecx, 0x5e
jne 0x410dc7
lea esi, [edi + 0x18]
call fcn.004118c0
mov eax, edi
call fcn.004109c0
jmp 0x410d9e
cmp ecx, 0x24
jne 0x410ddd
lea esi, [edi + 0x18]
call fcn.00411910
mov eax, edi
call fcn.004109c0
jmp 0x410d9e
cmp ecx, 0x2a
je 0x410e39
cmp ecx, 0x2b
je 0x410e39
cmp ecx, 0x3f
je 0x410e39
cmp ecx, 0x7b
je 0x410e39
cmp ecx, 0x7d
jne 0x410e07
test dword [edi + 0x44], edx
jne 0x410e07
push 6
call fcn.00417c64
add esp, 4
jmp 0x410d97
cmp ecx, 0x5d
jne 0x410e20
test dword [edi + 0x44], edx
jne 0x410e20
push 4
call fcn.00417c64
add esp, 4
jmp 0x410d97
movzx edx, word [edi + 0x3e]
lea eax, [edi + 0x18]
push edx
call fcn.004119b0
mov eax, edi
call fcn.004109c0
jmp 0x410d97
push 0xa
call fcn.00417c64
add esp, 4
jmp 0x410d97