Function at 0x410a50
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 0x410ded
jmp 0x410a72
xor ebx, ebx
mov ecx, dword [edi + 0x40]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x410ded
cmp ecx, 0x29
jne 0x410aa5
cmp dword [edi + 0x10], ebx
jne 0x410ded
test dword [edi + 0x44], edx
jne 0x410aa5
push 5
call fcn.00417ca4
add esp, 4
jmp 0x410dd7
cmp ecx, 0x2e
jne 0x410b48
push 0x14
call fcn.0041b1d0
add esp, 4
cmp eax, ebx
je 0x410ad4
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 0x410ad6
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 0x410af2
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 0x410b3c
cmp word [eax], 0x5c
jne 0x410b39
add eax, 2
cmp eax, ecx
je 0x410b24
test byte [edi + 0x44], 8
jne 0x410b24
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x410b37
cmp ecx, 0x29
je 0x410b37
test byte [edi + 0x44], 0x10
jne 0x410b39
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x410b37
cmp ecx, 0x7d
jne 0x410b39
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.004100c0
jmp 0x410dd7
cmp ecx, 0x5c
jne 0x410c72
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x410b92
cmp word [eax], 0x5c
jne 0x410b8f
add eax, 2
cmp eax, ecx
je 0x410b7a
test byte [edi + 0x44], 8
jne 0x410b7a
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x410b8d
cmp ecx, 0x29
je 0x410b8d
test byte [edi + 0x44], 0x10
jne 0x410b8f
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x410b8d
cmp ecx, 0x7d
jne 0x410b8f
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.004100c0
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x410bff
cmp word [edi + 0x3e], 0x62
jne 0x410bff
lea esi, [edi + 0x18]
call fcn.004119a0
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x410bf3
cmp word [eax], 0x5c
jne 0x410bf0
add eax, 2
cmp eax, ecx
je 0x410bdb
test byte [edi + 0x44], 8
jne 0x410bdb
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x410bee
cmp ecx, 0x29
je 0x410bee
test byte [edi + 0x44], 0x10
jne 0x410bf0
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x410bee
cmp ecx, 0x7d
jne 0x410bf0
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.004100c0
jmp 0x410dde
cmp eax, ebx
je 0x410c66
cmp word [edi + 0x3e], 0x42
jne 0x410c66
lea esi, [edi + 0x18]
call fcn.004119a0
mov eax, dword [edi + 0x1c]
xor dword [eax + 8], 1
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x410c5a
cmp word [eax], 0x5c
jne 0x410c57
add eax, 2
cmp eax, ecx
je 0x410c42
test byte [edi + 0x44], 8
jne 0x410c42
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x410c55
cmp ecx, 0x29
je 0x410c55
test byte [edi + 0x44], 0x10
jne 0x410c57
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x410c55
cmp ecx, 0x7d
jne 0x410c57
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.004100c0
jmp 0x410dde
mov eax, edi
call fcn.00411640
jmp 0x410dd7
cmp ecx, 0x5b
jne 0x410d23
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x410cbc
cmp word [eax], 0x5c
jne 0x410cb9
add eax, 2
cmp eax, ecx
je 0x410ca4
test byte [edi + 0x44], 8
jne 0x410ca4
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x410cb7
cmp ecx, 0x29
je 0x410cb7
test byte [edi + 0x44], 0x10
jne 0x410cb9
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x410cb7
cmp ecx, 0x7d
jne 0x410cb9
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.004100c0
call fcn.00411590
cmp dword [edi + 0x40], 0x5d
je 0x410cd8
push 4
call fcn.00417ca4
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x410d19
cmp word [eax], 0x5c
jne 0x410d16
add eax, 2
cmp eax, ecx
je 0x410d01
test byte [edi + 0x44], 8
jne 0x410d01
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x410d14
cmp ecx, 0x29
je 0x410d14
test byte [edi + 0x44], 0x10
jne 0x410d16
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x410d14
cmp ecx, 0x7d
jne 0x410d16
mov dword [edi], eax
add dword [edi], 2
call fcn.004100c0
jmp 0x410dd7
cmp ecx, 0x28
jne 0x410df1
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x410d6d
cmp word [eax], 0x5c
jne 0x410d6a
add eax, 2
cmp eax, ecx
je 0x410d55
test byte [edi + 0x44], 8
jne 0x410d55
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x410d68
cmp ecx, 0x29
je 0x410d68
test byte [edi + 0x44], 0x10
jne 0x410d6a
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x410d68
cmp ecx, 0x7d
jne 0x410d6a
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.004100c0
mov eax, edi
call fcn.00411710
cmp dword [edi + 0x40], 0x29
mov bl, al
je 0x410d8d
push 5
call fcn.00417ca4
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x410dce
cmp word [eax], 0x5c
jne 0x410dcb
add eax, 2
cmp eax, ecx
je 0x410db6
test byte [edi + 0x44], 8
jne 0x410db6
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x410dc9
cmp ecx, 0x29
je 0x410dc9
test byte [edi + 0x44], 0x10
jne 0x410dcb
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x410dc9
cmp ecx, 0x7d
jne 0x410dcb
mov dword [edi], eax
add dword [edi], 2
call fcn.004100c0
test bl, bl
je 0x410dde
mov eax, edi
call fcn.004117c0
cmp dword [edi + 0x40], 0xffff
mov al, 1
jne 0x410a70
pop edi
pop esi
pop ebx
ret
cmp ecx, 0x5e
jne 0x410e07
lea esi, [edi + 0x18]
call fcn.00411900
mov eax, edi
call fcn.00410a00
jmp 0x410dde
cmp ecx, 0x24
jne 0x410e1d
lea esi, [edi + 0x18]
call fcn.00411950
mov eax, edi
call fcn.00410a00
jmp 0x410dde
cmp ecx, 0x2a
je 0x410e79
cmp ecx, 0x2b
je 0x410e79
cmp ecx, 0x3f
je 0x410e79
cmp ecx, 0x7b
je 0x410e79
cmp ecx, 0x7d
jne 0x410e47
test dword [edi + 0x44], edx
jne 0x410e47
push 6
call fcn.00417ca4
add esp, 4
jmp 0x410dd7
cmp ecx, 0x5d
jne 0x410e60
test dword [edi + 0x44], edx
jne 0x410e60
push 4
call fcn.00417ca4
add esp, 4
jmp 0x410dd7
movzx edx, word [edi + 0x3e]
lea eax, [edi + 0x18]
push edx
call fcn.004119f0
mov eax, edi
call fcn.00410a00
jmp 0x410dd7
push 0xa
call fcn.00417ca4
add esp, 4
jmp 0x410dd7