Function at 0x449ac0
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
push edi
mov edi, eax
xor al, al
cmp dword [edi + 0x40], 0xffff
je 0x449d44
mov ecx, dword [edi + 0x40]
cmp ecx, 0x7c
je 0x449d44
xor ebx, ebx
cmp ecx, 0x29
jne 0x449b09
cmp dword [edi + 0x10], ebx
jne 0x449d44
mov eax, 0x10000000
test dword [edi + 0x44], eax
jne 0x449b0e
push 5
call fcn.0049908d
add esp, 4
jmp 0x449d2e
mov eax, 0x10000000
cmp ecx, 0x2e
jne 0x449bb1
push 0x14
call fcn.004a9f06
add esp, 4
cmp eax, ebx
je 0x449b3d
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 0x449b3f
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 0x449b5b
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 0x449ba5
cmp word [eax], 0x5c
jne 0x449ba2
add eax, 2
cmp eax, ecx
je 0x449b8d
test byte [edi + 0x44], 8
jne 0x449b8d
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x449ba0
cmp ecx, 0x29
je 0x449ba0
test byte [edi + 0x44], 0x10
jne 0x449ba2
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x449ba0
cmp ecx, 0x7d
jne 0x449ba2
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.004491f0
jmp 0x449d2e
cmp ecx, 0x5c
jne 0x449c59
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x449bfb
cmp word [eax], 0x5c
jne 0x449bf8
add eax, 2
cmp eax, ecx
je 0x449be3
test byte [edi + 0x44], 8
jne 0x449be3
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x449bf6
cmp ecx, 0x29
je 0x449bf6
test byte [edi + 0x44], 0x10
jne 0x449bf8
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x449bf6
cmp ecx, 0x7d
jne 0x449bf8
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.004491f0
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x449c27
cmp word [edi + 0x3e], 0x62
jne 0x449c27
lea esi, [edi + 0x18]
call fcn.0044ade0
mov eax, edi
call fcn.00449a70
jmp 0x449d35
cmp eax, ebx
je 0x449c4d
cmp word [edi + 0x3e], 0x42
jne 0x449c4d
lea esi, [edi + 0x18]
call fcn.0044ade0
mov eax, dword [edi + 0x1c]
xor dword [eax + 8], 1
mov eax, edi
call fcn.00449a70
jmp 0x449d35
mov eax, edi
call fcn.0044aae0
jmp 0x449d2e
cmp ecx, 0x5b
jne 0x449d07
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x449ca3
cmp word [eax], 0x5c
jne 0x449ca0
add eax, 2
cmp eax, ecx
je 0x449c8b
test byte [edi + 0x44], 8
jne 0x449c8b
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x449c9e
cmp ecx, 0x29
je 0x449c9e
test byte [edi + 0x44], 0x10
jne 0x449ca0
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x449c9e
cmp ecx, 0x7d
jne 0x449ca0
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.004491f0
call fcn.0044aa70
cmp dword [edi + 0x40], 0x5d
je 0x449cbf
push 4
call fcn.0049908d
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x449d00
cmp word [eax], 0x5c
jne 0x449cfd
add eax, 2
cmp eax, ecx
je 0x449ce8
test byte [edi + 0x44], 8
jne 0x449ce8
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x449cfb
cmp ecx, 0x29
je 0x449cfb
test byte [edi + 0x44], 0x10
jne 0x449cfd
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x449cfb
cmp ecx, 0x7d
jne 0x449cfd
mov dword [edi], eax
add dword [edi], 2
call fcn.004491f0
jmp 0x449d2e
cmp ecx, 0x28
jne 0x449d48
mov eax, edi
call fcn.00449a70
mov esi, edi
call fcn.0044abb0
mov bl, al
push 0x29
mov ecx, 5
mov eax, edi
call fcn.0044aa00
test bl, bl
je 0x449d35
mov eax, edi
call fcn.0044ac60
cmp dword [edi + 0x40], 0xffff
mov al, 1
jne 0x449ad4
pop edi
pop esi
pop ebx
ret
cmp ecx, 0x5e
jne 0x449d5e
lea esi, [edi + 0x18]
call fcn.0044ad90
mov eax, edi
call fcn.00449a70
jmp 0x449d35
cmp ecx, 0x24
jne 0x449d74
lea esi, [edi + 0x18]
call fcn.0043de70
mov eax, edi
call fcn.00449a70
jmp 0x449d35
cmp ecx, 0x2a
je 0x449dd0
cmp ecx, 0x2b
je 0x449dd0
cmp ecx, 0x3f
je 0x449dd0
cmp ecx, 0x7b
je 0x449dd0
cmp ecx, 0x7d
jne 0x449d9e
test dword [edi + 0x44], eax
jne 0x449d9e
push 6
call fcn.0049908d
add esp, 4
jmp 0x449d2e
cmp ecx, 0x5d
jne 0x449db7
test dword [edi + 0x44], eax
jne 0x449db7
push 4
call fcn.0049908d
add esp, 4
jmp 0x449d2e
movzx edx, word [edi + 0x3e]
lea eax, [edi + 0x18]
push edx
call fcn.0044ae30
mov eax, edi
call fcn.00449a70
jmp 0x449d2e
push 0xa
call fcn.0049908d
add esp, 4
jmp 0x449d2e