Function at 0x4b4c1f
Capabilities:
Parse credit card information

Disassembly:
push ebp
lea ebp, [esp - 0x1f9c]
mov eax, 0x201c
call fcn.004cd140
mov eax, dword [0x5402b0]
xor eax, ebp
mov dword [ebp + 0x1f98], eax
mov eax, dword [ebp + 0x1fa4]
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x6c], eax
movzx eax, word [edi]
mov esi, edi
test ax, ax
je 0x4b4d70
movzx eax, ax
cmp ax, 0x3c
je 0x4b4c6d
inc esi
inc esi
movzx eax, word [esi]
test ax, ax
jne 0x4b4c5d
cmp esi, edi
je 0x4b4d70
lea eax, [ebp - 0x68]
mov dword [ebp - 0x70], eax
movzx eax, word [edi]
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x74], esi
test ax, ax
je 0x4b4ca0
movzx eax, ax
cmp ax, 0x26
je 0x4b4ca0
cmp ecx, esi
jae 0x4b4ca2
inc ecx
inc ecx
movzx eax, word [ecx]
test ax, ax
jne 0x4b4c8c
cmp ecx, esi
je 0x4b4ce9
mov eax, esi
sub eax, edi
sar eax, 1
cmp eax, 0x1000
jbe 0x4b4cd1
xor ecx, ecx
push 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004bffc9
pop ecx
mov dword [ebp - 0x70], eax
test eax, eax
je 0x4b4fb9
mov ecx, dword [ebp - 0x70]
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x78]
call fcn.004b5d95
pop ecx
test al, al
je 0x4b4fb9
mov eax, dword [ebp - 0x78]
mov ebx, dword [ebp - 0x74]
jmp 0x4b4d12
cmp eax, ebx
jae 0x4b4d1a
movzx ecx, word [eax]
cmp cx, 0x20
je 0x4b4d10
cmp cx, 0xd
je 0x4b4d10
cmp cx, 0xa
je 0x4b4d10
cmp cx, 9
jne 0x4b4d18
inc eax
inc eax
cmp word [eax], 0
jne 0x4b4cf1
cmp eax, ebx
jne 0x4b4d42
xor ebx, ebx
xor eax, eax
jmp 0x4b4d46
lea edx, [ebx - 2]
movzx ecx, word [edx]
cmp cx, 0x20
je 0x4b4d40
cmp cx, 0xd
je 0x4b4d40
cmp cx, 0xa
je 0x4b4d40
cmp cx, 9
jne 0x4b4d46
mov ebx, edx
cmp ebx, eax
ja 0x4b4d22
mov ecx, dword [ebp - 0x6c]
test ecx, ecx
je 0x4b4d5f
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x4b4d5f
push esi
push edi
push ebx
push eax
mov eax, dword [ebp - 0x6c]
push dword [eax]
call ecx
lea eax, [ebp - 0x68]
cmp dword [ebp - 0x70], eax
je 0x4b4d70
push dword [ebp - 0x70]
call fcn.004c2214
pop ecx
xor ebx, ebx
cmp word [esi], bx
jne 0x4b4d7e
mov eax, esi
jmp 0x4b4fbb
push 2
pop edi
add esi, edi
movzx eax, word [esi]
cmp ax, 0x3f
jne 0x4b4ddb
add esi, edi
movzx eax, word [esi]
mov ecx, esi
cmp ax, bx
je 0x4b4fb9
cmp ax, 0x3f
jne 0x4b4da9
cmp word [esi + 2], 0x3e
je 0x4b4db3
add esi, edi
movzx eax, word [esi]
cmp ax, bx
jne 0x4b4d9c
cmp word [esi], bx
je 0x4b4fb9
mov eax, dword [ebp - 0x6c]
cmp eax, ebx
je 0x4b4dd3
mov eax, dword [eax + 4]
cmp eax, ebx
je 0x4b4dd3
push esi
push ecx
mov ecx, dword [ebp - 0x6c]
push dword [ecx]
call eax
lea eax, [esi + 4]
jmp 0x4b4fbb
cmp ax, 0x21
jne 0x4b4f10
add esi, edi
movzx eax, word [esi]
push 0x2d
pop ecx
cmp ax, cx
jne 0x4b4e4d
cmp word [esi + 2], cx
jne 0x4b4e4d
add esi, 4
movzx eax, word [esi]
mov edx, esi
cmp ax, bx
je 0x4b4fb9
cmp ax, cx
jne 0x4b4e1b
cmp word [esi + 2], cx
jne 0x4b4e1b
cmp word [esi + 4], 0x3e
je 0x4b4e25
add esi, edi
movzx eax, word [esi]
cmp ax, bx
jne 0x4b4e09
cmp word [esi], bx
je 0x4b4fb9
mov eax, dword [ebp - 0x6c]
cmp eax, ebx
je 0x4b4e45
mov eax, dword [eax + 0x20]
cmp eax, ebx
je 0x4b4e45
push esi
push edx
mov ecx, dword [ebp - 0x6c]
push dword [ecx]
call eax
lea eax, [esi + 6]
jmp 0x4b4fbb
cmp ax, 0x5b
jne 0x4b4ec8
cmp word [esi + 2], 0x43
jne 0x4b4ec8
cmp word [esi + 4], 0x44
jne 0x4b4ec8
cmp word [esi + 6], 0x41
jne 0x4b4ec8
cmp word [esi + 8], 0x54
jne 0x4b4ec8
cmp word [esi + 0xa], 0x41
jne 0x4b4ec8
cmp word [esi + 0xc], ax
jne 0x4b4ec8
add esi, 0xe
movzx eax, word [esi]
mov ecx, esi
cmp ax, bx
je 0x4b4fb9
cmp ax, 0x5d
jne 0x4b4ea0
cmp word [esi + 2], ax
jne 0x4b4ea0
cmp word [esi + 4], 0x3e
je 0x4b4eaa
add esi, edi
movzx eax, word [esi]
cmp ax, bx
jne 0x4b4e8d
cmp word [esi], bx
je 0x4b4fb9
mov eax, dword [ebp - 0x6c]
cmp eax, ebx
je 0x4b4e45
mov eax, dword [eax + 0x1c]
cmp eax, ebx
je 0x4b4e45
push esi
push ecx
jmp 0x4b4e3e
sub esi, edi
movzx eax, word [esi]
mov ecx, esi
cmp ax, bx
je 0x4b4fb9
cmp ax, 0x3e
je 0x4b4ee8
add esi, edi
movzx eax, word [esi]
cmp ax, bx
jne 0x4b4ed8
cmp word [esi], bx
je 0x4b4fb9
mov eax, dword [ebp - 0x6c]
cmp eax, ebx
je 0x4b4f08
mov eax, dword [eax + 0x24]
cmp eax, ebx
je 0x4b4f08
push esi
push ecx
mov ecx, dword [ebp - 0x6c]
push dword [ecx]
call eax
lea eax, [esi + 2]
jmp 0x4b4fbb
xor cl, cl
cmp ax, 0x2f
jne 0x4b4f1c
inc cl
add esi, edi
movzx eax, word [esi]
mov edx, esi
cmp ax, bx
je 0x4b4fb9
cmp ax, 0x20
je 0x4b4f58
cmp ax, 0xd
je 0x4b4f58
cmp ax, 0xa
je 0x4b4f58
cmp ax, 9
je 0x4b4f58
cmp ax, 0x3e
je 0x4b4f58
cmp ax, 0x2f
je 0x4b4f58
add esi, edi
movzx eax, word [esi]
cmp ax, bx
jne 0x4b4f2a
cmp word [esi], bx
je 0x4b4fb9
cmp esi, edx
je 0x4b4fb9
test cl, cl
je 0x4b4fd3
mov eax, dword [ebp - 0x6c]
cmp eax, ebx
je 0x4b4fa7
mov eax, dword [eax + 0x10]
cmp eax, ebx
je 0x4b4fa7
mov ecx, dword [ebp - 0x6c]
push esi
push edx
push dword [ecx]
call eax
push 2
xor ebx, ebx
pop edi
jmp 0x4b4fa7
cmp ax, 0x20
je 0x4b4f9b
cmp ax, 0xd
je 0x4b4f9b
cmp ax, 0xa
je 0x4b4f9b
cmp ax, 9
jne 0x4b4faf
cmp ax, 0x3e
je 0x4b4f08
add esi, edi
movzx eax, word [esi]
cmp ax, bx
jne 0x4b4f83
cmp word [esi], 0x3e
je 0x4b4f08
xor eax, eax
mov ecx, dword [ebp + 0x1f98]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004c0985
add ebp, 0x1f9c
leave
ret
cmp dword [ebp - 0x6c], ebx
je 0x4b4feb
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 8]
test eax, eax
je 0x4b4feb
mov ecx, dword [ebp - 0x6c]
push esi
push edx
push dword [ecx]
call eax
push 2
pop ebx
movzx eax, word [esi]
mov ecx, dword [ebp - 0x6c]
push 0x3e
pop edi
test ax, ax
je 0x4b4fb9
push 0xd
pop edx
cmp ax, 0x20
je 0x4b5016
cmp ax, dx
je 0x4b5016
cmp ax, 0xa
je 0x4b5016
cmp ax, 9
jne 0x4b5025
cmp ax, di
je 0x4b5025
add esi, ebx
movzx eax, word [esi]
test ax, ax
jne 0x4b4fff
movzx eax, word [esi]
test ax, ax
je 0x4b4fb9
mov byte [ebp - 0x70], 0
cmp ax, 0x2f
jne 0x4b5049
add esi, ebx
movzx eax, word [esi]
cmp ax, di
jne 0x4b4fb9
mov byte [ebp - 0x70], 1
cmp ax, di
je 0x4b51f9
mov ecx, esi
test ax, ax
je 0x4b4fb9
cmp ax, 0x20
je 0x4b5089
cmp ax, dx
je 0x4b5089
cmp ax, 0xa
je 0x4b5089
cmp ax, 9
je 0x4b5089
cmp ax, 0x3d
je 0x4b5089
cmp ax, di
je 0x4b5089
add esi, ebx
movzx eax, word [esi]
test ax, ax
jne 0x4b505d
movzx eax, word [esi]
test ax, ax
je 0x4b4fb9
cmp ax, di
je 0x4b4fb9
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x80], esi
cmp ax, 0x20
je 0x4b50bb
cmp ax, dx
je 0x4b50bb
cmp ax, 0xa
je 0x4b50bb
cmp ax, 9
jne 0x4b50ca
cmp ax, di
je 0x4b50ca
add esi, ebx
movzx eax, word [esi]
test ax, ax
jne 0x4b50a4
cmp word [esi], 0x3d
jne 0x4b4fb9
add esi, ebx
movzx eax, word [esi]
test ax, ax
je 0x4b4fb9
cmp ax, 0x20
je 0x4b50f9
cmp ax, dx
je 0x4b50f9
cmp ax, 0xa
je 0x4b50f9
cmp ax, 9
jne 0x4b5108
cmp ax, di
je 0x4b5108
add esi, ebx
movzx eax, word [esi]
test ax, ax
jne 0x4b50e2
movzx eax, word [esi]
test ax, ax
je 0x4b4fb9
cmp ax, di
je 0x4b4fb9
cmp ax, 0x22
je 0x4b512d
cmp ax, 0x27
jne 0x4b4fb9
add esi, ebx
movzx edx, ax
mov ecx, esi
jmp 0x4b5142
cmp ax, dx
je 0x4b5153
cmp ax, di
je 0x4b514a
add esi, ebx
movzx eax, word [esi]
test ax, ax
jne 0x4b5136
cmp word [esi], dx
jne 0x4b4fb9
movzx eax, word [ecx]
lea edi, [ebp - 0x68]
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], esi
mov edx, ecx
test ax, ax
je 0x4b517d
movzx eax, ax
cmp ax, 0x26
je 0x4b517d
cmp edx, esi
jae 0x4b517f
add edx, ebx
movzx eax, word [edx]
test ax, ax
jne 0x4b5169
cmp edx, esi
je 0x4b51c3
mov eax, esi
sub eax, ecx
sar eax, 1
cmp eax, 0x1000
jbe 0x4b51ac
xor ecx, ecx
mov edx, ebx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004bffc9
mov edi, eax
pop ecx
test edi, edi
je 0x4b4fb9
lea eax, [ebp - 0x74]
push eax
mov ecx, edi
lea eax, [ebp - 0x78]
call fcn.004b5d95
pop ecx
test al, al
je 0x4b4fb9
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x4b51e4
mov eax, dword [eax + 0x14]
test eax, eax
je 0x4b51e4
push dword [ebp - 0x74]
mov ecx, dword [ebp - 0x6c]
push dword [ebp - 0x78]
push dword [ebp - 0x80]
push dword [ebp - 0x7c]
push dword [ecx]
call eax
lea eax, [ebp - 0x68]
cmp edi, eax
je 0x4b51f2
push edi
call fcn.004c2214
pop ecx
add esi, ebx
jmp 0x4b4fee
test ecx, ecx
je 0x4b4f08
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x4b4f08
push dword [ebp - 0x70]
push dword [ecx]
call eax
jmp 0x4b4f08