Function at 0x447a20
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
push edi
mov edi, eax
xor al, al
cmp dword [edi + 0x40], 0xffff
je 0x447ca4
mov ecx, dword [edi + 0x40]
cmp ecx, 0x7c
je 0x447ca4
xor ebx, ebx
cmp ecx, 0x29
jne 0x447a69
cmp dword [edi + 0x10], ebx
jne 0x447ca4
mov eax, 0x10000000
test dword [edi + 0x44], eax
jne 0x447a6e
push 5
call fcn.004726a7
add esp, 4
jmp 0x447c8e
mov eax, 0x10000000
cmp ecx, 0x2e
jne 0x447b11
push 0x14
call fcn.004739eb
add esp, 4
cmp eax, ebx
je 0x447a9d
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 0x447a9f
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 0x447abb
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 0x447b05
cmp word [eax], 0x5c
jne 0x447b02
add eax, 2
cmp eax, ecx
je 0x447aed
test byte [edi + 0x44], 8
jne 0x447aed
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x447b00
cmp ecx, 0x29
je 0x447b00
test byte [edi + 0x44], 0x10
jne 0x447b02
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x447b00
cmp ecx, 0x7d
jne 0x447b02
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00446c40
jmp 0x447c8e
cmp ecx, 0x5c
jne 0x447bb9
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x447b5b
cmp word [eax], 0x5c
jne 0x447b58
add eax, 2
cmp eax, ecx
je 0x447b43
test byte [edi + 0x44], 8
jne 0x447b43
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x447b56
cmp ecx, 0x29
je 0x447b56
test byte [edi + 0x44], 0x10
jne 0x447b58
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x447b56
cmp ecx, 0x7d
jne 0x447b58
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00446c40
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x447b87
cmp word [edi + 0x3e], 0x62
jne 0x447b87
lea esi, [edi + 0x18]
call fcn.00406870
mov eax, edi
call fcn.004479d0
jmp 0x447c95
cmp eax, ebx
je 0x447bad
cmp word [edi + 0x3e], 0x42
jne 0x447bad
lea esi, [edi + 0x18]
call fcn.00406870
mov eax, dword [edi + 0x1c]
xor dword [eax + 8], 1
mov eax, edi
call fcn.004479d0
jmp 0x447c95
mov eax, edi
call fcn.00448170
jmp 0x447c8e
cmp ecx, 0x5b
jne 0x447c67
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x447c03
cmp word [eax], 0x5c
jne 0x447c00
add eax, 2
cmp eax, ecx
je 0x447beb
test byte [edi + 0x44], 8
jne 0x447beb
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x447bfe
cmp ecx, 0x29
je 0x447bfe
test byte [edi + 0x44], 0x10
jne 0x447c00
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x447bfe
cmp ecx, 0x7d
jne 0x447c00
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00446c40
call fcn.00448100
cmp dword [edi + 0x40], 0x5d
je 0x447c1f
push 4
call fcn.004726a7
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x447c60
cmp word [eax], 0x5c
jne 0x447c5d
add eax, 2
cmp eax, ecx
je 0x447c48
test byte [edi + 0x44], 8
jne 0x447c48
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x447c5b
cmp ecx, 0x29
je 0x447c5b
test byte [edi + 0x44], 0x10
jne 0x447c5d
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x447c5b
cmp ecx, 0x7d
jne 0x447c5d
mov dword [edi], eax
add dword [edi], 2
call fcn.00446c40
jmp 0x447c8e
cmp ecx, 0x28
jne 0x447ca8
mov eax, edi
call fcn.004479d0
mov esi, edi
call fcn.00448240
mov bl, al
push 0x29
mov ecx, 5
mov eax, edi
call fcn.00448090
test bl, bl
je 0x447c95
mov eax, edi
call fcn.004482f0
cmp dword [edi + 0x40], 0xffff
mov al, 1
jne 0x447a34
pop edi
pop esi
pop ebx
ret
cmp ecx, 0x5e
jne 0x447cbe
lea esi, [edi + 0x18]
call fcn.00448420
mov eax, edi
call fcn.004479d0
jmp 0x447c95
cmp ecx, 0x24
jne 0x447cd4
lea esi, [edi + 0x18]
call fcn.00448470
mov eax, edi
call fcn.004479d0
jmp 0x447c95
cmp ecx, 0x2a
je 0x447d30
cmp ecx, 0x2b
je 0x447d30
cmp ecx, 0x3f
je 0x447d30
cmp ecx, 0x7b
je 0x447d30
cmp ecx, 0x7d
jne 0x447cfe
test dword [edi + 0x44], eax
jne 0x447cfe
push 6
call fcn.004726a7
add esp, 4
jmp 0x447c8e
cmp ecx, 0x5d
jne 0x447d17
test dword [edi + 0x44], eax
jne 0x447d17
push 4
call fcn.004726a7
add esp, 4
jmp 0x447c8e
movzx edx, word [edi + 0x3e]
lea eax, [edi + 0x18]
push edx
call fcn.004484c0
mov eax, edi
call fcn.004479d0
jmp 0x447c8e
push 0xa
call fcn.004726a7
add esp, 4
jmp 0x447c8e