Function at 0x1225d10
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 0x122601d
jmp 0x1225d32
xor ebx, ebx
mov ecx, dword [edi + 0x40]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x122601d
cmp ecx, 0x29
jne 0x1225d65
cmp dword [edi + 0x10], ebx
jne 0x122601d
test dword [edi + 0x44], edx
jne 0x1225d65
push 5
call fcn.0122e2e3
add esp, 4
jmp 0x1226007
cmp ecx, 0x2e
jne 0x1225e08
push 0x14
call fcn.0123e9d2
add esp, 4
cmp eax, ebx
je 0x1225d94
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 0x1225d96
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 0x1225db2
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 0x1225dfc
cmp word [eax], 0x5c
jne 0x1225df9
add eax, 2
cmp eax, ecx
je 0x1225de4
test byte [edi + 0x44], 8
jne 0x1225de4
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x1225df7
cmp ecx, 0x29
je 0x1225df7
test byte [edi + 0x44], 0x10
jne 0x1225df9
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1225df7
cmp ecx, 0x7d
jne 0x1225df9
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.01224630
jmp 0x1226007
cmp ecx, 0x5c
jne 0x1225ef1
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x1225e52
cmp word [eax], 0x5c
jne 0x1225e4f
add eax, 2
cmp eax, ecx
je 0x1225e3a
test byte [edi + 0x44], 8
jne 0x1225e3a
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x1225e4d
cmp ecx, 0x29
je 0x1225e4d
test byte [edi + 0x44], 0x10
jne 0x1225e4f
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1225e4d
cmp ecx, 0x7d
jne 0x1225e4f
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.01224630
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x1225ebf
cmp word [edi + 0x3e], 0x62
jne 0x1225ebf
lea esi, [edi + 0x18]
call fcn.01227660
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x1225eb3
cmp word [eax], 0x5c
jne 0x1225eb0
add eax, 2
cmp eax, ecx
je 0x1225e9b
test byte [edi + 0x44], 8
jne 0x1225e9b
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x1225eae
cmp ecx, 0x29
je 0x1225eae
test byte [edi + 0x44], 0x10
jne 0x1225eb0
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1225eae
cmp ecx, 0x7d
jne 0x1225eb0
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.01224630
jmp 0x122600e
cmp eax, ebx
je 0x1225ee5
cmp word [edi + 0x3e], 0x42
jne 0x1225ee5
lea esi, [edi + 0x18]
call fcn.01227660
mov eax, dword [edi + 0x1c]
xor dword [eax + 8], 1
mov eax, edi
call fcn.01225cc0
jmp 0x122600e
mov eax, edi
call fcn.01227300
jmp 0x1226007
cmp ecx, 0x5b
jne 0x1225f9f
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x1225f3b
cmp word [eax], 0x5c
jne 0x1225f38
add eax, 2
cmp eax, ecx
je 0x1225f23
test byte [edi + 0x44], 8
jne 0x1225f23
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x1225f36
cmp ecx, 0x29
je 0x1225f36
test byte [edi + 0x44], 0x10
jne 0x1225f38
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1225f36
cmp ecx, 0x7d
jne 0x1225f38
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.01224630
call fcn.01227250
cmp dword [edi + 0x40], 0x5d
je 0x1225f57
push 4
call fcn.0122e2e3
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x1225f98
cmp word [eax], 0x5c
jne 0x1225f95
add eax, 2
cmp eax, ecx
je 0x1225f80
test byte [edi + 0x44], 8
jne 0x1225f80
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x1225f93
cmp ecx, 0x29
je 0x1225f93
test byte [edi + 0x44], 0x10
jne 0x1225f95
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1225f93
cmp ecx, 0x7d
jne 0x1225f95
mov dword [edi], eax
add dword [edi], 2
call fcn.01224630
jmp 0x1226007
cmp ecx, 0x28
jne 0x1226021
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x1225fe5
cmp word [eax], 0x5c
jne 0x1225fe2
add eax, 2
cmp eax, ecx
je 0x1225fcd
test byte [edi + 0x44], 8
jne 0x1225fcd
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x1225fe0
cmp ecx, 0x29
je 0x1225fe0
test byte [edi + 0x44], 0x10
jne 0x1225fe2
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1225fe0
cmp ecx, 0x7d
jne 0x1225fe2
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.01224630
mov eax, edi
call fcn.012273d0
mov bl, al
push 0x29
mov ecx, 5
mov eax, edi
call fcn.012271e0
test bl, bl
je 0x122600e
mov eax, edi
call fcn.01227480
cmp dword [edi + 0x40], 0xffff
mov al, 1
jne 0x1225d30
pop edi
pop esi
pop ebx
ret
cmp ecx, 0x5e
jne 0x1226037
lea esi, [edi + 0x18]
call fcn.012275c0
mov eax, edi
call fcn.01225cc0
jmp 0x122600e
cmp ecx, 0x24
jne 0x122604d
lea esi, [edi + 0x18]
call fcn.01227610
mov eax, edi
call fcn.01225cc0
jmp 0x122600e
cmp ecx, 0x2a
je 0x12260a9
cmp ecx, 0x2b
je 0x12260a9
cmp ecx, 0x3f
je 0x12260a9
cmp ecx, 0x7b
je 0x12260a9
cmp ecx, 0x7d
jne 0x1226077
test dword [edi + 0x44], edx
jne 0x1226077
push 6
call fcn.0122e2e3
add esp, 4
jmp 0x1226007
cmp ecx, 0x5d
jne 0x1226090
test dword [edi + 0x44], edx
jne 0x1226090
push 4
call fcn.0122e2e3
add esp, 4
jmp 0x1226007
movzx edx, word [edi + 0x3e]
lea eax, [edi + 0x18]
push edx
call fcn.012276b0
mov eax, edi
call fcn.01225cc0
jmp 0x1226007
push 0xa
call fcn.0122e2e3
add esp, 4
jmp 0x1226007