Function at 0x444a00
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x444ee5
lea edi, [esi + 8]
nop word [eax + eax]
cmp eax, 0x7c
je 0x444ee5
cmp eax, 0x29
jne 0x444a4a
cmp dword [esi + 0x10], 0
jne 0x444ee5
test dword [esi + 0x50], 0x10000000
je 0x444ef5
jmp 0x444e7f
cmp eax, 0x2e
jne 0x444ab9
push 5
lea ecx, [esi + 0x24]
call fcn.00444f10
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x444ec6
cmp byte [eax], 0x5c
jne 0x444cbb
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x444aaf
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x444a8f
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x444aa4
cmp cl, 0x29
je 0x444aa4
mov ecx, eax
test bl, 0x10
jne 0x444aaf
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x444aa4
mov edx, ecx
cmp bl, 0x7d
jne 0x444aaf
lea eax, [edx + 1]
inc eax
mov dword [esi], eax
jmp 0x444ec6
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x444ec6
cmp eax, 0x5c
jne 0x444c08
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x444b0e
cmp byte [eax], 0x5c
jne 0x444b0b
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x444b09
test byte [esi + 0x50], 8
jne 0x444aee
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x444b04
cmp cl, 0x29
je 0x444b04
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x444b09
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x444b04
mov edx, ecx
cmp bl, 0x7d
jne 0x444b09
lea eax, [edx + 1]
jmp 0x444b0b
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00443b60
test byte [esi + 0x50], 0x80
je 0x444bfc
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x444b95
push 4
lea ecx, [esi + 0x24]
call fcn.00444f10
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x444b89
cmp byte [eax], 0x5c
jne 0x444b86
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x444b84
test byte [esi + 0x50], 8
jne 0x444b5c
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x444b72
cmp cl, 0x29
je 0x444b72
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x444b84
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x444b72
mov edx, ecx
cmp bl, 0x7d
jne 0x444b84
lea eax, [edx + 1]
mov ecx, esi
inc eax
mov dword [esi], eax
call fcn.00443b60
jmp 0x444ed7
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00443b60
jmp 0x444ed7
cmp al, 0x42
jne 0x444bfc
push 4
lea ecx, [esi + 0x24]
call fcn.00444f10
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x444bf0
cmp byte [eax], 0x5c
jne 0x444bed
lea ebx, [eax + 1]
cmp ebx, ecx
je 0x444bed
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x444bd7
mov dl, byte [ebx]
mov ecx, eax
cmp dl, 0x28
je 0x444bea
cmp dl, 0x29
je 0x444bea
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x444bed
mov dl, byte [ebx]
mov ecx, eax
cmp dl, 0x7b
je 0x444bea
cmp dl, 0x7d
jne 0x444bed
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00443b60
jmp 0x444ed7
mov ecx, esi
call fcn.00445f90
jmp 0x444ecd
cmp eax, 0x5b
jne 0x444cc3
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x444c59
cmp byte [eax], 0x5c
jne 0x444c56
lea edx, [eax + 1]
cmp edx, ecx
je 0x444c56
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x444c40
mov cl, byte [edx]
mov byte [ebp - 1], cl
mov ecx, eax
cmp byte [ebp - 1], 0x28
je 0x444c53
cmp byte [ebp - 1], 0x29
je 0x444c53
test bl, 0x10
jne 0x444c56
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x444c53
cmp dl, 0x7d
jne 0x444c56
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00443b60
mov ecx, esi
call fcn.00445e50
cmp dword [esi + 0x4c], 0x5d
jne 0x444f03
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x444ec6
cmp byte [eax], 0x5c
jne 0x444cbb
lea edx, [eax + 1]
cmp edx, ecx
je 0x444cbb
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x444ca5
mov cl, byte [edx]
mov byte [ebp - 1], cl
mov ecx, eax
cmp byte [ebp - 1], 0x28
je 0x444cb8
cmp byte [ebp - 1], 0x29
je 0x444cb8
test bl, 0x10
jne 0x444cbb
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x444cb8
cmp dl, 0x7d
jne 0x444cbb
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
jmp 0x444ec6
cmp eax, 0x28
jne 0x444d87
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x444d12
cmp byte [eax], 0x5c
jne 0x444d0f
lea edx, [eax + 1]
cmp edx, ecx
je 0x444d0f
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x444cf9
mov bl, byte [edx]
mov ecx, eax
cmp bl, 0x28
je 0x444d0c
cmp bl, 0x29
je 0x444d0c
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x444d0f
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x444d0c
cmp dl, 0x7d
jne 0x444d0f
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00443b60
mov ecx, esi
call fcn.004460e0
cmp dword [esi + 0x4c], 0x29
mov bh, al
jne 0x444ef5
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x444d73
cmp byte [eax], 0x5c
jne 0x444d70
lea edx, [eax + 1]
cmp edx, ecx
je 0x444d70
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x444d5a
mov bl, byte [edx]
mov ecx, eax
cmp bl, 0x28
je 0x444d6d
cmp bl, 0x29
je 0x444d6d
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x444d70
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x444d6d
cmp dl, 0x7d
jne 0x444d70
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00443b60
test bh, bh
je 0x444ed7
jmp 0x444ecd
cmp eax, 0x5e
jne 0x444dde
push 2
lea ecx, [esi + 0x24]
call fcn.00444f10
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x444dd2
cmp byte [eax], 0x5c
jne 0x444dd0
inc eax
cmp eax, ecx
je 0x444dd0
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x444dbf
mov dl, byte [eax]
cmp dl, 0x28
je 0x444dce
cmp dl, 0x29
je 0x444dce
test cl, 0x10
jne 0x444dd0
mov al, byte [eax]
cmp al, 0x7b
je 0x444dce
cmp al, 0x7d
jne 0x444dd0
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.00443b60
jmp 0x444ed7
cmp eax, 0x24
jne 0x444e35
push 3
lea ecx, [esi + 0x24]
call fcn.00444f10
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x444e29
cmp byte [eax], 0x5c
jne 0x444e27
inc eax
cmp eax, ecx
je 0x444e27
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x444e16
mov dl, byte [eax]
cmp dl, 0x28
je 0x444e25
cmp dl, 0x29
je 0x444e25
test cl, 0x10
jne 0x444e27
mov al, byte [eax]
cmp al, 0x7b
je 0x444e25
cmp al, 0x7d
jne 0x444e27
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.00443b60
jmp 0x444ed7
cmp eax, 0x2a
je 0x444eee
cmp eax, 0x2b
je 0x444eee
cmp eax, 0x3f
je 0x444eee
cmp eax, 0x7b
je 0x444eee
cmp eax, 0x7d
jne 0x444e6d
test dword [esi + 0x50], 0x10000000
je 0x444efc
jmp 0x444e7f
cmp eax, 0x5d
jne 0x444e7f
test dword [esi + 0x50], 0x10000000
je 0x444f03
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.004464a0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x444ec6
cmp byte [eax], 0x5c
jne 0x444ec4
inc eax
cmp eax, ecx
je 0x444ec4
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x444eb3
mov dl, byte [eax]
cmp dl, 0x28
je 0x444ec2
cmp dl, 0x29
je 0x444ec2
test cl, 0x10
jne 0x444ec4
mov al, byte [eax]
cmp al, 0x7b
je 0x444ec2
cmp al, 0x7d
jne 0x444ec4
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.00443b60
mov ecx, esi
call fcn.00446270
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x444a20
pop edi
pop esi
mov al, cl
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa
call fcn.00443b50
push 5
call fcn.00443b50
push 6
call fcn.00443b50
push 4
call fcn.00443b50
int3