Function at 0x4135e0
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 0x4138ed
jmp 0x413602
xor ebx, ebx
mov ecx, dword [edi + 0x40]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x4138ed
cmp ecx, 0x29
jne 0x413635
cmp dword [edi + 0x10], ebx
jne 0x4138ed
test dword [edi + 0x44], edx
jne 0x413635
push 5
call fcn.0041ac6b
add esp, 4
jmp 0x4138d7
cmp ecx, 0x2e
jne 0x4136d8
push 0x14
call fcn.0041bd9d
add esp, 4
cmp eax, ebx
je 0x413664
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 0x413666
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 0x413682
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 0x4136cc
cmp word [eax], 0x5c
jne 0x4136c9
add eax, 2
cmp eax, ecx
je 0x4136b4
test byte [edi + 0x44], 8
jne 0x4136b4
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x4136c7
cmp ecx, 0x29
je 0x4136c7
test byte [edi + 0x44], 0x10
jne 0x4136c9
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4136c7
cmp ecx, 0x7d
jne 0x4136c9
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00412c40
jmp 0x4138d7
cmp ecx, 0x5c
jne 0x4137c1
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x413722
cmp word [eax], 0x5c
jne 0x41371f
add eax, 2
cmp eax, ecx
je 0x41370a
test byte [edi + 0x44], 8
jne 0x41370a
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x41371d
cmp ecx, 0x29
je 0x41371d
test byte [edi + 0x44], 0x10
jne 0x41371f
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41371d
cmp ecx, 0x7d
jne 0x41371f
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00412c40
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x41378f
cmp word [edi + 0x3e], 0x62
jne 0x41378f
lea esi, [edi + 0x18]
call fcn.00414a30
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x413783
cmp word [eax], 0x5c
jne 0x413780
add eax, 2
cmp eax, ecx
je 0x41376b
test byte [edi + 0x44], 8
jne 0x41376b
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x41377e
cmp ecx, 0x29
je 0x41377e
test byte [edi + 0x44], 0x10
jne 0x413780
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41377e
cmp ecx, 0x7d
jne 0x413780
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00412c40
jmp 0x4138de
cmp eax, ebx
je 0x4137b5
cmp word [edi + 0x3e], 0x42
jne 0x4137b5
lea esi, [edi + 0x18]
call fcn.00414a30
mov eax, dword [edi + 0x1c]
xor dword [eax + 8], 1
mov eax, edi
call fcn.00413590
jmp 0x4138de
mov eax, edi
call fcn.004146d0
jmp 0x4138d7
cmp ecx, 0x5b
jne 0x41386f
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x41380b
cmp word [eax], 0x5c
jne 0x413808
add eax, 2
cmp eax, ecx
je 0x4137f3
test byte [edi + 0x44], 8
jne 0x4137f3
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x413806
cmp ecx, 0x29
je 0x413806
test byte [edi + 0x44], 0x10
jne 0x413808
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x413806
cmp ecx, 0x7d
jne 0x413808
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00412c40
call fcn.00414620
cmp dword [edi + 0x40], 0x5d
je 0x413827
push 4
call fcn.0041ac6b
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x413868
cmp word [eax], 0x5c
jne 0x413865
add eax, 2
cmp eax, ecx
je 0x413850
test byte [edi + 0x44], 8
jne 0x413850
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x413863
cmp ecx, 0x29
je 0x413863
test byte [edi + 0x44], 0x10
jne 0x413865
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x413863
cmp ecx, 0x7d
jne 0x413865
mov dword [edi], eax
add dword [edi], 2
call fcn.00412c40
jmp 0x4138d7
cmp ecx, 0x28
jne 0x4138f1
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x4138b5
cmp word [eax], 0x5c
jne 0x4138b2
add eax, 2
cmp eax, ecx
je 0x41389d
test byte [edi + 0x44], 8
jne 0x41389d
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x4138b0
cmp ecx, 0x29
je 0x4138b0
test byte [edi + 0x44], 0x10
jne 0x4138b2
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4138b0
cmp ecx, 0x7d
jne 0x4138b2
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00412c40
mov eax, edi
call fcn.004147a0
mov bl, al
push 0x29
mov ecx, 5
mov eax, edi
call fcn.004145b0
test bl, bl
je 0x4138de
mov eax, edi
call fcn.00414850
cmp dword [edi + 0x40], 0xffff
mov al, 1
jne 0x413600
pop edi
pop esi
pop ebx
ret
cmp ecx, 0x5e
jne 0x413907
lea esi, [edi + 0x18]
call fcn.00414990
mov eax, edi
call fcn.00413590
jmp 0x4138de
cmp ecx, 0x24
jne 0x41391d
lea esi, [edi + 0x18]
call fcn.004149e0
mov eax, edi
call fcn.00413590
jmp 0x4138de
cmp ecx, 0x2a
je 0x413979
cmp ecx, 0x2b
je 0x413979
cmp ecx, 0x3f
je 0x413979
cmp ecx, 0x7b
je 0x413979
cmp ecx, 0x7d
jne 0x413947
test dword [edi + 0x44], edx
jne 0x413947
push 6
call fcn.0041ac6b
add esp, 4
jmp 0x4138d7
cmp ecx, 0x5d
jne 0x413960
test dword [edi + 0x44], edx
jne 0x413960
push 4
call fcn.0041ac6b
add esp, 4
jmp 0x4138d7
movzx edx, word [edi + 0x3e]
lea eax, [edi + 0x18]
push edx
call fcn.00414a80
mov eax, edi
call fcn.00413590
jmp 0x4138d7
push 0xa
call fcn.0041ac6b
add esp, 4
jmp 0x4138d7